Skip to main content

Module ifc

Module ifc 

Source
Expand description

IFC (.ifc, the STEP text form). Geometry comes from web-ifc, the engine Eagle’s viewer uses, when falcon is built with it (scripts/fetch-web-ifc.sh; see [super::ifc_native]): extruded, revolved and swept solids, booleans and openings, CSG primitives, advanced breps and everything tessellated.

Without web-ifc, or when it cannot read a file, falcon’s own reader below draws the tessellated part: IfcTriangulatedFaceSet, IfcPolygonalFaceSet (faces with holes) and faceted breps (IfcFacetedBrep, shells, IfcFace with IfcPolyLoop bounds), also inside shell- and face-based surface models. Products are placed through IfcProductDefinitionShape, their shape representations (Body first), IfcMappedItem (representation map origin and transformation operator) and the IfcLocalPlacement chain. Lengths are converted to metres from the project’s length unit and the model is turned from IFC’s Z-up to the viewer’s Y-up. Colours come from IfcStyledItem surface styles on the geometry, else from the product’s (or its type’s) material style, else from a default per entity type. Swept solids, CSG, booleans and advanced breps are not read by it: such products are counted as skipped, and a file with nothing drawable is an error (NO_GEOMETRY), so the item keeps its QuickLook still.

Structs§

Report
What reading a file found, for the inspector.

Constants§

MAX_BYTES
Files larger than this are not read (the whole instance graph is held in memory).
NO_GEOMETRY
The reason given for a file with nothing falcon can draw.

Functions§

display_name
An entity name as IFC writes it (IFCWALL → IfcWall); names not in the table keep only their first letter after Ifc in capitals.
full_geometry
Whether falcon reads IFC geometry through web-ifc (every solid kind) rather than only the tessellated part.
parse
Reads an IFC file as a model.
read
Reads the model and the report; the model is None when nothing could be drawn. Only unreadable files are errors.
read_tessellated
Reads the file with falcon’s own (tessellated-only) reader, never through web-ifc.
summary
The report for the file at path, without keeping the model.