NativeBIM / Demos / Clash-free ceiling plenum
NativeBIM by NativeCAD
IFC showcase: Clash-free ceiling plenum
Supply air, water and a cable tray are sized from their flows and routed through the plenum of an office floor: clashes with straight runs against 0 when routed.
This model is illustrative. It is built from a script with the dimensions listed under Sources, and it does not represent an existing or as-built building.
3D model
The viewer opens clash-free-plenum.glb, the glTF that NativeBIM writes from the IFC file. The IFC file is clash-free-plenum.ifc.
What is in the model
| Item | Count or value |
|---|---|
| Walls | 8 |
| Doors | 5 |
| Slabs | 1 |
| Spaces | 5 |
| Storeys | 2 |
Requirements
The model does not yet meet every requirement of an interior. Each is measured on the model’s geometry by casting rays at it from sample points 0.355 m apart.
| Requirement | What it asks | Result |
|---|---|---|
| Every enclosed area has a floor | Rooms are walked on: an area walls close in at a storey level and nothing to stand on is not a room. | Not yet: 4 of 724 samples fail |
| The interior is closed in | Walls, doors and windows close every interior floor on all sides; a gap in the walls is a hole in the building. | Not yet: 3128 of 6069 samples fail |
Drawing set
Draft drawing set generated from the model: clash-free-plenum-drawings.pdf (PDF, 4 sheets).
- G-001 COVER SHEET AND SHEET INDEX
- A-101 LEVEL 1 FLOOR PLAN
- A-102 LEVEL 1 REFLECTED CEILING PLAN
- A-601 DOOR, ROOM FINISH AND AREA SCHEDULES
Elevations are not generated yet, so this drawing set has plans and schedules only. Sections are not generated yet, so this drawing set has plans and schedules only.
Clashes: straight runs and routed
The clash detector behind bim_check tested every element with a body against every other. The routed layout has 0 hard clashes and 0 clearance violations at 50 mm. Straight runs from each source to each terminal, ignoring what is in the way, have 16 to 25 hard clashes depending on the fixed elevation (3.30 m: 16). Total run length is 165.8 m routed and 187.6 m straight.
| Space | Area (m2) | Volume (m3) | Air changes per hour | Supply (m3/s) | Per diffuser (m3/s) | Diffusers |
|---|---|---|---|---|---|---|
| 101 Open office west | 96.0 | 259.2 | 4 | 0.288 | 0.144 | 2 |
| 102 Meeting room 1 | 48.0 | 129.6 | 6 | 0.216 | 0.216 | 1 |
| 103 Meeting room 2 | 48.0 | 129.6 | 6 | 0.216 | 0.216 | 1 |
| 104 Open office east | 96.0 | 259.2 | 4 | 0.288 | 0.144 | 2 |
| 105 Break room | 96.0 | 259.2 | 6 | 0.432 | 0.216 | 2 |
| Total | 384.0 | 1036.8 | 1.440 | 8 |
| System | Runs | Tees | Bends | Length (m) | Sections | Sizing result |
|---|---|---|---|---|---|---|
| Supply air | 15 | 7 | 20 | 71.3 | 800 x 300 mm; 450 x 300 mm; 150 x 300 mm; 400 x 300 mm; 300 x 300 mm; 200 x 300 mm | velocity 6.0 m/s and friction 0.88 Pa/m in the main run |
| Cold water | 3 | 1 | 5 | 24.5 | diameter 25 mm; diameter 20 mm | velocity 0.61 m/s and gradient 210.5 Pa/m in the main run |
| Hot water | 3 | 1 | 4 | 24.0 | diameter 20 mm; diameter 15 mm | velocity 0.64 m/s and gradient 240.9 Pa/m in the main run |
| Power tray | 3 | 1 | 8 | 45.9 | 150 x 100 mm; 100 x 100 mm | fill 0.27 in the widest tray |
| Total | 24 | 10 | 37 | 165.8 |
| Layout | Hard clashes | With beams, slab, walls or lights | Between systems | Closer than 50 mm to structure or lights | Closer than 50 mm between systems | Run length (m) |
|---|---|---|---|---|---|---|
| Routed by the engine | 0 | 0 | 0 | 0 | 0 | 165.8 |
| Straight runs at 3.10 m | 16 | 0 | 16 | 0 | 16 | 185.0 |
| Straight runs at 3.30 m (middle of the plenum) | 16 | 0 | 16 | 3 | 16 | 187.6 |
| Straight runs at 3.60 m | 25 | 9 | 16 | 9 | 16 | 191.5 |
| Straight runs at 3.75 m | 25 | 9 | 16 | 26 | 16 | 193.5 |
| Pair | Clashes |
|---|---|
| IfcCableCarrierSegment and IfcDuctFitting | 2 |
| IfcCableCarrierSegment and IfcDuctSegment | 3 |
| IfcCableCarrierSegment and IfcPipeSegment | 4 |
| IfcDuctSegment and IfcPipeSegment | 4 |
| IfcPipeSegment and IfcPipeSegment | 3 |
| System | Color | RGB |
|---|---|---|
| Supply air | Blue | 0, 114, 178 |
| Cold water | Green | 0, 158, 115 |
| Hot water | Vermilion | 213, 94, 0 |
| Power tray | Reddish purple | 204, 121, 167 |
| Value | Used | Note |
|---|---|---|
| Air changes per hour, open office / meeting and break rooms | 4 / 6 | Assumption chosen for the sample |
| Ceiling height used for room volume | 2.7 m | Floor to ceiling |
| Duct friction rate / velocity cap | 1 Pa/m / 7.5 m/s | Engine defaults for equal-friction sizing |
| Duct height | 300 mm | Fixed; width is the narrowest in 50 mm steps |
| Pipe velocity cap / gradient cap | 1.5 m/s / 400 Pa/m | Engine defaults |
| Cable tray fill / side-rail depth | 0.4 / 100 mm | Engine defaults; the electrical code sets the permitted fill |
| Clearance to structure, lights, walls and other systems | 50 mm | Engine default |
| Access zone above a cable tray | 150 mm | Engine default |
| Return air | Plenum return | No return ducts are modeled |
The detector tests every element against every other (215 with a body in the routed model, 160 in the straight-run model). Two pieces of one system are not counted against each other: 14 such overlaps at branch joins are left out of the straight-run counts. The routed model has none to leave out.
The engine's own clearance and access check, run on the routed layout, passes with 0 violations over 6786 pair checks. It measures envelopes: each leg grown to the system's largest section, each obstacle as its bounding box. Spaces are volumes, not building elements, and are not tested.
Straight runs here go along x, then y, then to the terminal, at one fixed center-line elevation, with the section the engine gives each flow (60.5 m of duct, 82.0 m of pipe, 45.1 m of tray at 3.30 m). The elevations tested are 3.10, 3.30, 3.60, 3.75 m. Run length for the straight runs is the sum over runs, so a leg that two runs share is counted twice.
Return air is a plenum return, so no return ducts are modeled. The engine routes flow outward from one source and does not write a ducted return. A plenum used for return air has its own requirements for cable, pipe and insulation materials; the engineer decides that.
The airflow per space, the design values in the last table and every size are starting points. They are not engineering and need an engineer to sign them off. The engine is a preview.
Sources
Where each dimension comes from. Anything marked as chosen for the sample is an assumption, not a measurement.
- Routing and sizing engine, the routeMep op (preview), and the clash detector that bim_check uses. packages/core/src/mep/route, packages/core/src/edit/ops/route.js, packages/core/src/validate/clash.js; docs/MEP-AUTHORING.md, section Routing and sizing.
- Duct friction: Darcy-Weisbach with the Altshul-Tsal friction factor for standard air and galvanized steel; equivalent diameter of a rectangular duct (Huebscher). ASHRAE Handbook - Fundamentals, ch. 21 Duct Design.
- Pipe gradient: Hazen-Williams for cold water, Darcy-Weisbach with Swamee-Jain friction for hot water; pipe sizes are the ISO 6708 nominal sizes taken as the bore. Williams and Hazen, Hydraulic Tables; Swamee and Jain, J. Hydraulics Div. ASCE 102(5), 1976; ISO 6708.
- Supply airflow per space: area x 2.7 m ceiling height x air changes per hour (4 for open office, 6 for meeting and break rooms) / 3600. Chosen for this sample as an assumption. It is not a code calculation: a ventilation standard and a cooling-load calculation set the real flow, and an engineer signs it off..
- Water demand 0.15 liter per second cold and 0.10 liter per second hot per sink; cable trays sized to 0.4 fill for 12 cables of 15 mm and 24 cables of 10 mm. Chosen for this sample. The plumbing and electrical codes that apply set real demands and permitted fill..
- Building: a 24 m x 16 m floor with five steel beams 300 x 450 mm at 6 m spacing under a 200 mm slab (underside 3.9 m), a 2.7 m ceiling, 45 recessed troffers 1.2 x 0.6 m, eight diffusers, one VAV box, two sinks and one distribution board. showcases/clash-free-plenum/floor.js, extended from tests/mep/route/office_floor.js. No real building is represented..
- BCF 2.1 file of the clashes. buildingSMART International, BCF 2.1.
Built 2026-10-27 with node tools/showcase/build.js clash-free-plenum. Re-running the command gives the same bytes.
Notices
NativeBIM is licensed software. It does not provide design, engineering or other professional services. Outputs are drafts for review by the licensed professional of record.
Sheets are marked NOT FOR CONSTRUCTION by default.
Areas are computed by NativeBIM, not a certified BOMA measurement.
IFC and Industry Foundation Classes are marks of buildingSMART International.
NativeBIM is not affiliated with, endorsed by or sponsored by the companies and organizations named here. Product names and marks belong to their owners.
NativeBIM is provided as is, without warranty of any kind. To the extent the law allows, FeatureBoard Labs Incorporated is not liable for indirect, incidental or consequential damages, lost profits or lost data, and its total liability is limited to the license fees paid in the 12 months before the claim. Read the license.