Files
archived-stlTexturizer/README.md
T

2.8 KiB

STL Texturizer

Live demo: https://cnckitchen.github.io/stlTexturizer/

A browser-based tool for applying surface displacement textures to STL files — no installation required.

Load any .stl file, pick a texture, tune the parameters, and export a new displaced STL ready for slicing.

Features

  • Texture presets — 17 built-in seamless textures (basket, brick, bubble, carbon fiber, crystal, grip surface, hexagons, knitting, knurling, leather, noise, voronoi, weave variations, wood, and more)
  • Custom textures — upload your own image as a displacement map
  • Projection modes — Triplanar, Cubic (Box), Cylindrical, Spherical, Planar XY/XZ/YZ
  • UV transform — independent U/V scale, offset, and rotation controls
  • Displacement amplitude — fine-tune depth from subtle grain to deep relief
  • Surface mask — skip horizontal top/bottom faces to keep flat surfaces clean
  • Surface exclusions / inclusions — paint individual faces with a brush or bucket-fill to exclude or exclusively include them from displacement
  • Live preview — real-time textured 3D preview with orbit/pan/zoom controls
  • Mesh subdivision — auto-subdivides coarse geometry before displacement for smoother results
  • Export — downloads a new binary STL with displacement baked in
  • Light / Dark theme — persisted per browser
  • Multilingual — English and German UI

Usage

  1. Open index.html in a modern browser (Chrome, Edge, Firefox, Safari).
  2. Drop an STL file onto the viewport or click Load STL….
  3. Select a texture preset from the sidebar (or upload a custom image).
  4. Adjust projection mode, UV scale, offset, rotation, and amplitude.
  5. Optionally mask or exclude surfaces with the brush/fill tools.
  6. Click Export STL to download the displaced mesh.

Note: All processing runs entirely in the browser — no data is uploaded to any server.

Project Structure

index.html          # Main entry point
style.css           # Styles (light/dark theme)
textures/           # Built-in JPG displacement map images
js/
  main.js           # App bootstrap & UI wiring
  viewer.js         # Three.js scene / camera / controls
  stlLoader.js      # Binary & ASCII STL parser
  presetTextures.js # Built-in texture presets + custom upload
  previewMaterial.js# Three.js material for live preview
  mapping.js        # UV projection logic
  displacement.js   # Vertex displacement baking
  subdivision.js    # Mesh subdivision
  decimation.js     # QEM mesh decimation
  exclusion.js      # Face exclusion / inclusion painting
  exporter.js       # Binary STL export
  i18n.js           # Translations (EN / DE)

Dependencies

Loaded via CDN — no build step needed:

License

MIT — see LICENSE.