Arch Floor

From FreeCAD Documentation
Revision as of 16:54, 4 May 2019 by Vocx (talk | contribs) (An Arch Floor shares the same options as Arch BuildingPart, with the Ifc Role set to "Building Storey".)

Arch Floor

Menu location
Arch → Floor
Workbenches
Arch
Default shortcut
F L
Introduced in version
-
See also
Arch Building, Arch BuildingPart

Description

The Arch Floor is a special type of FreeCAD group object that has a couple of additional properties particularly suited for building floors. Particularly, they have a height property, that its children objects (walls and structures) can use to set their own height automatically. They are mostly used to organize your model.

How to use

  1. Optionally, select one or more objects to be included in your new floor.
  2. Press the Arch Floor button or press the F then L keys.

Options

  • After creating a floor, 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 floor by drag and dropping them out of it the Tree View or by using the Arch Remove tool.

Properties

An Arch Floor shares the same options as Arch BuildingPart, with the DataIfc Role set to "Building Storey".

  • DataHeight: The height of its children objects.

Its children objects could be for example walls. Each wall's height must be set to ZERO, so the parent Height property works as a global setting from the Arch Floor.

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

Floor = makeFloor(objectslist=None, baseobj=None, name="Floor")
  • Creates a Floor object from objectslist, which is a list of objects.

Example:

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

Floor = Arch.makeFloor([Wall1, Wall2])

Building = Arch.makeBuilding([Floor])
Site = Arch.makeSite(Building)
FreeCAD.ActiveDocument.recompute()