Openings in IFC
Windows and doors are missing from a plain SketchUp IFC export. Not incomplete — absent.
SketchUp’s exporter skips anything nested inside another classified object. In Archeform a window’s frame and glazing live inside the wall group, so they are exactly that.
They look present in 3D because they are part of the wall’s mesh. Open the file in a viewer, look at the object tree, and there are no windows in it.
Skylights are the exception — they sit on the roof as their own groups, so they come through.
Run it
Section titled “Run it”Plugins → Archeform → Add Windows/Doors to IFC…, on the exported file.
The dialog offers openings as well; see below.
What is written
Section titled “What is written”Window and door elements with their own tessellated geometry, placed in the same coordinate system as the wall they belong to, and added to the containment relation of the right storey — so they appear in the tree under their floor.
Property sets — Pset_WindowCommon and Pset_DoorCommon, filled from the
opening’s dialog:
| Field | IFC property |
|---|---|
| U-value | ThermalTransmittance, with the correct measure type |
| Acoustic rating | AcousticRating |
| Fire rating | FireRating |
| Status | Status |
| Reference | Reference |
PredefinedType and the overall width and height come from the geometry.
Openings themselves
Section titled “Openings themselves”Optional, ticked in the dialog:
| Entity | What it does |
|---|---|
IfcOpeningElement |
the hole, as a solid built from the opening’s real outline |
IfcRelVoidsElement |
wall → opening |
IfcRelFillsElement |
opening → window or door |
The outline is the actual shape, so an arched window gets an arched opening rather than a bounding box.
There was a worry that adding a void to a wall whose mesh already has the hole cut would make viewers subtract it twice. Tested — it does not happen; the walls look correct.
Identifiers
Section titled “Identifiers”Each fill gets a GlobalId derived from its opening’s internal id.
An earlier version derived it from the fill’s name, and since fills are named by type, every window of the same size got the same identifier — a viewer treated them as one object. The export now also reports any duplicate identifiers it finds after writing, as a safety net.
Running it twice
Section titled “Running it twice”Not possible. The command writes a marker into the file and refuses a second time,
because a second pass would duplicate every element. A .bak is kept.