Arch Roof/de: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "Danach: * {{VersionMinus/de|0.21}}: Diese Form von den Wänden mit Arch Entfernen abziehen. * {{Version/de|0.22}}: Um das vorgegebene Untervolumen zu überschreiben wird die {{PropertyData/de|Subvolume}} des Daches auf die erstellte Form gesetzt und das Dach selbst von den Wänden entfernt.")
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

<div class="mw-translate-fuzzy">
{{docnav/de
{{Docnav/de
|[[Arch_Grid/de|Raster]]
|[[Arch_Window/de|Fenster]]
|[[Arch_Space/de|Raum]]
|[[Arch_CompAxis/de|AuswahlAchsenwerkzeuge]]
|[[Arch_Module/de|Arch-Arbeitsbereich]]
|[[Arch_Workbench/de|Arch]]
|IconL=Arch_Grid.svg
|IconL=Arch_Window.svg
|IconR=Arch_CompAxis.png
|IconC=Workbench_Arch.svg
|IconR=Arch_Space.svg
|IconC=Workbench_Arch.svg
}}
}}
</div>


<div class="mw-translate-fuzzy">
{{GuiCommand/de
{{GuiCommand/de
|Name=Arch Roof|Name/de=Arch Roof
|Name=Arch Roof
|Name/de=Arch Dach
|MenuLocation=Arch → Dach
|MenuLocation=Arch → Dach
|Workbenches=[[Arch Module/de|Arch]]
|Workbenches=[[Arch_Workbench/de|Arch]]
|Shortcut={{KEY|R}} {{KEY|F}}
|Shortcut={{KEY|R}} {{KEY|F}}
|SeeAlso=[[Arch Structure/de|Struktur]], [[Arch Wall/de|Wand]]
|SeeAlso=[[Arch_Structure/de|Arch Struktur]], [[Arch_Wall/de|Arch Wand]]
}}
}}
</div>


<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.
<div class="mw-translate-fuzzy">
Das 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.
</div>


'''Hinweis:''' Dieses Werkzeug befindet sich noch in der Entwicklung und kann bei sehr komplexen Formen fehlschlagen.
<div class="mw-translate-fuzzy">
Dieses Werkzeug befindet sich noch in der Entwicklung und kann bei sehr komplexen Formen fehlschlagen.
</div>


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


<span id="Usage"></span>
<div class="mw-translate-fuzzy">
==Anwendung==
==Anwendung==
</div>


# Einen Linienzug gegen den Uhrzeigersinn erstellen und auswählen.
<div class="mw-translate-fuzzy">
# Erstelle einen Linienzug entgegen dem Uhrzeigersinn und wähle ihn aus
#*[[Image:CounterclockwiseWire.png|600px]]
#*[[Image:CounterclockwiseWire.png|600px]]
# Drücke den {{Button|[[Image:Arch Roof.svg|16px]] [[Arch Roof/de|Dach]]}}-Button oder drücke {{KEY|R}}, dann {{KEY|F}}
# 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 benötigten Informationen hat
# Das Standard-Dach-Objekt könnte eine seltsame Form haben, weil das Werkzeug nicht alle notwendigen Informationen hat
# Nach der Erstellung des Dach-Objekts doppelklicke auf das Objekt in der Baumansicht, um Zugang zu den Eigenschaften zu erhalten und sie zu ändern. Der Winkel muss zwischen 0 und 90 sein
# 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.
#*[[File:RoofTable.png]]
#*[[File:RoofTable.png]]
# Jede Linie gehört zu einer Dach-Scheibe. Auf diese Weise können Eigenschaften für jede Dach-Scheibe einzeln gesetzt werden.
# Jede Zeile entspricht einer Dachscheibe. Es können also für jede Dachscheibe die gewünschten Eigenschaften festgelegt werden.
# Um Dir zu helfen, kannst Du Winkel (Angle) und ? (Run) auf 0 setzen und eine relative Id definieren, so dass eine automatische Berechnung die Daten relativ zu dieser Id ermittelt.
# 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:
# Es funktioniert folgendermaßen:
## Falls Winkel = 0 und Run = 0, dann ist das Profil identisch zum relativen Profil
## Falls {{incode|Angle &#61; 0}} und {{incode|Run &#61; 0}}, dann ist das Profil identisch zum relativen Profil
## Falls Winkel = 0, dann wird der Winkel berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
## Falls {{incode|Angle &#61; 0}}, dann wird der {{incode|Angle}} berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
## Falls Run = 0, dann wird der Run berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
## Falls {{incode|Run &#61; 0}}, dann wird der {{incode|Run}} berechnet, so dass die Höhe die gleiche wie beim relativen Profil ist
# Am Ende setze den Winkel auf 90°, um einen Giebel zu erstellen
# Am Ende setze den Winkel auf 90°, um einen Giebel zu erstellen
#*[[Image:RoofProfil.png|600px]]
#*[[Image:RoofProfil.png|600px]]
# '''Es gibt auch ein 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].
</div>


<span id="Usage_(solid_base)"></span>
==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 Basisobjekt für das Dach verwenden:

# Das Festkörper-Basisobjekt auswählen.
# 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}}.

Für so ein selbsterstelltes Dach ist das automatische Abzugsvolumen (subvolume) das Basisobjekt selbst. Wird dieses Dach von den Wänden [[Arch_Remove/de|entfernt]], erkennt man, dass die Wänden nicht ordentlich abgezogen wurden; es werden Wandbereiche oberhalb des Daches nicht entfernt:

