100% Client-Side 3D Mesh Diagnostics & Auto-Repair Engine for Additive Manufacturing & 3D Printing. Automated repair of broken STL, OBJ, and 3MF files directly in browser memory β Zero-Upload, no cloud dependencies, maximum privacy.
π Website & Live Tool: https://www.meshdoc.de/
- Zero-FOUC Theme Switcher: Instant theme initialization before DOM render prevents any blinding white or dark flashes.
- WCAG AA/AAA Contrast Compliance: Fully tuned high-contrast Light Mode palette ensuring crystal-clear text readability on all cards, badges, and diagnostic drawers, with Dark Mode as default.
- Streamlined Header: Clean, uncluttered top navigation bar with unified controls and centralized language switcher.
- Dynamic Three.js Environment: Seamlessly switches between high-tech dark space and a bright, modern CAD studio background (
#edf2f7). - Adaptive Build Plate & Lighting: Real-time adaptation of the 220x220 mm build plate grid, boundary frame, directional lighting, and contrast-tuned shaders for original and repaired meshes.
- All file operations (parsing, diagnostics, ear-clipping hole repair, vertex welding, and export) execute strictly locally inside client browser memory (
Float32Array,Blob,ArrayBuffer). - No server uploads, no cloud dependencies, and no third-party CDNs (all fonts and Three.js modules are self-hosted).
- 0% Idle GPU Utilization: WebGL rendering loop pauses completely during stationary states, eliminating GPU fan noise, excessive power draw, and screen flickering.
- Optimized CAD 3-Point Lighting: Crystal-clear topological inspection without the heavy VRAM depth-pass overhead of dynamic 2048 shadow maps.
- Pre-Repair Inspection: Shows exact verified vertex/triangle counts and explains precise repair operations.
- Post-Repair Audit: Displays full Before β After comparison with exact delta badges (
Β±Ξ) and verified 100% Watertight / Manifold status.
- Remove Redundant CAD Duplicate Faces: Identifies and cleans overlapping triangles from complex multi-body CAD exports.
- Planar Ear-Clipping Hole Triangulation: Reliable closure of open boundary loops and missing surface patches.
- Topological BFS Surface Normal Alignment: Consistent outward-facing normal winding propagation across shared edge graphs.
- Spatial Vertex Welding: Merges duplicated co-located vertices using a spatial hash table.
- Sharp CAD Facet Shading: Recalculates exact face normals for crystal-clear geometry rendering.
- Live 3D Scanning Laser: Animated visual scanning HUD during the repair process with real-time multi-step progress feedback.
- Zero-Offset Defect Lines: Open edges (Red) and non-manifold edges (Yellow) are rigidly parented to the model for perfect alignment.
- Comparison Modes: Original, Repaired, and Split-View (Side-by-side pre/post inspection).
- Bed Alignment Tools: 1-click drop to build bed (
Z = 0) and centering on a 220 x 220 mm build plate. - Non-Intrusive Sticky Repair Pill: Floating quick-action button docked at bottom-center when scrolling past the dashboard.
- Smooth Ease-In-Out Back-To-Top: High-precision easing navigation (
easeInOutCubic).
- Expandable diagnostic cards explaining the exact root cause in 3D slicers and the applied algorithmic solution.
- Metrics: Triangle count, vertices, dimensions (X Γ Y Γ Z in mm), surface area (cmΒ²), and signed volume (cmΒ³).
- Slicer-Readiness Assessment: Evaluated for Bambu Studio, OrcaSlicer, PrusaSlicer, and Ultimaker Cura.
- Automatic calculation of model weight (g) and filament length (m) for PLA, PETG, ABS, and TPU with customizable infill (0 β 100%).
- Binary STL: Compact binary STL for all 3D printing slicers.
- ASCII STL: Human-readable STL format.
- 3MF: Modern 3D Manufacturing Format container packaging.
- Wavefront OBJ: Universal 3D polygonal geometry.
- Secure PHP backend for Hetzner Webhosting & Cloud servers.
- Anti-spam honeypot, header injection protection, rate limiting, and SPF/DMARC compliant delivery to
info@meshdoc.de.
No build step or Node.js environment required!
# Clone the repository
git clone https://github.com/Exulizer/MeshDoc.git
cd MeshDoc
# Run local HTTP server
python -m http.server 8080Open http://localhost:8080 in your browser.
npx serve .- Connect via SFTP to your Hetzner Webhosting (konsoleH) or VPS.
- Upload all files into your domain's public document root (e.g.
public_html/orwww/). - Done! The web application and the PHP mailer backend (
contact.php) work instantly out-of-the-box.
Developed by Sven Harzer (svender3d.de)
Licensed under the MeshDoc Source-Available End-User License (Free for personal and commercial usage).
