Skip to content

Exodaz/keychain-generator

Repository files navigation

3D Keychain Name Generator 🗝️

A web-based, real-time 3D keychain generator built specifically for 3D Printing. This tool allows users to dynamically generate custom text keychains with advanced typography, stroke settings, and precise dimensional control, outputting perfectly manifold (solid) STL files ready for your 3D slicer.

Keychain Generator UI

✨ Features

  • Real-Time 3D Preview: Powered by Three.js, view your customized keychain from any angle instantly.
  • Advanced 2D Stroke Algorithms: Uses clipper-lib to generate perfect 2D vector offsets for your text's stroke, completely avoiding 3D artifacting.
  • Stroke Join Styles: Choose between Round, Bevel, or Miter joins for your text stroke.
  • Dynamic Hole Positioning: The keychain attachment hole auto-calculates its position to always stay attached to the edge of the text, or can be positioned manually.
  • Customizable Dimensions: Control depth, thickness, scaling, offsets, and hole diameter with precision (in millimeters).
  • Floating Text Design: Toggle the base plate to create beautiful "floating" text designs held together only by the stroke contour.
  • Manifold Mesh Export (CSG): Uses three-bvh-csg (Constructive Solid Geometry) to perform true mathematical boolean unions and subtractions under the hood. This guarantees that exported STL files are 100% solid, free from internal intersecting geometry, and will not throw "non-manifold edge" errors in Cura, PrusaSlicer, or Bambu Studio.

🛠️ Technology Stack

  • Vite - Fast frontend build tool.
  • Three.js - Core 3D rendering and geometry generation.
  • ClipperLib - Industry-standard library used for true 2D vector polygon offsetting (Stroke).
  • three-bvh-csg - Lightning-fast CSG boolean operations to guarantee 3D printable meshes.

🚀 Getting Started

Prerequisites

Make sure you have Node.js installed on your machine.

Installation

  1. Clone the repository:

    git clone https://github.com/Exodaz/keychain-generator.git
    cd keychain-generator
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev
  4. Open your browser and navigate to http://localhost:5173/.

🖨️ 3D Printing Tips

  • Export Format: The app currently exports clean STL files. (3MF support is coming soon!).
  • Orientation: The generated STL is oriented flat on the XY plane. You can drop it directly into your slicer without rotating.
  • Slicer Settings: The models are highly optimized. Standard 0.2mm or 0.16mm layer heights work perfectly.

📝 License

This project is open-source and available under the MIT License.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors