{{docnav/uk|Roof/uk|Stairs/uk|[[Arch_Module/uk|Arch]uk]|IconL=Arch_Roof.svg |IconC=Workbench_Arch.svg |IconR=Arch_Stairs.svg}}
|
Меню прокату |
---|
Arch → Space |
Верстаки |
Arch |
Ярлик за умовчанням |
S P |
Введено у версії |
0.14 |
Дивись також |
Arch Wall/uk, Arch Structure/uk |
The Arch Space tool allows you to define an empty volume, either by basing it on a solid shape, or by defining its boundaries, or a mix of both. If it is based solely on boundaries, the volume is calculated by starting from the bounding box of all the given boundaries, and subtracting the spaces behind each boundary. The Space object always defines a solid volume. The floor area of a space object, calculated by intersecting a horizontal plane at the center of mass of the space volume, can also be displayed.
Space object created from an existing solid object, then two wall faces are added as boundaries.
Once a space has been created, you can also add or remove boundaries to/from it using the Add or
Remove buttons in the toolbar. Alternatively, you can also do this in the Tasks panel or in the Property editor.
As an example, to add a boundary, given a space that intersects a wall:
The same example: add a boundary, given a space that intersects a wall. This time we're using the Tasks panel:
Yet another alternative: add a boundary, given a space that intersects a wall. This time we're using the Property editor:
An Arch Space object shares the common properties and behaviors of all Arch Components.
Space
Area
): The computed floor area of this space (read-only). Identical to the underlying Arch Component's ДаніHorizontal Area property.Enumeration
): Defines the calculation type for the horizontal area and its perimeter length:
XY-plane projection
: Area is calculated from the space's footprint, that is, its projection on the XY plane. Suitable for spaces with variable heights (e.g. directly under a roof at an angle, with domes, arches, etc).At Center of Mass
: Area is calculated from the space's center of mass. Suitable for a space that has level changes, or a footprint that is based on multiple faces and yet the main area is above the ground (e.g. a table-like space).Bool
): If True, Equipment Power will be automatically filled by the equipment included in this space.LinkSubList
): The objects that make the boundaries of this space object.Enumeration
): The type of air conditioning of this space.Float
): The electric power needed by the equipment of this space in Watts.String
): The finishing of the ceiling of this space.String
): The finishing of the floor of this space.String
): The finishing of the walls of this space.Length
): The thickness of the floor finish.LinkList
): Objects that are included inside this space, such as furnitureBool
): Specifies if this space is internal or external.Float
): The electric power needed to light this space in Watts.Integer
): The number of people who typically occupy this space.Enumeration
): The type of this space.Space
Integer
): The number of decimals to use for calculated texts.Length
): The size of the first line of text (multiplies the font size. 1 = same size, 2 = double size, etc..).Font
): The name of the font.Length
): The size of the text.Float
): The space between the lines of text.Bool
): Show the unit suffix or not.StringList
): The text to show. Use $area, $label, $longname, $description or any other propery name preceded with $ (case insensitive), or $floor, $walls, $ceiling for finishes, to insert the respective data.Enumeration
): The justification of the text.Color
): The color of the text.VectorDistance
): The position of the text. Leave (0,0,0) for automatic position.See also: Arch API and FreeCAD Scripting Basics.
The Space tool can be used in macros and from the Python console by using the following function:
Space = makeSpace(objects=None, baseobj=None, name="Space")
Space
object from the given objects
or baseobj
, which can be
FreeCADGui.Selection.getSelectionEx()
, or(object, subobjectname)
Example:
import FreeCAD, Arch
Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 1000
Box.Width = 1000
Box.Height = 1000
Space = Arch.makeSpace(Box)
Space.ViewObject.LineWidth = 2
FreeCAD.ActiveDocument.recompute()
After a space object is created, selected faces can be added to it with the following code:
import FreeCAD, FreeCADGui, Draft, Arch
points = [FreeCAD.Vector(-500, 0, 0), FreeCAD.Vector(1000, 1000, 0)]
Line = Draft.makeWire(points)
Wall = Arch.makeWall(Line, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()
# Select a face of the wall
selection = FreeCADGui.Selection.getSelectionEx()
Arch.addSpaceBoundaries(Space, selection)
Boundaries can also be removed, again by selecting the indicated faces:
selection = FreeCADGui.Selection.getSelectionEx()
Arch.removeSpaceBoundaries(Space, selection)
{{docnav/uk|Roof/uk|Stairs/uk|[[Arch_Module/uk|Arch]uk]|IconL=Arch_Roof.svg |IconC=Workbench_Arch.svg |IconR=Arch_Stairs.svg}}