Arch Überprüfen
Arch Check |
Menüeintrag |
---|
Arch → Dienstprogramme → Überprüfung |
Arbeitsbereich |
Arch |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
- |
Siehe auch |
Arch Schließt Löcher |
Beschreibung
Dieses Werkzeug prüft, ob es sich bei den Objekten im aktuellen Dokument bzw. den selektierten Objekte um Part- oder Arch-Volumenkörper handelt. Anderenfalls könnte es zu Problemen kommen, weil die meisten Operationen des Arch-Moduls Volumenkörper erfordern.
Anwendung
- 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 WertTrue
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 einemPart::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 Listeobject, message
, wobeiobject
der erkannte nicht-Volumenkörper ist undmessage
den Grund angibt, warum er in dieser Liste enthalten ist.
- Jedes Element in
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)