cao_ids_verifier
WHEN a BIM manager's information requirements (an IDS 1.0 file, buildingSMART) must be checked on a model before delivery — ours built from the scene, or an architect's IFC: checks every specification (entity, attribute, property compared in SI units, classification, material, partOf; required, optional, prohibited; target IFC version) and returns, per specification, the applicable elements and those failing with their reasons; bcf: true adds the failures as BCF 2.1 topics with their objects. Without ids, checks our French housing IDS (rooms with net, habitable and Carrez areas, typed doors and windows, accessibility, load-bearing walls with materials, storeys, stairs, Lambert-93), free at GET /api/v1/cao/ifc/ids/logement-fr.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bcf | No | True to add the failures as a BCF 2.1 zip in base64 (bcf_base64). | |
| ids | No | Optional IDS 1.0 XML text; default: our French housing IDS. | |
| ifc | No | Optional IFC text (STEP) to check instead of the scene; an architect's model keeps its GlobalIds. | |
| 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. | |
| plomberie | No | Sanitary fixtures (sink, WC, shower…) — used only by cao_pdf. Same positioning as electricite. | |
| 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`). | |
| 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. |