recommend_hole
Recommends drill hole sizes and clearance for screws, bearings, rods, and press-fit parts in 3D prints, using material, printer, fit, and depth to catch fit and printability issues.
Instructions
Tell me what size hole to drill for something to fit through.
Free door, tiered answer — Free: Warnings — always free · Pro: Sizing and fit for the hardware you bought · Business: + Per-machine fit, validation tests and QC plans across your fleet · Enterprise: + Child-safety & supplier vetting for magnets.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "recommend_hole"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | ``"press"`` (interference, smaller hole than thing — for press-fit bearings, magnets, pins; a heat-set insert is sized by name, see above), ``"transition"`` (slip-fit, downgrades to ``close`` on FDM with a notice), ``"close"`` (snug slip-through), ``"normal"`` (general assembly, default), ``"loose"`` (alignment-tolerant). Default: "normal". | |
| material | No | ``"PLA"``, ``"PETG"``, ``"ABS"``, ``"ASA"``, ``"Nylon"``, ``"TPU"``. Default: "PLA". | |
| print_axis | No | ``"xy"`` (hole axis horizontal, normal case) or ``"z"`` (hole axis vertical along the print build direction — extra shrinkage applied). Default: "xy". | |
| printer_id | No | Printer identifier (e.g. ``"bambu_a1"``). Required for the threaded table to apply; also enables slicer-calibration overrides on the clearance path. Default: "". | |
| screw_name | No | Catalog name (``"M3"``, ``"1/4-20"``). Use this for known fasteners. Default: "". | |
| thing_type | No | ``"screw"``, ``"rod"``, ``"cable"``, ``"bearing"``, ``"dowel_pin"``, ``"led"``, ``"press_fit_insert"``, ``"shaft"``, ``"tube"``, ``"generic"``. Cables get extra slack added. Default: "generic". | |
| hole_purpose | No | ``"clearance"`` (default — screw slips through), ``"self_thread"`` (machine screw threads into plastic), ``"self_tap"`` (self-tapping BT screw forms its own thread), or ``"counterbore"`` (the pocket that sinks a socket-head cap screw's head; size from ``screw_name``). The two threaded modes read the size from ``screw_name`` and are answered only for Bambu X1 / P1 / A1 printers printing PLA or PETG; for any other printer or material use a clearance hole here and ``recommend_joint_strategy``. Default: "clearance". | |
| hole_depth_mm | No | The hole's depth in mm. Given, the answer warns when the hole is too deep for its width to print cleanly, and (for a counterbore) when the pocket is shallower than the head or deeper than the key reaches. Default: 0.0. | |
| blind_or_through | No | ``"blind"`` (closed bottom — may trap support material) or ``"through"`` (default). Default: "through". | |
| edge_distance_mm | No | Distance from the hole's centre to the nearest edge of the part, in mm. Given, the answer warns when the hole sits close enough to the edge to bulge the wall. Default: 0.0. | |
| thing_diameter_mm | No | Free-form diameter (mm). Use this for non-screw things (rods, cables, bearings) or custom-size screws not in the catalog. Default: 0.0. | |
| wall_thickness_mm | No | The plastic around the hole, in mm. Given, the answer warns when the wall is too thin for the hole (for a heat-set insert, judged by that insert's own rule). Default: 0.0. |