Reinforcement StraightRebar/es: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
(36 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
|||
{{GuiCommandAddon|Name=Arch Rebar Straight |Workbenches=[[Arch Module|Arch]]|Addon=Reinforcement|MenuLocation=Arch → Rebar tools|Shortcut=None|SeeAlso=[[Arch_Rebar_UShape|UShape Rebar]]}} |
|||
<div class="mw-translate-fuzzy"> |
|||
{{docnav/es|[[Arch_CompRebarStraight|Arch CompRebarStraight/es]]|[[Arch_Rebar_UShape|UShape Rebar/es]]|[[Arch_Workbench/es|Arch]]|IconL=Arch_CompRebarStraight.png|IconC=Workbench_Arch.svg|IconR=Arch_Rebar_UShape.png}} |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
{{GuiCommand/es |
|||
|Name=Arch Rebar UShape |
|||
|Name/es= Arch Barra de Refuerzo en Forma de U |
|||
|MenuLocation=Arch → Rebar tools |
|||
|Workbenches=[[Arch_Workbench/es|Arch]] |
|||
|Shortcut=None |
|||
|SeeAlso=[[Arch_Rebar_LShape/es|LShape Rebar]] |
|||
|Addon=Reinforcement |
|||
}} |
|||
</div> |
|||
==Description== |
|||
<div class="mw-translate-fuzzy"> |
|||
== Descripción == |
== Descripción == |
||
La herramienta {{KEY | [[Image: Arch_Rebar_Straight.png | 16px]] Straight Rebar}} permite al usuario crear una barra de refuerzo recta en el elemento estructural. |
La herramienta {{KEY | [[Image: Arch_Rebar_Straight.png | 16px]] Straight Rebar}} permite al usuario crear una barra de refuerzo recta en el elemento estructural. |
||
</div> |
|||
This tool is part of the [[Reinforcement_Workbench|Reinforcement Workbench]], an [[External_workbenches|external workbench]] that can be installed with the [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr|Addon Manager]]. |
|||
[[Image:Arch_Rebar_Straight_example.png|400px]] |
|||
<div class="mw-translate-fuzzy"> |
|||
[[Image:StraightRebar.png|800px]] |
[[Image:StraightRebar.png|800px]] |
||
</div> |
|||
<span id="Usage"></span> |
|||
==Utilización== |
==Utilización== |
||
<div class="mw-translate-fuzzy"> |
|||
# Crear un elemento [[Arch Structure | structure]] |
# Crear un elemento [[Arch Structure | structure]] |
||
# Seleccione cualquier cara de la estructura |
# Seleccione cualquier cara de la estructura |
||
Line 19: | Line 46: | ||
# Haga clic en {{KEY | OK}} o {{KEY | Apply}} para generar las barras de refuerzo |
# Haga clic en {{KEY | OK}} o {{KEY | Apply}} para generar las barras de refuerzo |
||
# Haga clic en {{KEY | Cancel}} para salir del panel de tareas |
# Haga clic en {{KEY | Cancel}} para salir del panel de tareas |
||
</div> |
|||
[[Image:StraightRebarDialog.png|250px]] |
|||
==Propiedades== |
|||
{{Caption|Task panel for the tool}} |
|||
<span id="Properties"></span> |
|||
* {{PropertyData|Orientation}}: It decides the orientation of the rebar (like a bottom, top, right and left). |
|||
==Propiedades== |
|||
* {{PropertyData|Front Cover}}: The distance between rebar and selected face. |
|||
* {{PropertyData|Right Cover}}: The distance between the right end of the rebar to right face of the structure. |
|||
* {{PropertyData|Left Cover}}: The distance between the left end of the rebar to the left face of the structure. |
|||
* {{PropertyData|Cover along}}: These property facilities the user to specify either top or bottom cover. |
|||
* {{PropertyData|Bottom Cover}}: The distance between rebar from the bottom face of the structure. |
|||
* {{PropertyData|Top Cover}}: The distance between rebar from the top face of the structure. |
|||
* {{PropertyData|Amount}}: The amount of rebars. |
|||
* {{PropertyData|Spacing}}: The distance between the axes of each bar. |
|||
* {{PropertyData/es | Orientation}}: Decide la orientación de la barra de refuerzo (como una parte inferior, superior, derecha e izquierda). |
|||
* {{PropertyData/es | Front Cover}}: la distancia entre la barra de refuerzo y la cara seleccionada. |
|||
* {{PropertyData/es | Right Cover}}: la distancia entre el extremo derecho de la barra de refuerzo a la derecha de la estructura. |
|||
* {{PropertyData/es | Left Cover}}: la distancia entre el extremo izquierdo de la barra de refuerzo a la cara izquierda de la estructura. |
|||
* {{PropertyData/es | Cover along}}: estas propiedades le permiten al usuario especificar la tapa superior o inferior. |
|||
* {{PropertyData/es | Bottom Cover}}: la distancia entre las barras de refuerzo desde la cara inferior de la estructura. |
|||
* {{PropertyData/es | Top Cover}}: la distancia entre barras de refuerzo desde la cara superior de la estructura. |
|||
* {{PropertyData/es | Amount}}: la cantidad de barras de refuerzo. |
|||
* {{PropertyData/es | Spacing}}: la distancia entre los ejes de cada barra. |
|||
==Scripting== |
|||
<div class="mw-translate-fuzzy"> |
|||
==Programación== |
==Programación== |
||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
La herramienta {{KEY | [[Image: Arch_Rebar_Straight.png | 16px]] Straight Rebar}} puede usarse en [[macros]] y desde la consola de python utilizando la siguiente función: |
|||
La herramienta {{KEY | [[Image: Arch_Rebar_Straight.png | 16px]] Straight Rebar}} puede usarse en [[macros/es]] y desde la consola de python utilizando la siguiente función: |
|||
</div> |
|||
{{Code|code= |
|||
'''1. Cuando la orientación de la barra de refuerzo recta es horizontal:''' |
|||
Rebar = makeStraightRebar(f_cover, coverAlong, rt_cover, lb_cover, |
|||
{{Code | code = |
|||
diameter, amount_spacing_check, amount_spacing_value, orientation="Horizontal", |
|||
makeStraightRebar (FrontCover, CoverAlong, RightCover, LeftCover, Diameter, AmountSpacingCheck, AmountSpacingValue, Orientation = "Horizontal", Structure, Facename) |
|||
structure=None, facename=None) |
|||
}} |
}} |
||
* Creates a {{incode|Rebar}} object from the given {{incode|structure}}, which is an [[Arch Structure]], and {{incode|facename}}, which is a face of that structure. |
|||
Nota: |
|||
** If no {{incode|structure}} nor {{incode|facename}} are given, it will take the user selected face as input. |
|||
* Tipo de argumento de CoverAlong es una tupla. Sintaxis: {{KEY|(<Along>, <Value>)}}. Aquí tenemos orientación horizontal para que podamos pasar {{KEY|Top Side}} y {{KEY|Bottom Side}} a <Along> argumentos. |
|||
* {{incode|f_cover}}, {{incode|coverAlong}}, {{incode|rt_cover}}, and {{incode|lb_cover}} are inner offset distances for the rebar elements with respect to the faces of the structure. |
|||
Por ejemplo {{KEY|("Top Side", 20)}} y {{KEY| ("Bottom Side", 20)}} |
|||
** {{incode|f_cover}} is the frontal cover offset. |
|||
** {{incode|coverAlong}} is a tuple {{incode|(position, value)}} that defines the offset value in one position (top, bottom, left, right) depending on the {{incode|orientation}}. |
|||
** {{incode|rt_cover}} is either the right or the top cover offset, depending on the value of {{incode|coverAlong}} and {{incode|orientation}}. |
|||
** {{incode|lb_cover}} is either the left or the bottom cover offset, depending on the value of {{incode|coverAlong}} and {{incode|orientation}}. |
|||
* {{incode|diameter}} is the diameter of the reinforcement bars inside the structure. |
|||
* {{incode|amount_spacing_check}} if it is {{incode|True}} it will create as many reinforcement bars as given by {{incode|amount_spacing_value}}; if it is {{incode|False}} it will create reinforcement bars separated by the numerical value of {{incode|amount_spacing_value}}. |
|||
* {{incode|amount_spacing_value}} specifies the number of reinforcement bars, or the value of the separation between them, depending on {{incode|amount_spacing_check}}. |
|||
* {{incode|orientation}} specifies the orientation of the rebar; it can be {{incode|"Horizontal"}} or {{incode|"Vertical"}}. |
|||
Depending on the orientation of the rebar, the function can be called in two general ways by setting {{incode|coverAlong}} appropriately. |
|||
=== The rebar is horizontal === |
|||
'''2. Cuando la orientación de la barra de refuerzo recta es vertical:''' |
|||
{{Code|code= |
{{Code|code= |
||
Rebar = makeStraightRebar(f_cover, ("Top Side", value), right_cover, left_cover, ...) |
|||
makeStraightRebar(FrontCover, CoverAlong, TopCover, BottomCover, Diameter, AmountSpacingCheck, AmountSpacingValue, Orientation = "Horizontal", Structure, Facename) |
|||
Rebar = makeStraightRebar(f_cover, ("Bottom Side", value), right_cover, left_cover, ...) |
|||
}} |
}} |
||
* {{incode|coverAlong}} is a tuple with either a {{incode|"Top Side"}} or a {{incode|"Bottom Side"}} offset {{incode|value}}. |
|||
Nota: |
|||
* In this case {{incode|rt_cover}} refers to the {{incode|right_cover}} offset, and {{incode|lb_cover}} refers to the {{incode|left_cover}} offset. |
|||
* Tipo de argumento de CoverAlong es una tupla. Sintaxis: {{KEY|(<Along>, <Value>)}}. Aquí tenemos orientación vertical para que podamos pasar {{KEY|Left Side}} y {{KEY|Right Side}} a <Along> argumentos. |
|||
Por ejemplo {{KEY|("Left Side", 20)}} y {{KEY| ("Right Side", 20)}} |
|||
=== The rebar is vertical === |
|||
---- |
|||
{{Code|code= |
|||
Rebar = makeStraightRebar(f_cover, ("Left Side", value), top_cover, bottom_cover, ...) |
|||
Rebar = makeStraightRebar(f_cover, ("Right Side", value), top_cover, bottom_cover, ...) |
|||
}} |
|||
* {{incode|coverAlong}} is a tuple with either a {{incode|"Left Side"}} or a {{incode|"Right Side"}} offset {{incode|value}}. |
|||
* Agrega un objeto de barra de refuerzo recto al objeto estructural dado. |
|||
* In this case {{incode|rt_cover}} refers to the {{incode|top_cover}} offset, and {{incode|lb_cover}} refers to the {{incode|bottom_cover}} offset. |
|||
* Si no se proporciona Estructura y Facename, tomará la cara seleccionada por el usuario como entrada. |
|||
* Aquí el argumento de CoverAlong es tener tipo tupla. |
|||
* Devuelve el nuevo objeto barra de refuerzo. |
|||
=== Example horizontal === |
|||
Ejemplo: |
|||
Creando barras de refuerzo rectas. |
|||
{{Code |
{{Code|code= |
||
import Arch, StraightRebar |
import Arch, Draft, StraightRebar |
||
structure = Arch.makeStructure(length=1000.0, width=1000.0, height=400.0) |
|||
Structure = Arch.makeStructure(length=1000, width=1000, height=400) |
|||
structure.ViewObject.Transparency = 80 |
|||
Structure.ViewObject.Transparency = 80 |
|||
FreeCAD.ActiveDocument.recompute() |
FreeCAD.ActiveDocument.recompute() |
||
rebar = StraightRebar.makeStraightRebar(20, ("Bottom Side", 20), 20, 20, 8, True, 10, "Horizontal", structure, "Face1") |
|||
Rebar = StraightRebar.makeStraightRebar(50, ("Bottom Side", 20), 100, 100, |
|||
12, True, 5, "Horizontal", Structure, "Face4") |
|||
Rebar.ViewObject.ShapeColor = (0.9, 0.0, 0.0) |
|||
Rebar2 = StraightRebar.makeStraightRebar(50, ("Bottom Side", 50), 100, 100, |
|||
12, True, 5, "Horizontal", Structure, "Face6") |
|||
Rebar2.ViewObject.ShapeColor = (0.0, 0.0, 0.9) |
|||
}} |
}} |
||
===Example vertical === |
|||
Changing properties of Straight rebar. |
|||
{{Code|code= |
|||
import Arch, Draft, StraightRebar |
|||
Structure2 = Arch.makeStructure(length=1000, width=1000, height=400) |
|||
Structure2.ViewObject.Transparency = 80 |
|||
Draft.move(Structure2, FreeCAD.Vector(1500, 0, 0)) |
|||
FreeCAD.ActiveDocument.recompute() |
|||
Rebar3 = StraightRebar.makeStraightRebar(50, ("Left Side", 20), 100, 100, |
|||
12, True, 5, "Vertical", Structure2, "Face4") |
|||
Rebar3.ViewObject.ShapeColor = (0.9, 0.5, 0.0) |
|||
Rebar4 = StraightRebar.makeStraightRebar(50, ("Left Side", 50), 100, 100, |
|||
12, True, 5, "Vertical", Structure2, "Face6") |
|||
Rebar4.ViewObject.ShapeColor = (0.0, 0.5, 0.5) |
|||
}} |
|||
=== Edition of rebar === |
|||
<div class="mw-translate-fuzzy"> |
|||
Cambiando las propiedades de la barra de refuerzo recta. |
|||
</div> |
|||
{{Code|code= |
|||
editStraightRebar(Rebar, f_cover, coverAlong, rt_cover, lb_cover, |
|||
diameter, amount_spacing_check, amount_spacing_value, orientation, |
|||
structure=None, facename=None) |
|||
}} |
|||
* {{incode|Rebar}} is a previously created {{incode|StraightRebar}} object. |
|||
* The other parameters are the same as required by the {{incode|makeStraightRebar()}} function. |
|||
* {{incode|structure}} and {{incode|facename}} may be omitted so that the rebar stays in the original structure. |
|||
Example: |
|||
{{Code|code= |
{{Code|code= |
||
import StraightRebar |
import StraightRebar |
||
StraightRebar.editStraightRebar(rebar, 25, ("Top Side", 20), 20, 20, 8, True, 10, "Horizontal") |
|||
StraightRebar.editStraightRebar(Rebar, 50, ("Top Side", 20), 100, 100, |
|||
24, True, 7, "Horizontal") |
|||
StraightRebar.editStraightRebar(Rebar2, 50, ("Top Side", 50), 100, 100, |
|||
24, True, 7, "Horizontal") |
|||
StraightRebar.editStraightRebar(Rebar3, 50, ("Right Side", 20), 100, 100, |
|||
24, True, 7, "Vertical") |
|||
StraightRebar.editStraightRebar(Rebar4, 50, ("Right Side", 50), 100, 100, |
|||
24, True, 7, "Vertical") |
|||
}} |
}} |
||
{{clear}} |
|||
<div class="mw-translate-fuzzy"> |
|||
<languages/> |
|||
{{docnav/es|[[Arch_CompRebarStraight/es|Arch CompRebarStraight]]|[[Arch_Rebar_UShape/es|UShape Rebar]]|[[Arch_Workbench/es|Arch]]|IconL=Arch_CompRebarStraight.png|IconC=Workbench_Arch.svg|IconR=Arch_Rebar_UShape.png}} |
|||
</div> |
|||
[[Category:External_Command_Reference{{#translation:}}]] |
|||
[[Category:Reinforcement{{#translation:}}]] |
|||
{{Arch_Tools_navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
Latest revision as of 21:45, 9 March 2024
Arch Barra de Refuerzo en Forma de U |
Ubicación en el Menú |
---|
Arch → Rebar tools |
Entornos de trabajo |
Arch |
Atajo de teclado por defecto |
None |
Introducido en versión |
- |
Ver también |
LShape Rebar |
Description
Descripción
La herramienta Straight Rebar permite al usuario crear una barra de refuerzo recta en el elemento estructural.
This tool is part of the Reinforcement Workbench, an external workbench that can be installed with the Addon Manager.
Utilización
- Crear un elemento structure
- Seleccione cualquier cara de la estructura
- A continuación, seleccione Straight Rebar de las herramientas de la barra de refuerzo
- Aparecerá un panel de tareas en el lado izquierdo de la pantalla como se muestra a continuación
- Seleccione la orientación deseada
- Proporcione las entradas como la cubierta frontal, la cubierta lateral derecha, la cubierta lateral izquierda, la cubierta inferior y el diámetro de la barra de refuerzo
- Seleccione el modo de distribución, ya sea cantidad o espaciado
- Si se selecciona el espaciado, un usuario también puede optar por espaciado personalizado
- Coger cara seleccionada es usado para verificar o cambiar la cara para la distribución de barras de refuerzo
- Haga clic en OK o Apply para generar las barras de refuerzo
- Haga clic en Cancel para salir del panel de tareas
Task panel for the tool
Propiedades
- DATOS Orientation: Decide la orientación de la barra de refuerzo (como una parte inferior, superior, derecha e izquierda).
- DATOS Front Cover: la distancia entre la barra de refuerzo y la cara seleccionada.
- DATOS Right Cover: la distancia entre el extremo derecho de la barra de refuerzo a la derecha de la estructura.
- DATOS Left Cover: la distancia entre el extremo izquierdo de la barra de refuerzo a la cara izquierda de la estructura.
- DATOS Cover along: estas propiedades le permiten al usuario especificar la tapa superior o inferior.
- DATOS Bottom Cover: la distancia entre las barras de refuerzo desde la cara inferior de la estructura.
- DATOS Top Cover: la distancia entre barras de refuerzo desde la cara superior de la estructura.
- DATOS Amount: la cantidad de barras de refuerzo.
- DATOS Spacing: la distancia entre los ejes de cada barra.
Scripting
Programación
La herramienta Straight Rebar puede usarse en macros/es y desde la consola de python utilizando la siguiente función:
Rebar = makeStraightRebar(f_cover, coverAlong, rt_cover, lb_cover,
diameter, amount_spacing_check, amount_spacing_value, orientation="Horizontal",
structure=None, facename=None)
- Creates a
Rebar
object from the givenstructure
, which is an Arch Structure, andfacename
, which is a face of that structure.- If no
structure
norfacename
are given, it will take the user selected face as input.
- If no
f_cover
,coverAlong
,rt_cover
, andlb_cover
are inner offset distances for the rebar elements with respect to the faces of the structure.f_cover
is the frontal cover offset.coverAlong
is a tuple(position, value)
that defines the offset value in one position (top, bottom, left, right) depending on theorientation
.rt_cover
is either the right or the top cover offset, depending on the value ofcoverAlong
andorientation
.lb_cover
is either the left or the bottom cover offset, depending on the value ofcoverAlong
andorientation
.
diameter
is the diameter of the reinforcement bars inside the structure.amount_spacing_check
if it isTrue
it will create as many reinforcement bars as given byamount_spacing_value
; if it isFalse
it will create reinforcement bars separated by the numerical value ofamount_spacing_value
.amount_spacing_value
specifies the number of reinforcement bars, or the value of the separation between them, depending onamount_spacing_check
.orientation
specifies the orientation of the rebar; it can be"Horizontal"
or"Vertical"
.
Depending on the orientation of the rebar, the function can be called in two general ways by setting coverAlong
appropriately.
The rebar is horizontal
Rebar = makeStraightRebar(f_cover, ("Top Side", value), right_cover, left_cover, ...)
Rebar = makeStraightRebar(f_cover, ("Bottom Side", value), right_cover, left_cover, ...)
coverAlong
is a tuple with either a"Top Side"
or a"Bottom Side"
offsetvalue
.- In this case
rt_cover
refers to theright_cover
offset, andlb_cover
refers to theleft_cover
offset.
The rebar is vertical
Rebar = makeStraightRebar(f_cover, ("Left Side", value), top_cover, bottom_cover, ...)
Rebar = makeStraightRebar(f_cover, ("Right Side", value), top_cover, bottom_cover, ...)
coverAlong
is a tuple with either a"Left Side"
or a"Right Side"
offsetvalue
.- In this case
rt_cover
refers to thetop_cover
offset, andlb_cover
refers to thebottom_cover
offset.
Example horizontal
import Arch, Draft, StraightRebar
Structure = Arch.makeStructure(length=1000, width=1000, height=400)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()
Rebar = StraightRebar.makeStraightRebar(50, ("Bottom Side", 20), 100, 100,
12, True, 5, "Horizontal", Structure, "Face4")
Rebar.ViewObject.ShapeColor = (0.9, 0.0, 0.0)
Rebar2 = StraightRebar.makeStraightRebar(50, ("Bottom Side", 50), 100, 100,
12, True, 5, "Horizontal", Structure, "Face6")
Rebar2.ViewObject.ShapeColor = (0.0, 0.0, 0.9)
Example vertical
import Arch, Draft, StraightRebar
Structure2 = Arch.makeStructure(length=1000, width=1000, height=400)
Structure2.ViewObject.Transparency = 80
Draft.move(Structure2, FreeCAD.Vector(1500, 0, 0))
FreeCAD.ActiveDocument.recompute()
Rebar3 = StraightRebar.makeStraightRebar(50, ("Left Side", 20), 100, 100,
12, True, 5, "Vertical", Structure2, "Face4")
Rebar3.ViewObject.ShapeColor = (0.9, 0.5, 0.0)
Rebar4 = StraightRebar.makeStraightRebar(50, ("Left Side", 50), 100, 100,
12, True, 5, "Vertical", Structure2, "Face6")
Rebar4.ViewObject.ShapeColor = (0.0, 0.5, 0.5)
Edition of rebar
Cambiando las propiedades de la barra de refuerzo recta.
editStraightRebar(Rebar, f_cover, coverAlong, rt_cover, lb_cover,
diameter, amount_spacing_check, amount_spacing_value, orientation,
structure=None, facename=None)
Rebar
is a previously createdStraightRebar
object.- The other parameters are the same as required by the
makeStraightRebar()
function. structure
andfacename
may be omitted so that the rebar stays in the original structure.
Example:
import StraightRebar
StraightRebar.editStraightRebar(Rebar, 50, ("Top Side", 20), 100, 100,
24, True, 7, "Horizontal")
StraightRebar.editStraightRebar(Rebar2, 50, ("Top Side", 50), 100, 100,
24, True, 7, "Horizontal")
StraightRebar.editStraightRebar(Rebar3, 50, ("Right Side", 20), 100, 100,
24, True, 7, "Vertical")
StraightRebar.editStraightRebar(Rebar4, 50, ("Right Side", 50), 100, 100,
24, True, 7, "Vertical")
Arch
- Elements: Wall, Structure, Curtain Wall, Window, Roof, Space, Stairs, Equipment, Frame, Fence, Truss, Profile, Pipe, Pipe Connector
- Reinforcements: Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement, Custom Rebar
- Panels: Panel, Panel Cut, Panel Sheet, Nest
- Materials: Material, Multi-Material
- Organization: Building Part, Project, Site, Building, Level, External reference, Section Plane, Schedule
- Axes: Axis, Axes system, Grid
- Modification: Cut with plane, Add component, Remove component, Survey
- Utilities: Component, Clone component, Split Mesh, Mesh to Shape, Select non-manifold meshes, Remove Shape from Arch, Close Holes, Merge Walls, Check, Toggle IFC Brep flag, 3 Views from mesh, Create IFC spreadsheet, Toggle Subcomponents
- Additional: Preferences, Import Export Preferences (IFC, DAE, OBJ, JSON, 3DS, SHP), IfcOpenShell, IfcPlusPlus, Arch API
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub