Scan2Sketch is an open-source FreeCAD add-on that converts calibrated flatbed scans of flat parts into editable, validated Sketcher geometry. It can also create a uniform Part Design pad with a user-specified height.
Beta software: verify critical dimensions and the final FreeCAD shape before manufacturing a part.
Deutsch: README_DE.md
- PNG, JPEG and TIFF input with DPI metadata and scanner calibration
- hybrid OpenCV, SAM and Light HQ-SAM object detection with an OpenCV fallback
- local, full-resolution material-edge refinement and uncertainty estimates
- selectable components, holes and colour-coded smart segments
- guided correction workflow plus an expert toolbox
- line, circle, arc and B-spline fitting with continuity-aware smoothing
- freehand material-edge guidance, masks, undo/redo and direct measurement
- topology validation before creating a real
Sketcher::SketchObject - optional XY clearance and
PartDesign::Pad - German UI on German systems and English fallback
- local processing: scans are not uploaded by Scan2Sketch
Scan2Sketch reconstructs a 2D silhouette. It does not infer hidden geometry or part height from a single scan.
The primary supported environment is Windows with FreeCAD 1.1.1; macOS support is in beta. The OpenCV workflow has been tested on Apple silicon, while the optional SAM / Light HQ-SAM full-vision mode remains experimental on macOS. Install from source using INSTALL.md (Windows) or INSTALL_MACOS.md. The installation stays inside the current user's FreeCAD data directory and uses isolated Python environments; it does not modify FreeCAD program files or install global Python packages.
Uninstallation: UNINSTALL.md.
For reproducible results, NAPS2 is recommended: select the scanner's WIA or TWAIN driver, save as lossless PNG, disable automatic sharpening where possible, and use 600 dpi for normal work or 1200 dpi for small critical features. Complete Scan2Sketch's calibration sequence for every DPI mode used. Keep the part flat against the glass and verify important dimensions with a caliper.
& '.\.venv-opencv\Scripts\python.exe' -m unittest discover -s tests -p 'test_*.py'On macOS and Linux:
./.venv-opencv/bin/python -m unittest discover -s tests -p 'test_*.py'Development setup is documented in docs/development_setup.md. Contributions and reproducible issue reports are welcome; see CONTRIBUTING.md.
Scan2Sketch is free software licensed under GNU GPL v3 or later. The GPL permits use, modification, redistribution and commercial use, while requiring distributed derivative works to preserve the corresponding source and GPL freedoms. Third-party libraries and optional model weights retain their own licenses; see THIRD_PARTY_NOTICES.md.