Arch Roof

Description
The Roof tool allows you to create 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).

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



How to use

 * 1) Create a wire with following the counterclockwise direction and select it.
 * 2) *[[Image:CounterclockwiseWire.png|600px]]
 * 3) Press the  button, or press  then  keys
 * 4) The default roof object could have a strange shape, it's because the tool have not all the needed informations.
 * 5) 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.
 * 6) *[[File:RoofTable.png]]
 * 7) Each line correspond to a roof pane. So you can set properties you want for each roof pane.
 * 8) To help you, you can set Angle or Run to 0 and defined a Relative Id, this make automatic calculs to find the data relative to the relative Id.
 * 9) It work like this :
 * 10) If Angle = 0 and Run = 0 then profile is identical to the relative profile.
 * 11) If Angle = 0 then angle is calculated so that the height is the same one as the relative profile.
 * 12) If Run = 0 then Run is calculated so that the height is the same one as the relative profile.
 * 13) At the end, set an angle to 90° to make a gable.
 * 14) *[[Image:RoofProfil.png|600px]]
 * 15) Also you can check this video : https://www.youtube.com/watch?v=4Urwru71dVk

Options

 * Roofs share the common properties and behaviours of all Arch Components

Properties

 * : List of the slope angle of the roof pane (an angle for each edge in the wire).
 * : List of the width of the roof pane (a run for each edge in the wire).
 * : List of relation Id The slope angle of the roof
 * : List of thickness of the roof pane. (a thickness for each edge in the wire).
 * : List of the overhang 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: