Turn calibrated flatbed scans into clean, editable FreeCAD sketches.
Install · How it works · Technology · Roadmap · Contribute · Deutsch
Scan2Sketch is an open-source FreeCAD add-on for reconstructing the measurable
2D silhouette of a flat physical part. It combines scanner calibration,
computer vision and CAD-aware contour fitting, then validates the result before
creating a real Sketcher::SketchObject.
Scan2Sketch is beta software. Always verify safety-critical and manufacturing-critical dimensions against the physical part.
- Scan the part flat on the scanner glass and save it as a lossless PNG.
- Calibrate the scanner once for each resolution you use.
- Analyze the scan and select the intended component and holes.
- Review colour-coded contours, measurements and geometric candidates.
- Create a validated FreeCAD sketch and, optionally, a uniform pad.
The correction workspace supports both a guided workflow for new users and fine-grained tools for advanced contour editing.
For a plain-language overview and a detailed description of the hybrid pipeline, see Technology explained.
| Area | What Scan2Sketch provides |
|---|---|
| Input and scale | PNG, JPEG and TIFF input; DPI metadata; ruler and grid calibration; measurements in millimetres |
| Detection | Hybrid OpenCV, SAM and Light HQ-SAM workflow with a deterministic OpenCV fallback |
| Edge quality | Full-resolution material-edge refinement, multiple contour candidates and uncertainty estimates |
| Geometry | Lines, circles, arcs and continuity-aware B-splines; holes and colour-coded smart segments |
| Correction | Guided review, freehand edge guidance, masks, direct measurement, undo and redo |
| FreeCAD output | Topology validation, real Sketcher geometry, optional XY clearance and PartDesign::Pad |
| Privacy | Local processing; Scan2Sketch does not upload scans |
Scan2Sketch reconstructs a 2D silhouette. It does not infer hidden geometry, functional dimensions or part height from a single image. See Known limitations for the current boundaries.
Windows with FreeCAD 1.1.1 is the primary tested environment. Follow the Windows installation guide. Installation is confined to the current user's FreeCAD data directory and isolated Python environments; no FreeCAD program files or global Python packages are modified.
macOS support is in beta. The OpenCV workflow has been tested on Apple silicon; the optional SAM and Light HQ-SAM full-vision mode remains experimental. Follow the macOS installation guide.
Uninstallation instructions: Windows.
For reproducible input, use NAPS2 with the scanner's WIA or TWAIN driver:
- save as lossless PNG;
- disable automatic sharpening and enhancement where possible;
- use 600 dpi for general work or 1200 dpi for small critical features;
- calibrate every DPI mode used by Scan2Sketch;
- keep the part flat against the glass; and
- verify important dimensions with a caliper.
Scan2Sketch is an active public beta. The current priorities are reliable installation, broader scanner testing, measurable contour quality and a clear path toward the FreeCAD Addon Manager.
Bug reports, licensed example scans, documentation improvements and code
contributions are welcome. Start with CONTRIBUTING.md and the
issues labelled
good first issue
or help wanted.
I’m looking for contributors interested in contour fitting, FreeCAD integration, documentation and testing across different scanners.
Development setup is documented in docs/development_setup.md.
Scan2Sketch is free software licensed under GNU GPL v3 or later. Third-party libraries and optional model weights retain their own licences; see THIRD_PARTY_NOTICES.md.
