check_mold_layout
Check whether molds fit together on a rotational-molding machine arm. Every answer comes from the deterministic RotoSpider geometric layout engine: rotation-envelope and dead-height checks, pairwise mold-to-mold clearance, offset-arm riser selection, and ring arrangements for 3+ identical molds. It never returns a physically invalid layout. Args: molds: List of mold objects, ALL DIMENSIONS IN MILLIMETRES. Box/frame mold: {"length_mm": L, "width_mm": W, "height_mm": H}. Cylinder/tank mold: {"diameter_mm": D, "height_mm": H}. Optional per mold: "name", "weight_kg", "quantity" (default 1). machine: Preset machine model (2300, 2600B, 2600C, 3100, 3500B, 4600 - a representative carousel ladder). Leave empty AND give no explicit geometry to scan the whole ladder ("which machine can take these molds?"). arm_type: 'straight' (dual spiders) or 'offset' (single-spider offset/L arm). Empty = both. spider_diameter_mm: Custom machine - spider (mounting plate) diameter. Giving this plus envelope_diameter_mm switches to custom-machine mode instead of presets. envelope_diameter_mm: Custom machine - rotation envelope diameter (for offset arms: the vertical envelope diameter). dead_height_mm: Custom straight arm - unusable center height between the upper and lower spider surfaces. offset_spider_y_mm: Custom offset arm - spider Y offset from the spider center to the sphere center (required for custom offset). offset_horz_diameter_mm: Custom offset arm - horizontal usable envelope diameter after side trim (defaults to envelope). riser_heights_mm: Custom offset arm - available riser heights; the solver picks the best (or none). max_load_weight_kg: Optional arm weight capacity; the solver loads molds only up to this total weight. clearance_target_mm: Target mold-to-mold clearance (default 300). clearance_min_mm: Minimum acceptable clearance (default 150). Returns a summary sentence plus per-arm results: feasible, placed vs requested counts (per mold type when available), selected riser height, spider utilization, center-of-gravity offset, achieved clearance, and the engine's reason when molds do not fit.
Parameters12
| molds | array | required | |
| machine | string | optional | |
| arm_type | string | optional | |
| spider_diameter_mm | integer | optional | |
| envelope_diameter_mm | integer | optional | |
| dead_height_mm | integer | optional | |
| offset_spider_y_mm | integer | optional | |
| offset_horz_diameter_mm | integer | optional | |
| riser_heights_mm | any | optional | |
| max_load_weight_kg | number | optional | |
| clearance_target_mm | integer | optional | |
| clearance_min_mm | integer | optional |
Raw schema
{
"type": "object",
"properties": {
"molds": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Molds",
"type": "array"
},
"machine": {
"default": "",
"title": "Machine",
"type": "string"
},
"arm_type": {
"default": "",
"title": "Arm Type",
"type": "string"
},
"spider_diameter_mm": {
"default": 0,
"title": "Spider Diameter Mm",
"type": "integer"
},
"envelope_diameter_mm": {
"default": 0,
"title": "Envelope Diameter Mm",
"type": "integer"
},
"dead_height_mm": {
"default": 0,
"title": "Dead Height Mm",
"type": "integer"
},
"offset_spider_y_mm": {
"default": 0,
"title": "Offset Spider Y Mm",
"type": "integer"
},
"offset_horz_diameter_mm": {
"default": 0,
"title": "Offset Horz Diameter Mm",
"type": "integer"
},
"riser_heights_mm": {
"anyOf": [
{
"items": {
"type": "integer"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Riser Heights Mm"
},
"max_load_weight_kg": {
"default": 0,
"title": "Max Load Weight Kg",
"type": "number"
},
"clearance_target_mm": {
"default": 300,
"title": "Clearance Target Mm",
"type": "integer"
},
"clearance_min_mm": {
"default": 150,
"title": "Clearance Min Mm",
"type": "integer"
}
},
"required": [
"molds"
],
"title": "check_mold_layoutArguments"
}