Arch Střecha |
Umístění Menu |
---|
Arch → Střecha |
Pracovní stoly |
Arch |
Výchozí zástupce |
R F |
Představen ve verzi |
- |
Viz také |
Nikdo |
Nástroj Střecha umožňuje vytvořit šikmou střechu z vybraných drátů. Vytvořená střecha je parametrická a udržuje vztahy se základním objektem. Mějte na paměti, prosím, že tento nástroj je stále ještě ve vývoji a může zhavarovat u velmi komplexních tvarů. Vše je založeno na principu, že každá viditelná hrana je přidělena profilu střechy (sklon, šířka, přesah, tloušťka, atd)
Note: This tool is still in development, and might fail with very complex shapes.
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 ÚdajeBase object of your 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 ÚdajeSubvolume 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.
An Arch Roof object shares the common properties and behaviors of all Arch Components.
Roof
Nástroj Střecha může být využit v makrech a z konzoly Pythonu použitím následující funkce:
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
Příklad:
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()