Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABC Dataset STEP-to-Engineering Drawing Pipeline

This repository converts ABC Dataset STEP models into clean A4 engineering drawings.

The pipeline generates:

  • PDF drawings (A4 landscape)
  • PNG drawings (same layout as PDF)

Outputs are written under abc_0000_img_v00/ using the same relative folder structure as the source STEP files.

Project 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.

How It Works

  1. Read STEP geometry from abc_0000_step_v00/.
  2. Project the part into 4 drawing views: Front, Top, Right, Iso.
  3. Compose all views into one A4 engineering sheet.
  4. Export both PDF and PNG to abc_0000_img_v00/.

Requirements

  • Windows environment
  • FreeCAD 1.0 installed at:
    • C:\Program Files\FreeCAD 1.0\bin
  • Python packages (inside FreeCAD Python environment):
    • svglib
    • reportlab

ABC Dataset Links

Path Setup

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.

How To Run

1. Single-file test

Use this to quickly verify your environment and output format:

& "C:\Program Files\FreeCAD 1.0\bin\python.exe" <path-to-repo>/test_drawing.py

2. Batch conversion

Run full dataset conversion with configurable workers:

& "C:\Program Files\FreeCAD 1.0\bin\python.exe" <path-to-repo>/batch_drawing.py --workers 8

Optional arguments:

--step-root   <path-to-repo>/abc_0000_step_v00
--output-root <path-to-repo>/abc_0000_img_v00

Runtime Behavior

  • --workers N: parallel processing via multiple processes.
  • Timeout: if one STEP takes more than 5 minutes, that file is skipped.
  • batch_drawing.log records only:
    • timeout skips (SKIP_TIMEOUT)
    • conversion failures (FAIL)

Output Naming

For a source file:

  • ..._step_XXX.step

The output base name becomes:

  • ..._pdf_XXX

Generated files:

  • ..._pdf_XXX.pdf
  • ..._pdf_XXX.png

Sample Engineering Drawings

Sample Drawing 1

Sample Drawing 2

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages