Arch Roof/de: Difference between revisions

From FreeCAD Documentation
(Created page with "===Daten===")
No edit summary
Line 72: Line 72:
==Scripting==
==Scripting==


{{Emphasis|Siehe auch:}} [[Arch_API/de|Arch API]] und [[FreeCAD_Scripting_Basics/de|FreeCAD Grundlagen Skripten]].
<div class="mw-translate-fuzzy">
==Skripten==
{{Emphasis|Siehe auch:}} [[Arch API/de|Arch API]] und [[FreeCAD Scripting Basics/de|FreeCAD Grundlagen Skripten]].
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 20:13, 29 October 2023

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.

Optionen

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

Eigenschaften

Daten

Roof

  • Daten-EigenschaftWinkel: Liste der Neigungswinkel der Sparren (ein Winkel für jede Kante des Linienzuges).
  • Daten-EigenschaftRuns: Liste der Breite der Dachscheiben (ein Run für jede Kante des Linienzuges).
  • Daten-EigenschaftIdRel: Liste von Relation zwischen Winkel und Dachneigung
  • Daten-EigenschaftDicke: Liste der Stärken der Dachsparren (eine Stärke pro Kante im Linienzug).
  • Daten-EigenschaftÜberhang: Liste der Überhänge der Dachsparren (ein Überhang für jede Kante des Linienzuges).
  • Daten-EigenschaftFläche: Der Flächenindex des zu verwendenden Basisobjekts (nicht wirklich genutzt)

Scripting

Siehe auch: Arch API und FreeCAD Grundlagen Skripten.

Das Dach Werkzeug kann in Makros und aus der Python Konsole durch Verwenden der folgenden 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()