This repository converts ABC Dataset STEP models into clean A4 engineering drawings.
The pipeline generates:
PDFdrawings (A4 landscape)PNGdrawings (same layout as PDF)
Outputs are written under abc_0000_img_v00/ using the same relative folder structure as the source STEP files.
batch_drawing.py: Batch conversion tool with multiprocessing, timeout control, and failure/skip logging.test_drawing.py: Single-file test runner for validating drawing generation before batch runs.
- Read
STEPgeometry fromabc_0000_step_v00/. - Project the part into 4 drawing views: Front, Top, Right, Iso.
- Compose all views into one A4 engineering sheet.
- Export both
PDFandPNGtoabc_0000_img_v00/.
- Windows environment
- FreeCAD 1.0 installed at:
C:\Program Files\FreeCAD 1.0\bin
- Python packages (inside FreeCAD Python environment):
svglibreportlab
- ABC download (NYU Archive): https://archive.nyu.edu/handle/2451/43778
- ABC official website: https://deep-geometry.github.io/abc-dataset/
All example commands below use:
<path-to-repo>: your local repository folder path
Please replace <path-to-repo> with your own path before running commands.
Use this to quickly verify your environment and output format:
& "C:\Program Files\FreeCAD 1.0\bin\python.exe" <path-to-repo>/test_drawing.pyRun full dataset conversion with configurable workers:
& "C:\Program Files\FreeCAD 1.0\bin\python.exe" <path-to-repo>/batch_drawing.py --workers 8Optional arguments:
--step-root <path-to-repo>/abc_0000_step_v00
--output-root <path-to-repo>/abc_0000_img_v00--workers N: parallel processing via multiple processes.- Timeout: if one
STEPtakes more than 5 minutes, that file is skipped. batch_drawing.logrecords only:- timeout skips (
SKIP_TIMEOUT) - conversion failures (
FAIL)
- timeout skips (
For a source file:
..._step_XXX.step
The output base name becomes:
..._pdf_XXX
Generated files:
..._pdf_XXX.pdf..._pdf_XXX.png

