add_surface_detail
Add screws, rivets, panel lines, or vents to hard-surface objects. Snaps fasteners to surfaces and cuts real grooves or boolean vents for manufactured detail.
Instructions
Secondary detail is what makes hard-surface models read as manufactured: seams, fasteners, vents. Screws/rivets are snapped onto the actual surface and parented to the object; panel lines are real grooves (bevelled by the object's bevel modifier); vents are a live boolean.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | panel_lines: the axis the cutting planes cross (Z = horizontal seams). | |
| kind | Yes | screws: cross-head screws in the 4 corners of a side (or at positions). rivets: rows of domed rivets along a side. panel_lines: grooves cut into the surface at planes across an axis (seams between panels/lid and body). vents: rounded slots cut into a side (live boolean). | |
| rows | No | ||
| side | No | top, bottom, front (-Y), back, left (-X), right. | front |
| size | No | screw/rivet head diameter in metres (default from the face size). | |
| count | No | screws: how many corners (1-4); rivets: per row; vents: slots; panel_lines: lines. | |
| depth | No | groove depth / vent slot depth. | |
| width | No | panel line groove width / vent slot width. | |
| length | No | vent slot length. | |
| margin | No | distance from the face border for screws/rivets. | |
| object | Yes | ||
| offsets | No | panel_lines: world coordinates along axis where seams go. | |
| material | No | Material preset name (list_material_presets), or {preset, color, roughness, weathering, ...} like apply_material, or the name of an existing material. Presets with a real-world scan use Poly Haven automatically; {'polyhaven': 'mossy rock'} picks any Poly Haven texture by description. | |
| positions | No | explicit world points on/near the surface for screws/rivets. |