Remix.run Logo
ponyous 7 hours ago

Does this use its own backend/engine? I've been working on LLM to CAD tool[0] and have realised there are so many backends and options to choose from. Since the realisation I'm trying to find the best representation for an LLM. I think OpenSCAD is currently the best and most feature complete choice, but I definitely need to dig a bit deeper. If anyone has any pointers I welcome them!

[0]: https://GrandpaCAD.com

markcheno 4 hours ago | parent | next [-]

I just ran into this today: https://github.com/gumyr/build123d - seems like an LLM should have no problem writing python code...

ur-whale 7 hours ago | parent | prev | next [-]

> I think OpenSCAD is currently the best and most feature complete choice

As much as I love OpenSCAD, I would strongly disagree with your conclusion.

All the OpenSCAD language can do is boolean operations and moreover, the engine can only implement those on polygonal (triangle actually) meshes.

That's a very far cry from what a modern commercial CAD engine can do.

For example, the following things are very, very hard to do, or even specify using OpenScad:

   - Smooth surfaces, especially spline-based

   - Fillets / Chamfers between two arbitrary surfaces

   - Trimming surfaces

   - Querying partly built models and using the outcome in the subsequent construction (e.g. find the shortest segment between two smooth surfaces, building a cylinder around it and filleting it with the two surfaces, this is an effing nightmare to do within the confines of OpenSCAD)

   - Last but not least: there is no native constraint solver in OpenSCAD, neither in the language nor in the engine (unlike - say - SolveSpace)
I might have misunderstood what you're looking to do, but, yeah, digging deeper feels very much like the right thing to do.
FeepingCreature 6 hours ago | parent | next [-]

(my) fncad doesn't have the querying, but it does have smooth csg! https://fncad.github.io/

Zekio 6 hours ago | parent | prev | next [-]

using BOSL2 alleviates most issues I've run into with OpenScad for chamfers and the like, but it is an extra set of functions you need to remember sadly

https://github.com/BelfrySCAD/BOSL2

ur-whale 4 hours ago | parent [-]

> BOSL2 ... but it is an extra set of functions you need to remember sadly

It's also extremely slow: it implements chamfers and fillets using morpho, and if you have a large number of fillets, the morpho algorithms (minkowski / hull) are very much non linear in time on polygonal meshes, which leads to compute time explosion if you want a visually smooth result.

Zekio 4 hours ago | parent [-]

you can get around this somewhat by having less visually smooth previews when editing and higher quality when you want an stl

  $fn = $preview ? 32 : 256;
hrmtst93837 4 hours ago | parent | prev [-]

[dead]

yangcheng 7 hours ago | parent | prev | next [-]

I have tried OpenSCAD, it seems very slow to compile to display on web. are you using the official wasm or some other ways?

mikeayles 6 hours ago | parent | next [-]

you may find this useful: https://phaestus.app/blog/blog0031

Edit: Forgot I also got doom running in openscad: https://www.mikeayles.com/blog/openscad-doom/

and doom running in openscad in the browser at https://doom.mikeayles.com/

ponyous 5 hours ago | parent | prev [-]

I export it as .3mf file and display it with threejs on the web. Compilation seemed fast enough - few seconds tops.

IshKebab 6 hours ago | parent | prev [-]

Yeah it does. In fact I believe it was written to demonstrate improved sketch constraint solving (there's a 2D version too).

Unfortunately aside from the better sketching the engine is not as capable as OpenCascade.