GuiCommand: Name: Arch Check MenuLocation: Utils , Check Workbenches: BIM_Workbench SeeAlso: Arch_CloseHoles
Arch Check
Description
This tool checks the current document or the selected objects for non-solid Part or BIM objects, that might give problems, since most operations of the BIM Workbench require solid objects.
Usage
- Select the Utils →
Check option from the menu.
Scripting
See also:
Arch API and FreeCAD Scripting Basics.
This tool can be used in macros and from the Python console by using the following function:
list_bad = check(objectslist, includehidden=False)
- Checks if the given objects in
objectslist
contain only solids. - If
includehidden
isTrue
it will include all hidden objects, otherwise it will omit them from the search. - Returns
list_bad
, a list with the objects that are not derived from aPart::Feature
, or components that are not closed, not valid, don\'t contain solids, or that contain faces that are not part of any solid. This is used to detect BIM or Draft wires and profiles that aren\'t solids.- Each element in
list_bad
is another list[object, message]
, whereobject
is the detected non-solid, andmessage
indicates the reason why it was included in this list.
- Each element in
Example:
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)
⏵ documentation index > BIM > Arch Check
This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Arch_Check.md