Arch Space
Arch Space |
Menu location |
---|
Arch → Space |
Workbenches |
Arch |
Default shortcut |
S P |
Introduced in version |
0.14 |
See also |
Arch Wall, Arch Structure |
Description
The 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, by setting the display mode of the space object to "detailed".
Space object created from an existing solid object, then two wall faces are added as boundaries, and the display mode is set to "detailed" to show the floor area.
How to use
- Select an existing solid object, or faces on boundary objects.
- Press the Arch Space button, or press S, P keys.
Limitations
- The boundaries properties is currently not editable via GUI.
- See the forum announcement.
Properties
- DataBase: The base object, if any (must be a solid)
- DataBoundaries: A list of optional boundary elements
Scripting
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")
- Creates a
Space
object from the givenobjects
orbaseobj
, which can be- one document object, in which case it becomes the base shape of the space object, or
- a list of selection objects as returned by
FreeCADGui.Selection.getSelectionEx()
, or - a list of tuples
(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)
- 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
- 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