ComfyUI Node
kubakub mesh turntable rule check
Walks around a finished 3D mesh and checks every side for places a person could climb, sit or lie on (the same rules as relief safety check). One overlay per view: red = foothold, orange = seat, yellow = lying surface.
kubakub mesh turntable rule check
- overlays
- report
- passes
- flagged
◄mesh_path►
◄mesh_unitsm►
◄up_axisY►
◄views8►
◄start_azimuth_deg0►
◄resolution512►
◄ground_offset_mm0►
◄reach_mm2500►
◄foothold_depth_mm25►
◄min_width_mm80►
◄clearance_mm150►
Categorykubakub/3d/fabricate/relief
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh_path | STRING | Full path of the mesh file. OBJ always works; GLB, GLTF, PLY and STL need trimesh installed. The node re-runs when the file changes. Empty = the built-in sample facade (metres, Y up). | |
| mesh_units | COMBO | m | The unit the mesh was modelled in, so the check works in real millimetres. |
| up_axis | COMBO | Y | Which axis points up in the mesh file (Y for most OBJ / GLB exports, Z for some CAD tools). |
| views | INT | 81–24 | How many directions around the mesh are checked, evenly spaced (8 = every 45 degrees). |
| start_azimuth_deg | FLOAT | 0-360–360 | Direction of the first view around the up axis, in degrees. 0 = from the front. |
| resolution | INT | 512128–2048 | Width of each view in pixels. Higher = finer but slower. |
| ground_offset_mm | FLOAT | 0-5000–5000 | Added to the mesh's own height, in mm: how high its lowest point sits above the ground. 0 = as modelled. |
| reach_mm | FLOAT | 2500500–6000 | Height above the ground, in mm, up to which a foothold counts as reachable. |
| foothold_depth_mm | FLOAT | 255–300 | A step outward at least this deep, in mm, counts as a foothold. |
| min_width_mm | FLOAT | 8010–1000 | A foothold must run at least this wide, in mm, to count. |
| clearance_mmopt | FLOAT | 15020–1000 | Band above a step, in mm, that it is measured against: the step must stick out beyond everything in this band. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| overlays | IMAGE | One image per view with the flagged areas coloured. |
| report | STRING | Failing views, footholds, the largest undercut share and the result per view (json). |
| passes | BOOLEAN | True when every view passes. |
| flagged | MASK | One mask per view, white where a foothold, seat or lying surface was flagged. |