check_3d_printability
Checks a Blender mesh for 3D printability, catching reversed normals, self-intersections, and thin walls that slicers reject.
Instructions
Check whether a mesh will 3D print, using Blender's 3D Print Toolbox.
Catches three defects a mesh can carry while still passing analyze_mesh_quality, because each one leaves the mesh manifold, watertight and free of degenerate faces:
Bad contiguous edges: a shell whose normals agree with each other but collectively face inward. Recalculating normals reports nothing to fix, and the slicer rejects the file as having reversed faces.
Intersect faces: the surface passing through itself.
Thin faces: walls thinner than the nozzle, which slice away to nothing.
It also reports shell count, zero-area faces and edges, non-flat faces, sharp edges and overhanging faces. Index lists are capped at 50 samples and can be fed straight to select_by_index to see the problem in Blender.
Requires the 3D Print Toolbox extension, which ships with Blender but is off by default. If it is disabled this returns an error saying how to enable it; suggest_extensions also reports whether it is on.
Args: object_name: Name of the mesh object to check. checks: Which checks to run - any of SOLID (non-manifold and bad contiguous edges), INTERSECT, DEGENERATE (zero faces and edges), THICKNESS, SHARP, OVERHANG, NONPLANAR. Omit or pass an empty list to run everything, which also reports shell count. Counts are only returned for checks that actually ran. overhang_angle: Overhang threshold in RADIANS. Faces steeper than this need support. 0.785 (45 degrees) is the usual FDM limit. Leave unset to keep the toolbox's current setting. min_thickness: Minimum wall thickness in Blender units. Set it to your nozzle width. Leave unset to keep the current setting. sharp_angle: Sharp-edge threshold in RADIANS. nonplanar_angle: Non-flat face threshold in RADIANS. zero_threshold: Area below which a face counts as zero-area.
Returns: Dict with a count (and sample indices) per check that ran, plus checks_run, issues_found, and print_blocking: the defects that stop a print, as opposed to overhangs and sharp edges which are advisory.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| checks | No | ||
| object_name | Yes | ||
| sharp_angle | No | ||
| min_thickness | No | ||
| overhang_angle | No | ||
| zero_threshold | No | ||
| nonplanar_angle | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||