Arch Roof

Description
The 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.



Usage

 * 1) Create a closed wire with following the counter-clockwise direction and select it.
 * [[Image:CounterclockwiseWire.png|600px]]
 * 1) Press the  button, or press  then  keys
 * 2) The default roof object could have a strange shape, it's because the tool is missing some necessary information.
 * 3) 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.
 * [[File:RoofTable.png]]
 * 1) Each line corresponds to a roof pane. So you can set the properties you want for each roof pane.
 * 2) To help you, you can set  or  to  and define a, this makes an automatic calculation to find the data relative to the.
 * 3) It works like this:
 * 4) If  and  then profile is identical to the relative profile.
 * 5) If  then  is calculated so that the height is the same one as the relative profile.
 * 6) If  then  is calculated so that the height is the same one as the relative profile.
 * 7) Finally, set an Angle to 90° to make a gable.
 * [[Image:RoofProfil.png|600px]]
 * : for better comprehension, please see this youtube clip.

Options

 * Roofs share the common properties and behaviors of all Arch Components.

Properties

 * : List of the slope angles of the roof pane (an angle for each edge in the wire).
 * : List of the widths of the roof pane (a run for each edge in the wire).
 * : List of relation Identifiers of the slope angles of the roof.
 * : List of thicknesses of the roof pane. (a thickness for each edge in the wire).
 * : List of the overhangs of the roof pane (an overhang for each edge in the wire).
 * : The face index of the base object to be used (not really used).

Scripting
Arch API and FreeCAD Scripting Basics.

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


 * Creates a object from the given, which can be a closed wire or a solid object.
 * If is a wire, you can provide lists for, , , , and , for each edge in the wire to define the shape of the roof.
 * The lists are automatically completed to match the number of edges in the wire.

Example: