Difference between revisions of "Arch Building"

From FreeCAD Documentation
Jump to navigation Jump to search
m (Change IFC Role to IFC Type)
Line 14: Line 14:
|Name=Arch Building
|Name=Arch Building
|MenuLocation=Arch → Building
|MenuLocation=Arch → Building
|Workbenches=[[Arch Module|Arch]]
|Shortcut={{KEY|B}} {{KEY|U}}
|Shortcut={{KEY|B}} {{KEY|U}}
|SeeAlso=[[Arch BuildingPart|Arch BuildingPart]], [[Arch Site|Arch Site]]
|SeeAlso=[[Arch_BuildingPart|Arch BuildingPart]], [[Arch_Site|Arch Site]]

Revision as of 20:15, 24 November 2020

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎română • ‎svenska • ‎čeština • ‎русский • ‎українська • ‎日本語
Arrow-left.svg Previous: Arch BuildingPart.svg Building Part
Next: Site Arch Site.svg Arrow-right.svg

Arch Building.svg Arch Building

Menu location
Arch → Building
Default shortcut
Introduced in version
See also
Arch BuildingPart, Arch Site


The Arch Building is a special type of FreeCAD group object particularly suited for representing a whole building unit. They are mostly used to organize your model, by containing floor objects.


  1. Optionally, select one or more objects to be included in your new building.
  2. Press the Arch Building.svg Arch Building button, or press the B then U keys.


  • Starting from FreeCAD version 0.18, the Building object is actually a BuildingPart with its DataIFC Type property set to "Building". You can convert any BuildingPart to a Building simply by changing its IFC Type.
  • After creating a building, you can add more objects to it by drag and dropping them in the Tree View or by using the Arch Add.svg Arch Add tool.
  • You can remove objects from a building by drag and dropping them out of it the Tree View or by using the Arch Remove.svg Arch Remove tool.


  • DataBuilding Type: The type of this building, to choose from a list


See also: Arch API and FreeCAD Scripting Basics.

The Building tool can be used in macros and from the Python console by using the following function:

Building = makeBuilding(objectslist=None, baseobj=None, name="Building")
  • Creates a Building object from objectslist, which is a list of objects, or baseobj, which is a Shape.


import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
baseline2 = Draft.makeLine(p1, -1*p2)

Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
Wall2 = Arch.makeWall(baseline2, length=None, width=150, height=1800)

Building = Arch.makeBuilding([Wall1, Wall2])

Site = Arch.makeSite(Building)
Arrow-left.svg Previous: Arch BuildingPart.svg Building Part
Next: Site Arch Site.svg Arrow-right.svg