apply_texture
Apply a height map image to an STL/OBJ mesh, displace its surface to create relief or engraving, and export the result as a new STL or 3MF file.
Instructions
Subdivide a local STL/OBJ, displace its surface using a PNG/JPEG/WebP height map, optionally decimate, and export a new STL/3MF. Use after inspect_model. Preserves input coordinates. Never overwrites files. Negative amplitude engraves. No network downloads or browser automation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| invert | No | Invert image brightness before displacement. | |
| offset_u | No | Offset in texture cycles. | |
| offset_v | No | ||
| symmetric | No | Center brightness at 0.5; displacement range is +/- half amplitude. | |
| model_path | Yes | Absolute path or path relative to the configured BUMPMESH_ROOT. | |
| projection | No | triplanar | |
| output_path | Yes | New .stl or .3mf file inside BUMPMESH_ROOT. Parent directory must exist; overwriting is forbidden. | |
| amplitude_mm | No | Signed displacement at white; black is zero unless symmetric=true. Negative values engrave. | |
| rotation_deg | No | ||
| texture_path | Yes | ||
| tile_size_mm | No | Nominal square tile size; upstream preserves the image aspect ratio. | |
| max_triangles | No | Soft decimation target, not a memory limit; repairs can increase final count. | |
| exclude_top_deg | No | Exclude faces within this angle of +Z. Zero disables. | |
| refine_length_mm | No | Target maximum edge length before displacement. Smaller values cost more memory. | |
| exclude_bottom_deg | No | Exclude faces within this angle of -Z. Zero disables. Assumes Z-up. | |
| boundary_falloff_mm | No |