Arch Space
This page has been updated for that version.
|
Menu location |
---|
3D/BIM → Space |
Workbenches |
BIM |
Default shortcut |
S P |
Introduced in version |
0.14 |
See also |
None |
Description
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.
Usage
- Select an existing solid object, or faces on boundary objects.
- Invoke the command using several methods:
- Pressing the
Space button in the toolbar.
- Using the S then P keyboard keys
- Using the 3D/BIM → Space entry from the top menu
- Pressing the
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
- DataArea: The computed floor area of this space
- DataFinishFloor: The finishing of the floor of this space
- DataFinishWalls: The finishing of the walls of this space
- DataFinishCeiling: The finishing of the ceiling of this space
- DataGroup: Objects that are included inside this space, such as furniture
- DataSpaceType: The type of this space
- DataFloorThickness: The thickness of the floor finish
- DataNumberOfPeople: The number of people who typically occupy this space
- DataLightingPower: The electric power needed to light this space in Watts
- DataEquipmentPower: The electric power needed by the equipment of this space in Watts
- DataAutoPower: If True, Equipment Power will be automatically filled by the equipment included in this space
- DataConditioning: The type of air conditioning of this space
- DataInternal: Specifies if this space is internal or external
- ViewText: The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data
- ViewFontName: The name of the font
- ViewTextColor: The color of the text
- ViewFontSize: The size of the text
- ViewFirstLine: The size of the first line of text (multiplies the font size. 1 = same size, 2 = double size, etc..)
- ViewLineSpacing: The space between the lines of text
- ViewTextPosition: The position of the text. Leave (0,0,0) for automatic position
- ViewTextAlign: The justification of the text
- ViewDecimals: The number of decimals to use for calculated texts
- ViewShowUnit: Show the unit suffix or not
Options
- To create zones that group several spaces, use an Arch BuildingPart and set its IFC type to "Spatial Zone".
- The Space object has the same display modes as other Arch and Part objects, with one more, called Footprint, that displays only the bottom face of the space.
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)
- 2D drafting: Sketch, Line, Polyline, Circle, Arc, Arc by 3 points, Fillet, Ellipse, Polygon, Rectangle, B-spline, Bézier curve, Cubic Bézier curve, Point
- 3D/BIM: Project, Site, Building, Level, Space, Wall, Curtain Wall, Column, Beam, Slab, Door, Window, Pipe, Pipe Connector, Stairs, Roof, Panel, Frame, Fence, Truss, Equipment
- Reinforcement tools: Custom Rebar, Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement
- Generic 3D tools: Profile, Box, Shape builder..., Facebinder, Objects library, Component, External reference
- Annotation: Text, Shape from text, Aligned dimension, Horizontal dimension, Vertical dimension, Leader, Label, Axis, Axes System, Grid, Section Plane, Hatch, Page, View, Shape-based view
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid, Working Plane Top, Working Plane Front, Working Plane Side
- Modify: Move, Copy, Rotate, Clone, Create simple copy, Make compound, Offset, 2D Offset..., Trimex, Join, Split, Scale, Stretch, Draft to sketch, Upgrade, Downgrade, Add component, Remove component, Array, Path array, Polar array, Point array, Cut with plane, Mirror, Extrude..., Difference, Union, Intersection
- Manage: BIM Setup..., Views manager, Manage project..., Manage doors and windows..., Manage IFC elements..., Manage IFC quantities..., Manage IFC properties..., Manage classification..., Manage layers..., Material, Schedule, Preflight checks..., Annotation styles...
- Utils: Toggle bottom panels, Move to Trash, Working Plane View, Select group, Set slope, Create working plane proxy, Add to construction group, Split Mesh, Mesh to Shape, Select non-manifold meshes, Remove Shape from Arch, Close Holes, Merge Walls, Check, Toggle IFC Brep flag, Toggle subcomponents, Survey, IFC Diff, IFC explorer, Create IFC spreadsheet..., Image plane, Unclone, Rewire, Glue, Reextrude
- Panel tools: Panel, Panel Cut, Panel Sheet, Nest
- Structure tools: Structure, Structural System, Multiple Structures
- IFC tools: IFC Diff..., IFC Expand, Make IFC project, IfcOpenShell update
- Nudge: Nudge Switch, Nudge Up, Nudge Down, Nudge Left, Nudge Right, Nudge Rotate Left, Nudge Rotate Right, Nudge Extend, Nudge Shrink
- Additional: Preferences, Fine tuning, Import Export Preferences, IFC, DAE, OBJ, JSON, 3DS, SHP

- 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, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub