Skip to content

Operac/3d-Sculptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸͺ™ 3D Coin Sculptor

Free, browser-based 3D coin, medallion and commemorative plaque designer β€” upload a portrait, configure your design, and export a print-ready STL file in seconds.

MIT License React Three.js TypeScript Vite TailwindCSS


✨ What It Does

3D Coin Sculptor turns a flat portrait photo or depth map into a fully 3D bas-relief mesh ready for:

  • 3D printing (FDM, SLA, SLS)
  • Bronze / silver casting via lost-wax or sand casting
  • CNC milling of commemorative coins and medallions
  • Digital collectibles and NFT coin art

No CAD knowledge needed. No subscription. Runs entirely in your browser.


πŸ–ΌοΈ Screenshots

preview 3d 6
preview 3d 1 preview 3d 2 preview 3d 3 preview 3d 5 _Add your own screenshots here β€” one of the 3D viewer, one of the settings panel._

πŸš€ Live Demo

https://3d-sculptor.vercel.app


πŸ”‘ Key Features

Feature Detail
AI Portrait Relief Converts any image into a depth map using AI; brighter pixels = higher relief
Arc Inscription Text Top and bottom arc text with auto-fit font sizing and span control
3 Sculpting Modes Raised (3D), Emboss (soft rounded relief), Engraved (intaglio)
Signature Font Choice Great Vibes cursive or Trajan Pro Bold (better for casting)
Portrait Medallion Ring Auto-positioned border ring between portrait and text arc
Double-Faced Coins Mirror design on the back face β€” text reads correctly on both sides
Show / Hide Rim Toggle a raised border edge with configurable width and height
4 Presets Pocket Coin (38 mm), Plaque (150 mm), Primary Plaque (425 mm), Replica Pocket (39 mm)
STL Export Watertight, manifold mesh ready to slice or send to a foundry
Advanced Materials Gold, Silver, Bronze preview with metallic / roughness controls
Live 3D Viewer Orbit, zoom and inspect the coin in real time with Three.js

πŸ› οΈ Tech Stack

Layer Technology
UI Framework React 19 + TypeScript
3D Engine Three.js r183
AI Depth Model @xenova/transformers (runs in-browser via ONNX)
Styling Tailwind CSS v4
Animation Motion (Framer Motion)
Build Tool Vite 6
Fonts Trajan Pro (local) Β· Great Vibes (Google Fonts)

πŸ“¦ Getting Started

Prerequisites

  • Node.js β‰₯ 18
  • npm β‰₯ 9

Install & Run

# 1. Clone the repo
git clone https://github.com/Operac/3d-coin-sculptor.git
cd 3d-coin-sculptor

# 2. Install dependencies
npm install

# 3. Start the dev server
npm run dev

Open http://localhost:3000 in your browser.

Build for Production

npm run build
# Output β†’ dist/

🎨 How to Use

  1. Choose a preset β€” Pocket Coin, Plaque, Primary Plaque or Replica Pocket
  2. Upload your portrait β€” high-contrast photo or grayscale depth map works best
  3. Add arc text β€” type your top and bottom inscriptions; adjust span and size
  4. Configure relief β€” choose Raised, Emboss or Engraved; set base height and rim
  5. Add a signature β€” pick Cursive or Trajan Pro font; position with sliders
  6. Enable the medallion ring β€” auto-positioned portrait border circle
  7. Export STL β€” download and open in your slicer or send to your casting house

Tips for Best Results

  • Use a grayscale depth map where white = highest point and black = base
  • High-contrast portraits with a clean background produce the sharpest relief
  • For bronze casting, set Relief Depth β‰₯ 2 mm and use Trajan Pro for text
  • For 3D printing pocket coins, keep base height ≀ 2 mm and use Raised mode

πŸ“ Preset Specifications

Preset Diameter Base Height Relief Use Case
Pocket Coin 38 mm 1.5 mm 1.0 mm Standard collector coin
Plaque 150 mm 4.0 mm 3.0 mm Wall-mounted medallion
Primary Plaque 425 mm 5.5 mm 6.0 mm Large commemorative plaque
Replica Pocket 39 mm 1.2 mm 1.0 mm Replica / challenge coin

πŸ—‚οΈ Project Structure

src/
β”œβ”€β”€ components/
β”‚   └── CoinViewer.tsx      # Three.js 3D viewer with orbit controls
β”œβ”€β”€ lib/
β”‚   └── coinGenerator.ts    # Core depth-map β†’ mesh pipeline + text renderer
β”œβ”€β”€ App.tsx                 # Main UI, settings panel, presets
└── main.tsx                # Entry point + font pre-loading
public/
└── fonts/                  # Trajan Pro (Regular, Semibold, Bold)

🀝 Contributing

Pull requests are welcome! If you have ideas for new features β€” different coin shapes, QR code embedding, batch export, new font options β€” please open an issue first to discuss.

# Fork β†’ clone β†’ create a feature branch
git checkout -b feature/your-feature-name

# Make your changes, then open a PR

🏷️ Topics & Keywords

3d-coin coin-designer medallion stl-generator 3d-printing bas-relief commemorative-coin challenge-coin portrait-coin coin-maker plaque-designer three-js react typescript depth-map relief-design coin-casting bronze-coin stl-export coin-engraving numismatics 3d-printable


πŸ“„ License

MIT β€” free to use, modify and distribute.


⭐ Support the Project

If this tool saves you time or helps your project, please star the repository β€” it helps others discover it and keeps development going.

Built for designers, makers, foundries and anyone who wants to create beautiful coins without expensive CAD software.