NativeBIM / Demos / Services through structure
NativeBIM by NativeCAD
IFC showcase: Services through structure
Where routed ducts, pipes and a tray cross walls, slabs and beam webs in a steel frame: sleeves and openings sized from the runs, firestop flags, a web opening screen.
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 structural-penetrations.glb, the glTF that NativeBIM writes from the IFC file. The IFC file is structural-penetrations.ifc.
What is in the model
| Item | Count or value |
|---|---|
| Walls | 6 |
| Slabs | 2 |
| Columns | 24 |
| Storeys | 2 |
Requirements
Not checked as a building: the slabs and beams of a floor, to show their penetrations.
Drawing set
Draft drawing set generated from the model: structural-penetrations-drawings.pdf (PDF, 3 sheets).
- G-001 COVER SHEET AND SHEET INDEX
- A-101 LEVEL 1 FLOOR PLAN
- A-102 LEVEL 2 FLOOR PLAN
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.
Penetrations and sleeves
Routed services cross structure at 30 places: 15 in walls, 4 in slabs and 11 in beam webs. Each has an opening and a sleeve sized from the run. 12 are in fire-rated walls or slabs and need a listed firestop system. 9 need an engineer: 7 of the 11 beam web openings exceed a screening rule, and 2 slab openings are large. The screen reports forces and geometry and is not a structural check.
| Host | Penetrations | Firestop system needed | Needs an engineer |
|---|---|---|---|
| Walls | 15 | 10 | 0 |
| Slabs | 4 | 2 | 2 |
| Beam webs | 11 | 0 | 7 |
| Total | 30 | 12 | 9 |
| Id | Host type | Host | Run | Run outside | Sleeve inside | Opening | Fire-rated host | Engineer |
|---|---|---|---|---|---|---|---|---|
| P-001 | wall | W1-1 | Chilled water run 1 | D80 | D130 | D136 | yes (1HR) | no |
| P-002 | wall | W1-1 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | yes (1HR) | no |
| P-003 | wall | W1-2 | Extract air run 1 | 350 x 250 | 400 x 300 | 406 x 306 | yes (1HR) | no |
| P-004 | wall | W1-2 | Heating water run 1 | D65 | D115 | D121 | yes (1HR) | no |
| P-005 | wall | W1-2 | Power tray run 1 | 300 x 100 | 350 x 150 | 356 x 156 | yes (1HR) | no |
| P-006 | wall | W2-1 | Chilled water run 1 | D80 | D130 | D136 | no | no |
| P-007 | wall | W2-1 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | no | no |
| P-008 | wall | W2-2 | Extract air run 1 | 350 x 250 | 400 x 300 | 406 x 306 | no | no |
| P-009 | wall | W2-2 | Heating water run 1 | D65 | D115 | D121 | no | no |
| P-010 | wall | W2-2 | Power tray run 1 | 300 x 100 | 350 x 150 | 356 x 156 | no | no |
| P-011 | wall | W3-1 | Chilled water run 1 | D80 | D130 | D136 | yes (2HR) | no |
| P-012 | wall | W3-1 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | yes (2HR) | no |
| P-013 | wall | W3-2 | Extract air run 1 | 350 x 250 | 400 x 300 | 406 x 306 | yes (2HR) | no |
| P-014 | wall | W3-2 | Heating water run 1 | D65 | D115 | D121 | yes (2HR) | no |
| P-015 | wall | W3-2 | Power tray run 1 | 300 x 100 | 350 x 150 | 356 x 156 | yes (2HR) | no |
| P-016 | slab | Level 2 floor slab | Riser duct | 400 x 300 | 450 x 350 | 456 x 356 | yes (1HR) | yes |
| P-017 | slab | Level 2 floor slab | Riser pipe | D100 | D150 | D156 | yes (1HR) | no |
| P-018 | slab | Roof slab | Riser duct | 400 x 300 | 450 x 350 | 456 x 356 | no | yes |
| P-019 | slab | Roof slab | Riser pipe | D100 | D150 | D156 | no | no |
| P-020 | beam | F2-BX-6-3 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | no | yes |
| P-021 | beam | F2-BY-12-1 | Chilled water run 1 | D80 | D130 | D136 | no | no |
| P-022 | beam | F2-BY-12-1 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | no | yes |
| P-023 | beam | F2-BY-12-2 | Extract air run 1 | 350 x 250 | 400 x 300 | 406 x 306 | no | yes |
| P-024 | beam | F2-BY-12-2 | Heating water run 1 | D65 | D115 | D121 | no | no |
| P-025 | beam | F2-BY-12-2 | Power tray run 1 | 300 x 100 | 350 x 150 | 356 x 156 | no | yes |
| P-026 | beam | F2-BY-6-1 | Chilled water run 1 | D80 | D130 | D136 | no | no |
| P-027 | beam | F2-BY-6-1 | Supply air run 1 | 400 x 250 | 450 x 300 | 456 x 306 | no | yes |
| P-028 | beam | F2-BY-6-2 | Extract air run 1 | 350 x 250 | 400 x 300 | 406 x 306 | no | yes |
| P-029 | beam | F2-BY-6-2 | Heating water run 1 | D65 | D115 | D121 | no | no |
| P-030 | beam | F2-BY-6-2 | Power tray run 1 | 300 x 100 | 350 x 150 | 356 x 156 | no | yes |
| Host | Rating | Penetrations | Action |
|---|---|---|---|
| W1-1 | 1HR | 2 | Listed firestop system at each of the 2 penetrations |
| W1-2 | 1HR | 3 | Listed firestop system at each of the 3 penetrations |
| W3-1 | 2HR | 2 | Listed firestop system at each of the 2 penetrations |
| W3-2 | 2HR | 3 | Listed firestop system at each of the 3 penetrations |
| Level 2 floor slab | 1HR | 2 | Listed firestop system at each of the 2 penetrations |
| Id | Beam | Run | Station (m) | Span (m) | Opening h x l (mm) | Vz (kN) | My (kN m) | A reduced (mm2) | I reduced (10^6 mm4) | Needs engineer review |
|---|---|---|---|---|---|---|---|---|---|---|
| P-020 | F2-BX-6-3 | Supply air run 1 | 5.06 | 6.00 | 306 x 456 | 1.1 | -0.7 | 5113 | 189.3 | yes |
| P-021 | F2-BY-12-1 | Chilled water run 1 | 2.40 | 6.00 | 136 x 136 | -10.7 | -59.8 | 6409 | 205.9 | no |
| P-022 | F2-BY-12-1 | Supply air run 1 | 3.20 | 6.00 | 306 x 456 | 15.7 | -57.7 | 5113 | 189.3 | yes |
| P-023 | F2-BY-12-2 | Extract air run 1 | 2.40 | 6.00 | 306 x 406 | -28.9 | -48.8 | 5113 | 189.3 | yes |
| P-024 | F2-BY-12-2 | Heating water run 1 | 3.60 | 6.00 | 121 x 121 | 10.7 | -59.8 | 6523 | 206.4 | no |
| P-025 | F2-BY-12-2 | Power tray run 1 | 4.50 | 6.00 | 156 x 356 | 40.3 | -36.8 | 6256 | 205.1 | yes |
| P-026 | F2-BY-6-1 | Chilled water run 1 | 2.40 | 6.00 | 136 x 136 | -10.7 | -59.8 | 6409 | 205.9 | no |
| P-027 | F2-BY-6-1 | Supply air run 1 | 3.20 | 6.00 | 306 x 456 | 15.7 | -57.7 | 5113 | 189.3 | yes |
| P-028 | F2-BY-6-2 | Extract air run 1 | 2.40 | 6.00 | 306 x 406 | -28.9 | -48.8 | 5113 | 189.3 | yes |
| P-029 | F2-BY-6-2 | Heating water run 1 | 3.60 | 6.00 | 121 x 121 | 10.7 | -59.8 | 6523 | 206.4 | no |
| P-030 | F2-BY-6-2 | Power tray run 1 | 4.50 | 6.00 | 156 x 356 | 40.3 | -36.8 | 6256 | 205.1 | yes |
| Id | Beam | Rules exceeded |
|---|---|---|
| P-020 | F2-BX-6-3 | Opening height / beam depth is 0.761, limit 0.5; Smaller tee / beam depth is 0.117, limit 0.25; Centre is at 0.843 of the span, outside the middle third; |V| at the opening / largest |V| in the member is 0.628, limit 0.5 |
| P-022 | F2-BY-12-1 | Opening height / beam depth is 0.761, limit 0.5; Smaller tee / beam depth is 0.117, limit 0.25 |
| P-023 | F2-BY-12-2 | Opening height / beam depth is 0.761, limit 0.5; Smaller tee / beam depth is 0.117, limit 0.25 |
| P-025 | F2-BY-12-2 | Centre is at 0.75 of the span, outside the middle third |
| P-027 | F2-BY-6-1 | Opening height / beam depth is 0.761, limit 0.5; Smaller tee / beam depth is 0.117, limit 0.25 |
| P-028 | F2-BY-6-2 | Opening height / beam depth is 0.761, limit 0.5; Smaller tee / beam depth is 0.117, limit 0.25 |
| P-030 | F2-BY-6-2 | Centre is at 0.75 of the span, outside the middle third |
| Rule | Limit |
|---|---|
| Opening height | at most 0.5 x beam depth |
| Tee above and below the opening | at least 0.25 x beam depth each |
| Position of the centre | in the middle third of the span |
| Opening length along the beam | at most 3 x opening height |
| Clear spacing between openings | at least 1.5 x the larger opening height |
| Clear distance to the support | at least 1 x beam depth |
| Shear at the opening | flagged at 0.5 x the largest shear in the member or more |
| Id | Slab | Run | Opening (mm) | Needs an engineer | Reason |
|---|---|---|---|---|---|
| P-016 | Level 2 floor slab | Riser duct | 456 x 356 | yes | slab opening larger than 300 mm on a side (assumed rule of thumb) |
| P-017 | Level 2 floor slab | Riser pipe | D156 | no | |
| P-018 | Roof slab | Riser duct | 456 x 356 | yes | slab opening larger than 300 mm on a side (assumed rule of thumb) |
| P-019 | Roof slab | Riser pipe | D156 | no |
Setup. The five horizontal runs were routed by the preview op routeMep in a zone from 3.5 m to 3.9 m, the depth of a W16X36 beam under a 200 mm slab, on a model with no structure in it, so the router could not avoid beams or walls. The routed paths and sizes were then written into the structural model. The two risers were placed by hand. The finder (packages/core/src/mep/penetrations.js) read the written IFC and listed the crossings, then the model was built again with an opening and a sleeve at each.
Sleeves. Inside size = run outside size plus 25 mm each side; sleeve wall 3 mm; the opening is the sleeve outside size. All three are assumed values for this sample. In the IFC an opening is an IfcOpeningElement in the host (IfcRelVoidsElement), filled by an IfcCovering of type SLEEVING (IfcRelFillsElement).
Fire rating. Every penetration of a host that carries a rating is flagged as needing a listed firestop system. The rating is read from the host property set. The unrated partition has no rating and is not flagged.
Web opening screen. The rules are assumed rules of thumb for a sample, of the kind public guidance on beams with web openings discusses (AISC Design Guide 2, SCI P355); the values are not taken from those documents. The forces are from the frame solver, linear analysis without P-delta effects, at the opening centre; Vz and My are in the solver local axes (a negative My is sagging). Reduced section: web area removed over the opening height, fillets ignored, a round opening taken as the square that bounds it. A row that exceeds no rule is not a structural check, and a flagged row is a row an engineer reviews.
Slab openings. A slab opening with a side over 300 mm is flagged for an engineer: an assumed rule of thumb.
The finder lists 0 overlaps that are not a square crossing.
Preliminary screening, not engineering and not for construction. Method: Linear elastic, small-displacement, static analysis of a 3D frame by the direct stiffness method: linear analysis without P-delta effects. Euler-Bernoulli members, no shear deformation, no surface (slab or wall) stiffness; surface loads reach the supporting members by tributary distribution (one-way, or 45 degree yield lines).
Sources
Where each dimension comes from. Anything marked as chosen for the sample is an assumption, not a measurement.
- Sections W12X26 (columns) and W16X36 (beams). AISC shapes database dimensions, as used in showcases/structural-frame-demo.
- Floor live load 2.4 kPa (50 psf), roof live load 1.0 kPa (20 psf). Typical office floor and minimum roof live loads from ASCE 7-16 Tables 4.3-1 and 4.8-1; chosen for this sample, not checked against the standard.
- Duct, pipe and tray sizes. Computed by the routing engine (packages/core/src/mep/route/sizing.js): Darcy-Weisbach with the Altshul-Tsal friction factor for ducts (ASHRAE Fundamentals ch. 21), Hazen-Williams for pipes, a fill ratio for trays. Flows are chosen for this sample..
- Sleeve sizing: inside size = the run outside size plus 25 mm each side; sleeve wall 3 mm; the opening is the sleeve outside size. Assumed values for this sample. They are not taken from a standard or a manufacturer..
- Web opening screening limits (opening height at most half the beam depth, each tee at least a quarter of the depth, centre in the middle third of the span, length at most 3 times the height, clear spacing at least 1.5 times the larger height, clear distance to the support at least the beam depth, shear flag at half the largest shear in the member). Assumed rules of thumb for this sample. They are the kind of limit that public guidance on beams with web openings discusses (AISC Design Guide 2, SCI P355); the values are not taken from those documents and are not design criteria..
- Fire ratings of the walls (1HR, 2HR, none) and of the floor slab (1HR). Chosen for this sample, written to Pset_WallCommon.FireRating and Pset_SlabCommon.FireRating. They are not a code analysis..
- Layout, bay sizes, storey height, loads and service flows. Chosen for this sample. No real building is represented..
Built 2026-10-27 with node tools/showcase/build.js structural-penetrations. 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.