Arch Building: Difference between revisions

From FreeCAD Documentation
m (Empty newline)
m (FreeCAD.ActiveDocument.recompute())
Line 65: Line 65:


Site = Arch.makeSite(Building)
Site = Arch.makeSite(Building)
FreeCAD.ActiveDocument.recompute()
}}
}}
<translate>
<translate>

Revision as of 01:13, 1 December 2018

Arch Building

Menu location
Arch → Building
Workbenches
Arch
Default shortcut
B U
Introduced in version
-
See also
Arch BuildingPart, Arch Site

Description

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.

How to use

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

Options

  • Starting from FreeCAD version 0.18, the Building object is actually a BuildingPart with its DataIFC role property set to "Building". You can convert any BuildingPart to a Building simply by changing its IFC role.
  • 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 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 tool.

Properties

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

Scripting

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.

Example:

import FreeCAD, Arch, Draft

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)
FreeCAD.ActiveDocument.recompute()

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

Site = Arch.makeSite(Building)
FreeCAD.ActiveDocument.recompute()