What CAD kernel are you using? OpenCASCADE?
What CAD kernel are you using? OpenCASCADE?
The CAD kernel is written by me apart from the boolean solver for the meshes which is the superb https://github.com/elalish/manifold
To explain a bit more as "do your own kernel" is usually considered more mad than mad-science - this is not done on a whim. I spent over a decade doing CAD at Trimble, developing base tech and CAD offerings (including Tekla Structures and SketchUp). Happy to discuss the architecture more.
OpenCASCADE is included as part of STEP importer though.
Solvespace is a nice reference! One can already use it as prestep to modeling - just export the output as STL or SVG and import it :).
I've been using Open(Python)SCAD: https://github.com/WillAdams/gcodepreview but have wished for an interactive tool which would allow programmatic usage as well (apparently OnShape does this by having FeatureScript as the basis and the UI simply edits the script?).
The data model supports solving dependencies like this on the data level.
TBH I don't know at the moment how to make something like this accessible but will definitely keep it in mind.
BlockSCAD does this, and I've been thinking about parsing the XML and then using that 3D structure in my own project.
STEP XML would be probably the closest here.
To be realistic, I might wrap a CLI to AdaShape first, then the user could query the model and have their LLM backport the model tree to something like CadQuery :D
And specifically ”whatever xml”, not, say STEP, or , openscad code, python code (via using cadquery) or anything like that?
Do you know your final output format?
Then, I would import that into my project, parse the geometry and instructions for processing it so as to create a 3D model, then I would work through the toolpaths necessary to cut the part thus described using G-code. Or, at least, that's what I would like to try to do. I'll have to give it a whirl w/ BlockSCAD if nothing else.
While https://xkcd.com/927/ is something to be avoided there really isn’t an existing format I would be aware off that fits the bill.
I’ll add this to the roadmap.
But to do this right it really needs to be a properly specified schema, with conformance test suite and versioning.
I appreciate your use case, but for users coming out of context, parsing underspecified XML files would be more of a curse than blessing :)
It works nicely for these things because it already supports typed parameters and can be treated as a a raw AST without JS engine.
Its also easy to manipulate with the same library.
I guess you mean https://github.com/oxc-project ?
Are there benefits compared to using, say, protobuf?