Arch Roof

THIS COMMAND IS PART OF THE INTEGRATED BIM WORKBENCH IN V1.0
This page has been updated for that version.

Arch Roof

Menu location
3D/BIM → Roof
Workbenches
BIM
Default shortcut
R F
Introduced in version
-
See also
None

Description

The Arch Roof tool allows for the creation of a sloped roof from a selected wire. The created roof object is parametric, keeping its relationship with the base object. The principle is that each edge is seen allotting a profile of roof (slope, width, overhang, thickness).

Note: This tool is still in development, and might fail with very complex shapes.

View from above a building model showing the roof with certain transparency

Usage (wire base)

  1. Create a closed wire with following the counter-clockwise direction and select it.
  2. Press the Roof button, or press R then F keys
  3. The default roof object could have a strange shape, it's because the tool is missing some necessary information.
  4. After creating the default roof, double click on the object in the tree view to access and edit all the properties. Angle must be between 0 and 90.
  5. Each line corresponds to a roof pane. So you can set the properties you want for each roof pane.
  6. To help you, you can set Angle or Run to 0 and define a Relative Id, this makes an automatic calculation to find the data relative to the Relative Id.
  7. It works like this:
    1. If Angle = 0 and Run = 0 then profile is identical to the relative profile.
    2. If Angle = 0 then Angle is calculated so that the height is the same one as the relative profile.
    3. If Run = 0 then Run is calculated so that the height is the same one as the relative profile.
  8. Finally, set an Angle to 90° to make a gable.
  9. Note: for better comprehension, please see this youtube clip.

Usage (solid base)

If your roof has a complex shape (e.g. contains pitched windows or other non-standard features) you can create a custom solid object using various other FreeCAD workbenches (Part, Sketcher etc.). And then use this solid as the DataBase object of your roof:

  1. Select the solid base object.
  2. Press the Arch Roof button, or press R then F keys.

Subtracting a roof

Roofs have an automatically generated subtraction volume (introduced in 1.0 for roofs with a solid base). When a roof is removed from the walls of a building, both the roof itself as well as everything above it is subtracted from the walls.

introduced in 1.0: It is possible to override the automatic subtraction volume by setting the DataSubvolume property of the roof to a custom solid object.

Solid-based roof before (1st image) and after (2nd image) removing it from walls.
The 3rd image shows the generated subtraction volume.

Properties

An Arch Roof object shares the common properties and behaviors of all Arch Components.

Data

Roof

Scripting

See also: Arch API and FreeCAD Scripting Basics.

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

Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")

Example:

import FreeCAD as App
import Arch, Draft

doc = App.newDocument()

rect = Draft.makeRectangle(3000, 4000)
doc.recompute()

roof = Arch.makeRoof(rect, angles=[30.,])

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(0, 2000, 0)

wire = Draft.make_wire([p1, p2, p3], closed=True)
doc.recompute()

roof1 = Arch.makeRoof(wire)

doc.recompute()