Skip to content

Add OpenSCAD support for exporting models in STEP format #111

@t-paul

Description

@t-paul

Outline

The STEP format is widely used in the industry to transfer CAD data between different systems. Currently OpenSCAD does not support STEP import or export. Adding STEP export would open up a number of new usecases or simplify the workflow as no external conversion tools are needed to convert to STEP. This includes the design of 3D models for other CAD tools, e.g. for KiCAD where STEP models are used to render 3D representations of PCBs. Other use cases are for manufacturing where sometimes only STEP files are accepted as input, e.g. for CNC milling services.

Details

The main focus of this project is to get the ground work done for exporting more detailed models, as opposed to just exporting the fully rendered single mesh which is the normal case right now.

Topics that need to be solved

  • Research options of usable libraries
  • Investigate what type of STEP files are accepted as input by various tools
  • Select library and integrate into OpenSCAD
  • Implement base functionality to export single meshes
  • Add test cases to verify the new export functionality
  • Update build system to include the new library into installers
  • Prototype how more advanced models can be exported

Expected Outcome

  • OpenSCAD supports exporting single meshes as STEP
  • (optional) Understanding/Plan of how to support additional features supported by STEP

Project Properties

Skills

  • Programming language is C++
  • Understand and use APIs from external libraries
  • Integrate new libraries into the build system for the 3 supported platforms
  • Add test cases with files using the new features to allow regression testing

Difficulty

Hard

Size

Long (350h)

Additional Information

Known libraries:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions