Arch Überprüfen

From FreeCAD Documentation
Revision as of 14:41, 7 July 2020 by Maker (talk | contribs)

Arch Überprüfen

Menüeintrag
Arch → Dienstprogramme → Überprüfen
Arbeitsbereich
Arch
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
Arch SchließeLöcher

Beschreibung

Dieses Werkzeug prüft das aktuelle Dokument oder die ausgewählten Objekte auf nicht Volumenkörper Part oder Arch Objekte, die Probleme bereiten könnten, da die meisten Operationen des Arch Moduls Volumenkörper erfordern.

Anwendung

  1. Drücke den Überprüfung-Eintrag im Arch → Dienstprogramme-Menü.

Scripting

Siehe auch: Arch API und FreeCAD Scripting Basics.

Dieses Werkzeug kann in Makros ebenso wie aus der Python-Konsole heraus durch folgende Funktion angesprochen werden:

list_bad = check(objectslist, includehidden=False)
  • Prüft, ob es sich bei allen angegebenen Objekten in objectslist um Volumenkörper (solids) handelt.
  • Wenn includehidden den Wert True hat, werden auch alle versteckten Objekte berücksichtigt, anderenfalls von der Suche ausgenommen.
  • Liefert in list_bad eine Liste mit Objekten zurück, die nicht von einem Part::Feature abgeleitet sind oder Komponenten, die nicht geschlossen, nicht valide sind, keine Volumenkörper sind oder die Flächen enthalten, die nicht Teil irgendeines Volumenkörpers sind. Diese Liste wird im Arch- oder Draft-Arbeitsbereich genutzt, um Linienzüge und Profile zu erkennen, die keine Volumenkörper sind.
    • Jedes Element in list_bad ist eine weitere Liste object, message, wobei object der erkannte nicht-Volumenkörper ist und message den Grund angibt, warum er in dieser Liste enthalten ist.

Beispiel:

import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Wall2 = Arch.makeWall(None, length=2000, width=200, height=1000)
FreeCAD.ActiveDocument.recompute()

Circle = Draft.makeCircle(450)
Wire = Draft.makeWire([FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(1500, 1000, 0), FreeCAD.Vector(2500, -1000, 0)])

list_bad = Arch.check([Wall1, Wall2, Circle, Wire], includehidden=True)
print(list_bad)