Create terrain
create_terrainCreates a terrain in an IfcSite from surface points; no target, created names the new elements, dry_run previews. moddl builds the rim walls, the flat bottom at base_z and one closed body per layer (2 or more layers: a TERRAIN container, one part per layer). Without triangles moddl triangulates by Delaunay, the rim is the convex hull, and the surface between the points is an assumption; for break lines or a concave rim name the triangles. New revision, effect report. A call that succeeds is not a job that's done. The report's terrain_created: the volume per layer, measured on the mesh, its source no stronger than the surface, checked against thickness x plan area; surface.support_m: the farthest plan distance to a point the height there is interpolated from. Default colour: top layer green, the layers below earth brown, darker with depth; set_properties SurfaceColour changes it. Change it later with edit_terrain (heights, pits, remove), never by creating it again. With boreholes (IFC4X3): an IfcGeomodel, one IfcGeotechnicalStratum per layer from the logs, interpolated linearly between the boreholes (an assumption; the report names support_m, the distance to the nearest borehole), ending at their hull unless beyond_boreholes; rest groundwater gives a WATER body; boreholes given inline are written as IfcBorehole.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"base_z": "<base_z>"
},
"name": "create_terrain"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the container or the single element | |
| note | No | Your note, stored with the new revision | |
| base_z | Yes | Bottom of the terrain body, world z in m; never assumed | |
| layers | No | Top to bottom; the last reaches down to base_z. None or one: one terrain element. With boreholes: the binding stratigraphic sequence | |
| points | No | Surface heights [x,y,z] in world m; with boreholes optional (the collars are the surface) | |
| source | No | Where the values you write come from: assumption (default, your own estimate, stamped in the file) or user (only what the person named word for word; it then reads as the file does) | |
| dry_run | No | Preview: the planned effect and its checks, nothing written | |
| boreholes | No | Vertical boreholes, each guid or at + log | |
| triangles | No | [i,j,k] point indices from 0, any orientation | |
| request_id | No | Your id for this call: a repeat answers the first result and writes nothing | |
| surface_from | No | With boreholes, instead of points: a terrain in the model whose top is the surface; read only, never changed | |
| beyond_boreholes | No | Extend the strata to the points rim with the nearest hull values | |
| ContainedInStructure | No | The IfcSite by GlobalId or Name; needed where the file has several |