Arch Space

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Arch Space and the translation is 5% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский • ‎українська

{{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.svg Arch Space

Меню прокату
Arch → Space
Ярлик за умовчанням
Введено у версії
Дивись також
Arch Wall/uk, Arch Structure/uk


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.

Arch Space example.jpg

Space object created from an existing solid object, then two wall faces are added as boundaries.


  1. Select an existing solid object, or faces on boundary objects.
  2. Invoke the Arch Space command using several methods:
    • Pressing the Arch Space.svg Arch Space button in the toolbar.
    • Using the S then P keyboard keys
    • Using the Arch → Space entry from the top menu



  • ДаніBase: The base object, if any (must be a solid)
  • ДаніBoundaries: A list of optional boundary elements
  • ДаніArea: The computed floor area of this space
  • ДаніFinishFloor: The finishing of the floor of this space
  • ДаніFinishWalls: The finishing of the walls of this space
  • ДаніFinishCeiling: The finishing of the ceiling of this space
  • ДаніGroup: Objects that are included inside this space, such as furniture
  • ДаніSpaceType: The type of this space
  • ДаніFloorThickness: The thickness of the floor finish
  • ДаніNumberOfPeople: The number of people who typically occupy this space
  • ДаніLightingPower: The electric power needed to light this space in Watts
  • ДаніEquipmentPower: The electric power needed by the equipment of this space in Watts
  • ДаніAutoPower: If True, Equipment Power will be automatically filled by the equipment included in this space
  • ДаніConditioning: The type of air conditioning of this space
  • ДаніInternal: Specifies if this space is internal or external
  • ВиглядText: The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data
  • ВиглядFontName: The name of the font
  • ВиглядTextColor: The color of the text
  • ВиглядFontSize: The size of the text
  • ВиглядFirstLine: The size of the first line of text (multiplies the font size. 1 = same size, 2 = double size, etc..)
  • ВиглядLineSpacing: The space between the lines of text
  • ВиглядTextPosition: The position of the text. Leave (0,0,0) for automatic position
  • ВиглядTextAlign: The justification of the text
  • ВиглядDecimals: The number of decimals to use for calculated texts
  • ВиглядShowUnit: Show the unit suffix or not


  • To create zones that group several spaces, use a 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. introduced in version 0.19


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 given objects or baseobj, 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)


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

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)

# 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}}