Arch Roof
Arch Roof |
Menu location |
---|
Arch → Roof |
Workbenches |
Arch |
Default shortcut |
R F |
Introduced in version |
- |
See also |
Arch Structure, Arch Wall |
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
- Create a closed wire with following the counter-clockwise direction and select it.
- Press the Arch Roof button, or press R then F keys
- The default roof object could have a strange shape, it's because the tool is missing some necessary information.
- 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.
- Each line corresponds to a roof pane. So you can set the properties you want for each roof pane.
- To help you, you can set
Angle
orRun
to0
and define aRelative Id
, this makes an automatic calculation to find the data relative to theRelative Id
. - It works like this:
- If
Angle = 0
andRun = 0
then profile is identical to the relative profile. - If
Angle = 0
thenAngle
is calculated so that the height is the same one as the relative profile. - If
Run = 0
thenRun
is calculated so that the height is the same one as the relative profile.
- If
- Finally, set an Angle to 90° to make a gable.
- 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 roof object from existing solid object. Sketcher allows you to define the geometry of your roof accurately.
This documentation is not considered to be about workflow for creating such solids: for that goal you can use various FreeCAD workbenches (Part, Sketcher etc).
In order to create a solid-based ArchRoof, you should select a base object and call Arch Roof.
In current implementation, wall subtraction for solid-based roof is not supported out of the box: you need to do some manual work.
Shape that is used as subtraction object is called subvolume
. By default, ArchRoof uses base object as subvolume
.
So, if you try to subtract roof from your walls you can see that walls are not subtracted properly, because only base shape is subtracted:
To fix this point, you need to define your own subvolume. Most probably, this shape looks like extruding your roof by z-plane up.
Example is provided in the picture below:
You need to define this component by yourself. After that, remove this component from your walls using Arch → Remove from the top menu.
And your walls will be subtracted properly:
Functional, introduced in version 0.22, allows us to override default subvolume object (new property is added to ArchRoof). If field is set, it has a priority over the default implementation. You can set this field directly to your roof object and subtract the only one object - the roof.
See also: freecad forum: sketch based roof and subvolume field pull request
Options
- Roofs share the common properties and behaviors of all Arch Components.
Properties
Data
Roof
- DataAngles (
FloatList
): The list of angles of the roof segments. - DataBorder Length (
Length
): The total length of the borders of the roof. - DataFace (
Integer
): The face number of the base object used to build the roof (not used). - DataFlip (
Bool
): Specifies if the direction of the roof should be flipped. - DataHeights (
FloatList
): The list of calculated heights of the roof segments. - DataId Rel (
IntegerList
): The list of IDs of the relative profiles of the roof segments. - DataOverhang (
FloatList
): The list of overhangs of the roof segments. - DataRidge Length (
Length
): The total length of the ridges and hips of the roof. - DataRuns (
FloatList
): The list of horizontal length projections of the roof segments. - DataSubvolume (
Link
): The volume to subtract. If specified it is used instead of the auto-generated subvolume. introduced in version 0.22 - DataThickness (
FloatList
): The list of thicknesses of the roof segments.
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")
- Creates a
Roof
object from the givenbaseobj
, which can be a closed wire or a solid object.- If
baseobj
is a wire, you can provide lists forangles
,run
,idrel
,thickness
, andoverhang
, 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.
- If
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()
- Elements: Wall, Structure, Curtain Wall, Window, Roof, Space, Stairs, Equipment, Frame, Fence, Truss, Profile, Pipe, Pipe Connector
- Reinforcements: Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement, Custom Rebar
- Panels: Panel, Panel Cut, Panel Sheet, Nest
- Materials: Material, Multi-Material
- Organization: Building Part, Project, Site, Building, Level, External reference, Section Plane, Schedule
- Axes: Axis, Axes system, Grid
- Modification: Cut with plane, Add component, Remove component, Survey
- Utilities: Component, Clone component, Split Mesh, Mesh to Shape, Select non-manifold meshes, Remove Shape from Arch, Close Holes, Merge Walls, Check, Toggle IFC Brep flag, 3 Views from mesh, Create IFC spreadsheet, Toggle Subcomponents
- Additional: Preferences, Import Export Preferences (IFC, DAE, OBJ, JSON, 3DS, SHP), IfcOpenShell, IfcPlusPlus, Arch API
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub