# cao_generer_ifc

WHEN the drawing must leave as a real BIM file, openable in Revit/ArchiCAD/Solibri — not just a drawing. Draw a building scene and get an IFC4 file in millimetres: real spatial hierarchy (project/site/building/storeys), STABLE IFC GlobalIds (the same model keeps them across exports; pass projet_id; imported elements keep theirs), structural columns and beams (poteaux[], poutres[] become IfcColumn, IfcBeam; see GET /cao/schema), one named IfcSpace per room with its areas (floor, French habitable and Carrez), floor slabs cut by their stair openings, an IfcRoof, IfcStair flights, standard Pset/Qto quantities, and material layers carrying density and thermal conductivity. Wall/slab/door/window types, 2nd-level space boundaries, and Lambert-93 georeferencing (EPSG:2154, Scale 0.001) are included so Revit/Archicad can open a typed, located model. Declare compositions{} to replace type compositions. Doors/windows really cut their host wall (IfcOpeningElement + IfcRelFillsElement). Passes IFC4 schema and EXPRESS-rule validation. Validate locally with cao_valider_ifc (no buildingSMART account). Call cao_verifier first. Same scene as cao_generer_dxf. Returns a JSON object {ifc, elements, unites, schema}: the IFC file arrives INLINE as text in ifc — no download URL, nothing stored server-side, so write it to a .ifc file yourself. elements counts the IFC objects emitted and schema names the IFC version produced. Set armatures: true to add the reinforcement: IfcReinforcingBar with exact geometry for footings and lintels (aggregated to their host), one IfcReinforcingMesh per slab.

Agent View of the PolicyLayer registry record for `cao_generer_ifc`. HTML page: https://policylayer.com/tools/fr-synergieloc-immobilier/cao-generer-ifc

## Facts

- Tool: `cao_generer_ifc`
- Server: Immobilier (`https://synergieloc.fr/mcp`) — https://policylayer.com/tools/fr-synergieloc-immobilier.md
- Homepage: https://github.com/https://synergieloc.fr/mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 12
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `murs` | array | 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 righ |
| `plan` | array | 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` | array | no | Boxes (furniture, volumes): a rectangular block placed by its CENTRE, not by a corner. Millimetres, same frame as murs[]. |
| `georef` | object | 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 |
| `cercles` | array | 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 |
| `reseaux` | array | no | Plumbing pipe runs (EF/EC/EU/EV/EP/chauffage) — used only by cao_pdf (technical plan + linear-meter quantities per type). |
| `toitures` | array | 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 |
| `armatures` | boolean | no | Add the reinforcement computed per Eurocode 2 (bars and slab meshes). |
| `plomberie` | array | no | Sanitary fixtures (sink, WC, shower…) — used only by cao_pdf. Same positioning as electricite. |
| `decoration` | array | 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 |
| `ouvertures` | array | no | Doors/windows embedded in a wall — used only by cao_pdf (elevations + axonometric view), no effect on dxf/metres. |
| `electricite` | array | no | Electrical symbols (outlets, switches, lights…) — used only by cao_pdf (dedicated technical plan + quantities), no effect on dxf/metres/render. Position: attach |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cao_generer_ifc",
    "arguments": {}
  }
}
```

## Why cao_generer_ifc is rated High

cao_generer_ifc triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

Risk signals: High parameter count (95 properties)

## Use case

AI agents invoke cao_generer_ifc to trigger actions in Immobilier. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Immobilier:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "cao_generer_ifc": {
      "limits": [
        {
          "counter": "cao_generer_ifc_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Immobilier (69)

- `cao_energie` — Destructive — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-energie.md
- `cao_nomenclatures` — Destructive — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-nomenclatures.md
- `cao_verifier` — Destructive — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-verifier.md
- `cao_bibliotheque_familles` — Execute — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-bibliotheque-familles.md
- `cao_carnet` — Execute — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-carnet.md
- `cao_livrer` — Execute — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-livrer.md
- `cao_visite_camera` — Execute — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-visite-camera.md
- `bonnes_pratiques` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/bonnes-pratiques.md
- `cao_4d` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-4d.md
- `cao_devis` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-devis.md
- `cao_familles` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-familles.md
- `cao_ids_verifier` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-ids-verifier.md
- `cao_pdf` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-pdf.md
- `cao_rendu` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-rendu.md
- `cao_urbanisme` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-urbanisme.md
- `pack_partenaire` — Read — https://policylayer.com/tools/fr-synergieloc-immobilier/pack-partenaire.md
- `annonce_location` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/annonce-location.md
- `avenant_revision_irl` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/avenant-revision-irl.md
- `avis_echeance` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/avis-echeance.md
- `bon_intervention` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/bon-intervention.md
- `candidature_locataire` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/candidature-locataire.md
- `cao_bcf_ifc` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-bcf-ifc.md
- `cao_comparer_versions` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-comparer-versions.md
- `cao_conflits_ifc` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-conflits-ifc.md
- `cao_copilote` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-copilote.md
- `cao_demo` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-demo.md
- `cao_documents` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-documents.md
- `cao_famille_essayer` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-famille-essayer.md
- `cao_familles_recharger` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-familles-recharger.md
- `cao_ferraillage` — Write — https://policylayer.com/tools/fr-synergieloc-immobilier/cao-ferraillage.md
- …and 39 more: https://policylayer.com/tools/fr-synergieloc-immobilier.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=fr-synergieloc-immobilier · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/fr-synergieloc-immobilier
