design_for_load
Check whether a 3D-printed part will carry its load, delivering a verdict with safety margin so you can size beams, arms, and brackets before printing.
Instructions
Will this part carry its load? A verdict with its safety margin.
Needs Kiln Pro.
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": {
"load_n": "<load_n>",
"length_mm": "<length_mm>",
"cross_section_mm": "<cross_section_mm>"
},
"name": "design_for_load"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | "normie" | "engineer" | "auto". Default: "auto". | |
| brief | No | Optional user brief (auto-detects engineer mode). | |
| load_n | Yes | Applied load in newtons. | |
| hardware | No | What the part carries besides the stated load, so it is counted: a list of items, each ``{"name": "PCB", "mass_g": 30, "count": 1, "position": "tip"}``. ``mass_g`` is per piece; ``position`` is "tip" (default: the free end, where it bends the arm most), "mid" or "spread". A short name Kiln knows a typical weight for ("cr2032", "18650") may leave out ``mass_g``; any other item without one is refused by name (``HARDWARE_UNWEIGHED``), never skipped. Liquid in a container is hardware too: a litre of water is about 1000 g. Another printed part bolted on is hardware with its own weight. | |
| material | No | Material id (petg, pla, nylon, etc.) or a filament brand id. A material with no strength figures is refused by name (``UNKNOWN_MATERIAL``) with the ones Kiln can judge. Default: "petg". | |
| design_id | No | The design the part belongs to, if it has one in Kiln. Default: "". | |
| length_mm | Yes | Cantilever span in mm (load arm). | |
| printer_id | No | Printer identifier (e.g. "bambu_a1") to look up calibration for. When supplied, the verdict's confidence_band is modulated by the calibration tier (HIGH narrows, LOW/UNKNOWN widen). | |
| version_id | No | The version of that design being checked. Give the design and version the part belongs to and the verdict is kept with that version, so the history can show what was predicted beside what happened; ``verdict_kept`` says where it was kept, or why it was not, and the answer is the same either way. With a version, ``extras.field_history.this_version`` counts the verdicts kept for it and the reports of how its prints held. ``pending_field_checks``, when present, lists printed parts Kiln judged that have no report yet, each with the question to ask. Default: "". | |
| cycle_count | No | How many times the load comes and goes over the part's life: 1 is a static load; a count in the thousands and up is judged for fatigue as well. Default: 1. | |
| load_position | No | "tip" | "mid" | "udl". Default: "tip". | |
| cross_section_mm | Yes | Geometry dict. For "rectangular": {"b_mm": ..., "h_mm": ...}. For "circular": {"d_mm": ...}. For "tube": {"b_outer_mm", "h_outer_mm", "b_inner_mm", "h_inner_mm"}. | |
| application_class | No | How much margin the use demands, least to most: "prototype", "internal_fixture", "consumer_product", "outdoor_hardware", "life_safety", "lifting_equipment". Any other value is refused. Default: "consumer_product". | |
| count_self_weight | No | Count the arm's own weight, spread along it, as solid plastic (default True). Turn off when the arm stands upright or the stated load is not its weight (a sideways push). Default: true. | |
| print_orientation | No | "along_layer" — the part bends within the layer planes (a beam printed lying flat): the strong case. "across_layer" — the load pulls the layer interfaces apart (a beam printed standing upright): the weak case, derated for the material's weaker layer bond. If unsure which applies, use "across_layer" — the conservative reading. Default: "along_layer". | |
| cross_section_kind | No | "rectangular" | "circular" | "tube". Default: "rectangular". | |
| load_duration_days | No | 0 = transient. A load held for a while is derated for creep, smoothly with duration (no steps: day 364 and day 365 agree); far beyond the measured span the answer says it is an extrapolation. The verdict says what share of its strength the part keeps for that duration, and reads the allowance at the part's own load level: a part loaded harder than the measurements behind the allowance gets a smaller one, and a part loaded past the heaviest level any measurement covers is not vouched for (the verdict fails and says so). Default: 0.0. | |
| service_temperature_c | No | The temperature the part lives at under load, in degrees C. Omitted = room temperature, and the verdict says so. A hotter part is judged at the nearest temperature Kiln has data for, at or above it, and the verdict names both: a hot part is weaker the moment it is loaded and creeps faster after. Past the data for that material the verdict comes back "unmeasured" (passes is null): it keeps the room-temperature answer so the part can still be sized, says where the data end and which materials are measured there, and asks to hear how the part did if it is printed anyway. Nothing is blocked. Naming a filament brand as the material (e.g. "bambu_pla_basic") applies that maker's own softening figure where it is lower. |