-
Notifications
You must be signed in to change notification settings - Fork 23
Description
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
- Potential mentor(s): Marius Kintel (IRC: kintel), Torsten Paul (IRC: teepee), Ryan Colyer (IRC: InPhase)
- Organization website: https://www.openscad.org/
Known libraries:
- StepCode - http://stepcode.org/ (https://github.com/stepcode/stepcode)
- OpenCASCADE - https://www.opencascade.com/