cao_regles_structure_reseaux
WHEN a building scene must be completed with structure and building services by French rules before BIM export or quoting: lintels over openings of load-bearing walls, strip footings sized from service loads, slab span check (indicative pre-design, to be validated by a structural engineer); NF C 15-100 electrical points per room (outlets, RJ45, lighting with its switch, one smoke detector per level, panel with 30 mA RCD) and circuit count; single-flow mechanical ventilation per the 24 March 1982 decree (extract grilles in wet rooms, air inlets in dry rooms, fan, flows); drainage branches with slopes per NF DTU 60.11; water inlet and 200 L water heater placed where missing; room heat losses per NF EN 12831 and radiators sized at 55/45 °C (NF EN 442). Adds what is missing, never removes. Returns {scene, rapport, controles}; send scene to cao_generer_ifc to get IfcBeam, IfcFooting, IfcOutlet, IfcAirTerminal, IfcPipeSegment, IfcSpaceHeater…
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sol | No | Soil assumptions for footings: {contrainte_mpa (default 0.20), hors_gel_mm (default 800)}. | |
| vmc | No | Generate single-flow ventilation (extract grilles, air inlets, fan, flows). | |
| murs | No | Walls: plan segments extruded vertically. Every coordinate in this whole scene is in MILLIMETRES, in a single plan frame whose origin you choose — X to the right, Y upward, Z up from the floor. Keep one consistent origin across murs/boites/plan: the generators never recentre anything for you. | |
| plan | No | 2D reference lines — drawn flat, never extruded and never counted in the quantities. Use them for axes, plot limits or setting-out marks. | |
| boites | No | Boxes (furniture, volumes): a rectangular block placed by its CENTRE, not by a corner. Millimetres, same frame as murs[]. | |
| georef | No | Optional Lambert-93 (EPSG:2154) false origin for IfcMapConversion. Local millimetres are scaled by 0.001 to CRS metres. Do not invent coordinates: omit est/nord if unknown (origin stays 0). orientation is the angle in degrees of project X from map East, counterclockwise. | |
| cercles | No | Circles on the 2D plan, alongside plan[] lines: each has a centre and a radius, in the same unit as the plan. Use for round shapes a polyline would render badly — fillets, posts, manholes. | |
| reseaux | No | Plumbing pipe runs (EF/EC/EU/EV/EP/chauffage) — used only by cao_pdf (technical plan + linear-meter quantities per type). | |
| toitures | No | Roofs — used only by cao_pdf. WITHOUT this field: a flat roof is auto-generated over the footprint of ALL walls (legacy default). WITH it: compose freely — each entry can target a subset of walls (via `murs`), letting you build an L-shaped building's roof, or add a dormer on top of a main roof. | |
| chauffage | No | Compute room heat losses (NF EN 12831) and size radiators at 55/45 °C. | |
| plomberie | No | Sanitary fixtures (sink, WC, shower…) — used only by cao_pdf. Same positioning as electricite. | |
| structure | No | Generate lintels and strip footings, check slab spans. | |
| decoration | No | Paint/finish per wall — used only by cao_pdf. Colors the elevations (exterior face) and the axonometric view (face auto-detected by orientation relative to the building's centroid). | |
| ouvertures | No | Doors/windows embedded in a wall — used only by cao_pdf (elevations + axonometric view), no effect on dxf/metres. | |
| electricite | No | Electrical symbols (outlets, switches, lights…) — used only by cao_pdf (dedicated technical plan + quantities), no effect on dxf/metres/render. Position: attached to a wall (`mur`+`position`, like ouvertures) or free (`x`,`y`). | |
| evacuations | No | Generate drainage branches to the stack with slopes (NF DTU 60.11). | |
| alimentation | No | Place the water inlet and water heater when missing (NF DTU 60.11). | |
| compositions | No | Named wall/slab layer sets declared by the project. A key that matches an inferred kind (mur_exterieur, refend, cloison, plancher, toiture) or murs[].composition drops the Hypothese flag. Each value is {libelle, couches: [{cle, epaisseur?}]}. cle: enduit, bloc_beton, isolant, ba13, ossature, enduit_platre, beton_arme, tuile, charpente, etancheite. Omit epaisseur on the load-bearing layer. | |
| electricite_regles | No | Complete electrical points per NF C 15-100. |