v1.1.20 — Native Slicer, Scene Composer, AI Model Forge, 17-Brand Coverage
3DPrintForge now has its own slicing engine — pure JavaScript, written from scratch, runs without any external dependency. Plus a 3D Scene Composer with BSP-tree CSG, AI-powered Model Forge with text-to-3D intent parsing, automatic Mesh Repair, and expanded coverage to 17 printer brands across 75+ models.
Native Slicer Engine
A complete pure-JS slicing pipeline:
server/native-slicer.js— mesh→polygon→infill→G-code, fully integrated with mesh repairsliceLayer— z-plane intersection with edge-deduplicationoffsetPolygon— bbox-aware shrink (returns empty for degenerate over-shrink)lineInfill— adjustable density and anglelayersToGcode+sliceMeshToGcode— produces print-ready G-code
No external slicer required, no WASM blob, no shell-out. Just JavaScript.
Slicer Studio
A full standalone slicer program inside 3DPrintForge:
- Three.js viewport with orbit controls and per-layer preview
- Profile system — 23 default profiles seeded (12 printers, 7 filaments, 4 quality)
- Send to printer — one-click upload after slicing
- Profile editor — create, edit, duplicate, set as default
Reach it from the sidebar Library → Slicer Studio.
Slicer Bridge (Optional)
For users who already have OrcaSlicer, BambuStudio, or Snapmaker Orca installed, the Bridge wraps their CLI for headless slicing. Auto-detects via flatpak listings and AppImage paths — no configuration required.
Scene Composer
A 3D scene editor with BSP-tree CSG (Evan Wallace algorithm) for boolean mesh operations:
- Union, subtract, intersect on imported STL/3MF
- Mesh primitives (cube, sphere, cylinder, torus)
- Mesh transforms (translate, rotate, scale)
- Export combined scene as STL
AI Model Forge
Text-to-3D generation with intent parsing. Type natural-language descriptions ("a 60mm phone stand", "a hexagonal storage box with lid") and the engine routes through ai-forge-generators.js to produce print-ready meshes.
Mesh Repair Toolkit
Automatic detection and repair of broken STL/3MF files:
- Non-manifold edge fixing
- Hole filling
- Normal recalculation
- Watertight verification via
lib3mf.IsManifoldAndOriented
G-code Reference & Estimator
Built-in G-code reference (Marlin, Klipper, RepRap, Bambu) with per-command documentation, plus a time estimator that parses G-code and predicts print duration.
17 Brands, 75+ Models
Three new protocol clients added in this release:
- Duet/RRF (
server/duet-client.js) — Duet 3D control boards via REST/WebSocket - FlashForge FNet (
server/flashforge-client.js) — FlashForge proprietary protocol - Repetier-Server (
server/repetier-client.js) — multi-printer server with REST API
Combined with existing connectors:
| Protocol | Brands |
|---|---|
| Bambu MQTT | Bambu Lab (P1/P2/X1/A1/H2) |
| Moonraker WS | Snapmaker U1, Voron, Creality, Elegoo, AnkerMake (Klipper), QIDI, RatRig |
| PrusaLink HTTP | Prusa MK4, MK3.9, Mini+, XL |
| OctoPrint REST | Ender 3, Prusa MK3, Anycubic, Artillery |
| Snapmaker SACP | J1, J1s, Artisan |
| Snapmaker 2.0 HTTP | A150, A250, A350 |
| AnkerMake MQTT | M5, M5C |
| Duet/RRF | Duet 3, Duet 2 |
| FlashForge FNet | FlashForge Adventurer/Creator |
| Repetier-Server | Any printer behind Repetier-Server |
Printer Image Service
Real product images sourced from OrcaSlicer's GitHub repository (raw.githubusercontent.com/SoftFever/OrcaSlicer/main/resources/profiles/{Vendor}/{Model}_cover.png). Three-tier fallback:
- Local cache (
data/printer-images/) - OrcaSlicer GitHub URL
- Generated SVG placeholder (per-model distinct)
Visible on the Fleet view (#fleet).
Other Improvements
- 23 slicer profiles seeded via migration v135 — ready out of the box
- Multi-column UI grid — optimized layout for large screens
- Command Palette fix — Ctrl+K now shows all 25 panels
- Sidebar Library badge corrected from 11 to 12 after Slicer Bridge
- System sidebar fix — proper grouping
- 725+ tests passing — full suite green
Download
Download from the release page.
git clone https://github.com/skynett81/3dprintforge.git
cd 3dprintforge
./install.sh
Or download the desktop installer for your platform from the release page.
Full changelog: v1.1.20 Changelog
