hannobraun/fornjot

The possibility of Fornjot as an alternative CAD kernel for CadQuery

Closed this issue · 1 comments

CadQuery is an intuitive, easy-to-use Python module for building parametric 3D CAD models. At present, the underlying CAD kernel for CadQuery is OpenCascade. Multiple CAD kernels supporting was considered in the initial design of CadQuery. However, the open source CAD kernel is rare. To experiment with adaptation to other CAD kernels, I've created a minimal CadQuery. IMO, another kernel may benefit the development of CadQuery.

To make the adaption, we firstly need to create a Python binding for Fornjot. I wonder whether somebody has done the Python binding thing? Through the web search, I have found no work on the binding.

On top of the above mentioned Python binding, Fornjot should support the following CAD types:
Vertex
Edge
Wire
Face
Shell
Solid
CompSolid
Compound

A STEP exporting function should be there for output.

@hannobraun I'd like to see that the CadQuery could work with Fornjot, and I'd like to make this happen, even if only a simplest prototype at the first beginning.

Hey @huskier, thank you for your interest in Fornjot!

I think using Fornjot as a kernel for CadQuery is an exciting possibility, but I worry that the project is not ready for that. Specifically, the geometry that Fornjot can represent is very limited, which is something I'm working on fixing.

To make the adaption, we firstly need to create a Python binding for Fornjot. I wonder whether somebody has done the Python binding thing? Through the web search, I have found no work on the binding.

To my knowledge, no Python binding exists for Fornjot.

On top of the above mentioned Python binding, Fornjot should support the following CAD types:
Vertex
Edge
Wire
Face
Shell
Solid
CompSolid
Compound

Fornjot supports most of those. It doesn't represent wires, and I don't know what CompSolid and Compound are.

A STEP exporting function should be there for output.

This is not supported. And I don't think it makes sense to work on that until #2118 is done.


Since this doesn't track actionable work that needs to be done within this repository (except for STEP support, which is on the feature wishlist, I'm converting this to a discussion.