Arch Roof/de: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "{{Caption|Festkörperbasiertes Dach bevor (erstes Bild) und nachdem es von Wänden entfernt wurde (zweites Bild).<br> Das dritte Bild zeigt das erstellte Abzugsvolumen.}}")
 
(90 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
{{GuiCommand/de|Name=Arch Roof|Name/de=Arch Roof|Workbenches=[[Arch Module/de|Arch]]|MenuLocation=Arch → Roof|Shortcut=R F}}

{{Docnav/de
|[[Arch_Window/de|Fenster]]
|[[Arch_CompAxis/de|AuswahlAchsenwerkzeuge]]
|[[Arch_Workbench/de|Arch]]
|IconL=Arch_Window.svg
|IconR=Arch_CompAxis.png
|IconC=Workbench_Arch.svg
}}

{{GuiCommand/de
|Name=Arch Roof
|Name/de=Arch Dach
|MenuLocation=Arch → Dach
|Workbenches=[[Arch_Workbench/de|Arch]]
|Shortcut={{KEY|R}} {{KEY|F}}
|SeeAlso=[[Arch_Structure/de|Arch Struktur]], [[Arch_Wall/de|Arch Wand]]
}}


<span id="Description"></span>
==Beschreibung==
==Beschreibung==


Das {{Button|[[Image:Arch Roof.svg|16px]] [[Arch_Roof|Arch Dach]]}} Werkzeug erlaubt die Erstellung eines geneigten Daches aus einem ausgewählten Linienzug. Das erstellte Dach Objekt ist parametrisch und behält seine Verbindung zum Basisobjekt. Das Prinzip ist, dass jeder Kante ein Dachprofil (Neigung, Breite, Überhang, Dicke) zugewiesen wird.
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. Please note that this tool is still in development, and might fail with very complex shapes. The principle is that each edge is seen allotting a profile of roof (slope, width, overhang, thickness…).

'''Hinweis:''' Dieses Werkzeug befindet sich noch in der Entwicklung und kann bei sehr komplexen Formen fehlschlagen.


[[Image:RoofExample.png|600px]]
[[Image:RoofExample.png|600px]]
{{Caption|Ansicht von oben auf das Dach eines Gebäudemodell mit einer gewissen Transparenz}}


<span id="Usage_(wire_base)"></span>
==How to use==
==Anwendung (linienzugbasiert)==


# Einen Linienzug gegen den Uhrzeigersinn erstellen und auswählen.
# Create a wire with following the conterclockwise direction and select it.
#*[[Image:CounterclockwiseWire.png|600px]]
#*[[Image:CounterclockwiseWire.png|600px]]
# Press the {{KEY|[[Image:Arch Roof.png|16px]] [[Arch Roof]]}} button, or press {{KEY|R}} then {{KEY|F}} keys
# Die Schaltfläche {{Button|[[Image:Arch Roof.svg|16px]] [[Arch Roof/de|Arch Dach]]}} drücken oder das Tastaturkürzel {{KEY|R}} dann {{KEY|F}}.
# Das Standard-Dach-Objekt könnte eine seltsame Form haben, weil das Werkzeug nicht alle notwendigen Informationen hat
# The default roof object could have a strange shape, it's because the tool have not all the needed informations.
# Nach dem Erstellen des Standard-Dachs, auf das Objekt in der [[Tree view/de|Baumansicht]] doppelklicken, um auf alle Eigenschaften zuzugreifen und sie zu bearbeiten. Der Winkel (Angle) muss zwischen 0 und 90 liegen.
# 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]]
#*[[File:RoofTable.png]]
# Jede Zeile entspricht einer Dachscheibe. Es können also für jede Dachscheibe die gewünschten Eigenschaften festgelegt werden.
# Each line correspond to a roof pane. So you can set properties you want for each roof pane.
# 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.
# Um Dir zu helfen, kannst Du {{incode|Angle}} oder {{incode|Run}} auf {{incode|0}} setzen und eine {{incode|relative Id}} definieren, so dass eine automatische Berechnung die Daten relativ zu dieser {{incode|relative Id}} ermittelt.
# Es funktioniert folgendermaßen:
# It work like this :
## If Angle = 0 and Run = 0 then profile is identical to the relative profile.
## Falls {{incode|Angle &#61; 0}} und {{incode|Run &#61; 0}}, dann ist das Profil identisch zum relativen Profil
## Falls {{incode|Angle &#61; 0}}, dann wird der {{incode|Angle}} berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
## If Angle = 0 then angle is calculated so that the height is the same one as the relative profile.
## Falls {{incode|Run &#61; 0}}, dann wird der {{incode|Run}} berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
## If Run = 0 then Run is calculated so that the height is the same one as the relative profile.
# At the end, set an angle to 90° to make a gable.
# Am Ende setze den Winkel auf 90°, um einen Giebel zu erstellen
#*[[Image:RoofProfil.png|600px]]
#*[[Image:RoofProfil.png|600px]]
# '''Also you can check this video''' : https://www.youtube.com/watch?v=4Urwru71dVk
# {{Emphasis|Hinweis}}: für ein besseres Verständnis siehe bitte diesen [https://www.youtube.com/watch?v=4Urwru71dVk youtube clip].


<span id="Usage_(solid_base)"></span>
==Properties==
==Anwendung (Festkörperbasiert)==


Hat das Dach eine komplexe Form (es enthält z.B. geneigte Fenster oder andere nicht standardmäßige Formelemente), kann man selbst ein Festkörperobjekt mit Hilfe verschiedener FreeCAD-Arbeitsbereiche ([[Part_Workbench/de|Part]], [[Sketcher_Workbench/de|Sketcher]] usw.) erstellen und dann diesen Festkörper als {{PropertyData/de|Base}}-Objekt des Daches verwenden:
* {{PropertyData|Angles}}: List of the slope angle of the roof pane (an angle for each edge in the wire).
* {{PropertyData|Runs}}: List of the width of the roof pane (a run for each edge in the wire).
* {{PropertyData|IdRel}}: List of relation Id The slope angle of the roof
* {{PropertyData|Thickness}}: List of thickness of the roof pane. (a thickness for each edge in the wire).
* {{PropertyData|Overhang}}: List of the overhang of the roof pane (an overhang for each edge in the wire).
* {{PropertyData|Face}}: The face index of the base object to be used #Not really used


# Das Festkörper-Basisobjekt auswählen.
==Scripting==
# Die Schaltfläche {{Button|[[Image:Arch_Roof.svg|16px]] [[Arch Roof/de|Arch Dach]]}} drücken, oder das Tastaturkürzel {{KEY|R}} dann {{KEY|F}}.

<span id="Subtracting_a_roof"></span>
==Ein Dach abziehen==

Dächer haben ein automatisch erstelltes Abzugsvolumen ({{Version/de|0.22}} für Dächer mit einer Festkörper-Basis). Wird ein Dach von den Wänden eines Gebäudes [[Arch_Remove/de|entfernt]], wird sowohl das Dach selbst als auch alles darüber befindliche von den Wänden abgezogen.

{{Version/de|0.22}}: Es ist möglich, das automatische Abzugsvolumen zu überschreiben, indem die {{PropertyData/de|Subvolume}} des Daches auf ein selbsterstelltes Festkörperobjekt gesetzt wird.

[[File:Arch_Roof_Subtract_Default.png|x150px]] [[File:Arch_Roof_Subtract_Subvolume.png|x150px]] [[File:Arch_Roof_Subvolume_Example.png|x150px]]
{{Caption|Festkörperbasiertes Dach bevor (erstes Bild) und nachdem es von Wänden [[Arch_Remove/de|entfernt]] wurde (zweites Bild).<br>
Das dritte Bild zeigt das erstellte Abzugsvolumen.}}

<span id="Options"></span>
==Optionen==

* Dächer haben die gleichen Eigenschaften und verhalten sich wie alle anderen [[Arch Component/de|Arch-Komponenten]]

<span id="Properties"></span>
==Eigenschaften==

<span id="Data"></span>
===Daten===

{{TitleProperty|Roof}}

* {{PropertyData/de|Angles|FloatList}}: Die Liste der Winkel des Dachabschnitts.
* {{PropertyData/de|Border Length|Length}}: Die Gesamtlänge der Ränder des Dachs.
* {{PropertyData/de|Face|Integer}}: Die Nummer der Fläche des Basisobjekts, auf dem das Dach aufbaut (nicht verwendet).
* {{PropertyData/de|Flip|Bool}}: Gibt an, ob die Richtung des Dachs umgedreht werden sollte.
* {{PropertyData/de|Heights|FloatList}}: Die Liste der berechneten Höhen des Dachabschnitts.
* {{PropertyData/de|Id Rel|IntegerList}}: Die Liste der IDs der zugehörigen Profile des Dachabschnitts.
* {{PropertyData/de|Overhang|FloatList}}: Die Liste der Überhänge der Dachabschnitte.
* {{PropertyData/de|Ridge Length|Length}}: Die Gesamtlänge der Grate und Sparren des Dachs.
* {{PropertyData/de|Runs|FloatList}}: Die Liste der Projektionen horizontaler Längen der Dachabschnitte.
* {{PropertyData/de|Subvolume|Link}}: Das abzuziehende Volumen. Wenn angegeben, wird es anstatt des automatisch erstellten Untervolumens verwendet. {{Version/de|0.22}}
* {{PropertyData/de|Thickness|FloatList}}: Die Liste der Dicken der Dachabschnitte.

<span id="Scripting"></span>
==Skripten==

{{Emphasis|Siehe auch:}} [[Arch_API/de|Arch API]] und [[FreeCAD_Scripting_Basics/de|FreeCAD Grundlagen Skripten]].

Das Werkzeug Dach kann in [[Macros/de|Makros]] und von der [[Python/de|Python]]-Konsole aus mit folgender Funktion verwendet werden:


The Roof tool can by used in [[macros]] and from the python console by using the following function:
{{Code|code=
{{Code|code=
makeRoof (baseobj,[facenr],[angles],[runs],[idrel],[thickness],[overhang],[name])
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
}}
}}
:Makes a roof based on a closed wire. You can provide a list of angles, run, idrel, thickness, overhang for each edges in the wire to define the roof shape. The default for angle is 45 and the list is automatically complete to match with number of edges in the wire.


* Erstellt ein {{incode|Roof}} Objekt basierend auf dem vorgegebenen {{incode|baseobj}}, das ein geschlossener Linienzug oder ein Festkörper sein kann.
Example:
** Falls {{incode|baseobj}} ein Linienzug ist, kannst Du eine Liste von {{incode|angles}} (Winkeln), {{incode|run}} (Auflage?), {{incode|idrel}}, {{incode|thickness}} (Stärke) und {{incode|overhang}} (Überhang) für jede Kante des Linienzuges vorgeben, um die Dachform zu definieren. Der Standardwert für Winkel ist 45 und die Liste wird automatisch komplettiert, so dass sie mit der Anzahl von Kanten übereinstimmt.
** Die Listen werden automatisch komplettiert, damit die Anzahl mit der Anzahl der Kanten des Linienzuges übereinstimmt.

Beispiel:

{{Code|code=
{{Code|code=
import FreeCAD as App
import Arch, Draft
import Arch, Draft

rect = Draft.makeRectangle(30,40)
doc = App.newDocument()
Arch.makeRoof(rect,angles=[30.,])

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()
}}
}}

<languages/>

{{Docnav/de
|[[Arch_Window/de|Fenster]]
|[[Arch_CompAxis/de|AuswahlAchsenwerkzeuge]]
|[[Arch_Workbench/de|Arch]]
|IconL=Arch_Window.svg
|IconR=Arch_CompAxis.png
|IconC=Workbench_Arch.svg
}}

{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 20:15, 17 April 2024

Arch Dach

Menüeintrag
Arch → Dach
Arbeitsbereich
Arch
Standardtastenkürzel
R F
Eingeführt in Version
-
Siehe auch
Arch Struktur, Arch Wand

Beschreibung

Das Arch Dach Werkzeug erlaubt die Erstellung eines geneigten Daches aus einem ausgewählten Linienzug. Das erstellte Dach Objekt ist parametrisch und behält seine Verbindung zum Basisobjekt. Das Prinzip ist, dass jeder Kante ein Dachprofil (Neigung, Breite, Überhang, Dicke) zugewiesen wird.

Hinweis: Dieses Werkzeug befindet sich noch in der Entwicklung und kann bei sehr komplexen Formen fehlschlagen.

Ansicht von oben auf das Dach eines Gebäudemodell mit einer gewissen Transparenz

Anwendung (linienzugbasiert)

  1. Einen Linienzug gegen den Uhrzeigersinn erstellen und auswählen.
  2. Die Schaltfläche Arch Dach drücken oder das Tastaturkürzel R dann F.
  3. Das Standard-Dach-Objekt könnte eine seltsame Form haben, weil das Werkzeug nicht alle notwendigen Informationen hat
  4. Nach dem Erstellen des Standard-Dachs, auf das Objekt in der Baumansicht doppelklicken, um auf alle Eigenschaften zuzugreifen und sie zu bearbeiten. Der Winkel (Angle) muss zwischen 0 und 90 liegen.
  5. Jede Zeile entspricht einer Dachscheibe. Es können also für jede Dachscheibe die gewünschten Eigenschaften festgelegt werden.
  6. Um Dir zu helfen, kannst Du Angle oder Run auf 0 setzen und eine relative Id definieren, so dass eine automatische Berechnung die Daten relativ zu dieser relative Id ermittelt.
  7. Es funktioniert folgendermaßen:
    1. Falls Angle = 0 und Run = 0, dann ist das Profil identisch zum relativen Profil
    2. Falls Angle = 0, dann wird der Angle berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
    3. Falls Run = 0, dann wird der Run berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
  8. Am Ende setze den Winkel auf 90°, um einen Giebel zu erstellen
  9. Hinweis: für ein besseres Verständnis siehe bitte diesen youtube clip.

Anwendung (Festkörperbasiert)

Hat das Dach eine komplexe Form (es enthält z.B. geneigte Fenster oder andere nicht standardmäßige Formelemente), kann man selbst ein Festkörperobjekt mit Hilfe verschiedener FreeCAD-Arbeitsbereiche (Part, Sketcher usw.) erstellen und dann diesen Festkörper als Daten-EigenschaftBase-Objekt des Daches verwenden:

  1. Das Festkörper-Basisobjekt auswählen.
  2. Die Schaltfläche Arch Dach drücken, oder das Tastaturkürzel R dann F.

Ein Dach abziehen

Dächer haben ein automatisch erstelltes Abzugsvolumen (eingeführt mit Version 0.22 für Dächer mit einer Festkörper-Basis). Wird ein Dach von den Wänden eines Gebäudes entfernt, wird sowohl das Dach selbst als auch alles darüber befindliche von den Wänden abgezogen.

eingeführt mit Version 0.22: Es ist möglich, das automatische Abzugsvolumen zu überschreiben, indem die Daten-EigenschaftSubvolume des Daches auf ein selbsterstelltes Festkörperobjekt gesetzt wird.

Festkörperbasiertes Dach bevor (erstes Bild) und nachdem es von Wänden entfernt wurde (zweites Bild).
Das dritte Bild zeigt das erstellte Abzugsvolumen.

Optionen

  • Dächer haben die gleichen Eigenschaften und verhalten sich wie alle anderen Arch-Komponenten

Eigenschaften

Daten

Roof

  • Daten-EigenschaftAngles (FloatList): Die Liste der Winkel des Dachabschnitts.
  • Daten-EigenschaftBorder Length (Length): Die Gesamtlänge der Ränder des Dachs.
  • Daten-EigenschaftFace (Integer): Die Nummer der Fläche des Basisobjekts, auf dem das Dach aufbaut (nicht verwendet).
  • Daten-EigenschaftFlip (Bool): Gibt an, ob die Richtung des Dachs umgedreht werden sollte.
  • Daten-EigenschaftHeights (FloatList): Die Liste der berechneten Höhen des Dachabschnitts.
  • Daten-EigenschaftId Rel (IntegerList): Die Liste der IDs der zugehörigen Profile des Dachabschnitts.
  • Daten-EigenschaftOverhang (FloatList): Die Liste der Überhänge der Dachabschnitte.
  • Daten-EigenschaftRidge Length (Length): Die Gesamtlänge der Grate und Sparren des Dachs.
  • Daten-EigenschaftRuns (FloatList): Die Liste der Projektionen horizontaler Längen der Dachabschnitte.
  • Daten-EigenschaftSubvolume (Link): Das abzuziehende Volumen. Wenn angegeben, wird es anstatt des automatisch erstellten Untervolumens verwendet. eingeführt mit Version 0.22
  • Daten-EigenschaftThickness (FloatList): Die Liste der Dicken der Dachabschnitte.

Skripten

Siehe auch: Arch API und FreeCAD Grundlagen Skripten.

Das Werkzeug Dach kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:

Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
  • Erstellt ein Roof Objekt basierend auf dem vorgegebenen baseobj, das ein geschlossener Linienzug oder ein Festkörper sein kann.
    • Falls baseobj ein Linienzug ist, kannst Du eine Liste von angles (Winkeln), run (Auflage?), idrel, thickness (Stärke) und overhang (Überhang) für jede Kante des Linienzuges vorgeben, um die Dachform zu definieren. Der Standardwert für Winkel ist 45 und die Liste wird automatisch komplettiert, so dass sie mit der Anzahl von Kanten übereinstimmt.
    • Die Listen werden automatisch komplettiert, damit die Anzahl mit der Anzahl der Kanten des Linienzuges übereinstimmt.

Beispiel:

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()