[[File:Arch_Roof_Subtract_Default.png|300px]]

Um dies zu bereinigen, muss man ein eigenes Untervolumen festlegen. Diese Form kann durch Extrudieren der Grundflächen des Daches in Z-Richtung erstellt werden:

[[File:Arch_Roof_Subvolume_Example.png|300px]]

Danach:
* {{VersionMinus/de|0.21}}: Diese Form von den Wänden mit [[Arch_Remove/de|Arch Entfernen]] abziehen.
* {{Version/de|0.22}}: Um das vorgegebene Untervolumen zu überschreiben wird die {{PropertyData/de|Subvolume}} des Daches auf die erstellte Form gesetzt und das Dach selbst von den Wänden [[Arch_Remove/de|entfernt]].

[[File:Arch_Roof_Subtract_Subvolume.png|300px]]

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


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


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


<span id="Data"></span>
* {{PropertyData/de|Angles}}: Liste der Neigungswinkel der Sparren (ein Winkel für jede Kante des Linienzuges).
===Daten===
* {{PropertyData/de|Runs}}: Liste der Breite der Dach-Scheiben (ein Run für jede Kante des Linienzuges).
* {{PropertyData/de|IdRel}}: Liste von Relation zwischen Winkel und Dachneigung
* {{PropertyData/de|Thickness}}: Liste der Stärken der Dachsparren (eine Stärke pro Kante im Linienzug).
* {{PropertyData/de|Overhang}}: Liste der Überhänge der Dachsparren (ein Überhang für jede Kante des Linienzuges).
* {{PropertyData/de|Face}}: The face index of the base object to be used # nicht wirklich benutzt


{{TitleProperty|Roof}}
<div class="mw-translate-fuzzy">

==Scripting==
* {{PropertyData/de|Angles|FloatList}}: Die Liste der Winkel des Dachabschnitts.
{{Emphasis|Siehe auch:}} [[Arch API/de|Arch API]] und [[FreeCAD Scripting Basics/de|FreeCAD Scripting Basics]].
* {{PropertyData/de|Border Length|Length}}: Die Gesamtlänge der Ränder des Dachs.
</div>
* {{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:


<div class="mw-translate-fuzzy">
Das Dach-Werkzeug kann in [[macros/de|Makros]] ebenso wie aus der [[Python/de|Python]]-Konsole heraus durch folgende Funktion angesprochen werden:
</div>
{{Code|code=
{{Code|code=
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
}}
}}


* Erstellt ein {{incode|Roof}}-Objekt basierend auf dem vorgegebenen {{incode|baseobj}}, das ein geschlossener Linienzug oder ein Festkörper sein kann.
* Erstellt ein {{incode|Roof}} Objekt basierend auf dem vorgegebenen {{incode|baseobj}}, das ein geschlossener Linienzug oder ein Festkörper sein kann.
** 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.
** 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.
** Die Listen werden automatisch komplettiert, damit die Anzahl mit der Anzahl der Kanten des Linienzuges übereinstimmt.


Beispiel:
Beispiel:

{{Code|code=
{{Code|code=
import FreeCAD, Arch, Draft
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)
Rect = Draft.makeRectangle(3000, 4000)
Roof = Arch.makeRoof(Rect, angles=[30.,])
FreeCAD.ActiveDocument.recompute()


doc.recompute()
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1000, 1000, 0)
p3 = FreeCAD.Vector(0, 2000, 0)
Wire = Draft.makeWire([p1, p2, p3], closed=True)
Roof2 = Arch.makeRoof(Wire)
FreeCAD.ActiveDocument.recompute()
}}
}}



<div class="mw-translate-fuzzy">
{{docnav/de
{{Docnav/de
|[[Arch_Grid/de|Raster]]
|[[Arch_Window/de|Fenster]]
|[[Arch_Space/de|Raum]]
|[[Arch_CompAxis/de|AuswahlAchsenwerkzeuge]]
|[[Arch_Module/de|Arch-Arbeitsbereich]]
|[[Arch_Workbench/de|Arch]]
|IconL=Arch_Grid.svg
|IconL=Arch_Window.svg
|IconR=Arch_CompAxis.png
|IconC=Workbench_Arch.svg
|IconR=Arch_Space.svg
|IconC=Workbench_Arch.svg
}}
}}
</div>


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

{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 12:43, 10 March 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

  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 Basisobjekt für das Dach verwenden:

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

Für so ein selbsterstelltes Dach ist das automatische Abzugsvolumen (subvolume) das Basisobjekt selbst. Wird dieses Dach von den Wänden entfernt, erkennt man, dass die Wänden nicht ordentlich abgezogen wurden; es werden Wandbereiche oberhalb des Daches nicht entfernt:

Um dies zu bereinigen, muss man ein eigenes Untervolumen festlegen. Diese Form kann durch Extrudieren der Grundflächen des Daches in Z-Richtung erstellt werden:

Danach:

  • Version 0.21 und darunter: Diese Form von den Wänden mit Arch Entfernen abziehen.
  • eingeführt mit Version 0.22: Um das vorgegebene Untervolumen zu überschreiben wird die Daten-EigenschaftSubvolume des Daches auf die erstellte Form gesetzt und das Dach selbst von den Wänden entfernt.

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