Hacker News new | past | comments | ask | show | jobs | submit login

> OpenSCAD isn't perfect, but it's so plainly obvious that code-based CAD is a better idea to me that it sort of bothers me that it's not the default.

OpenSCAD was invaluable to me for getting started with CAD. I always considered myself somewhat "3D-impaired" when it came to software applications, but I wanted to make stuff, and OpenSCAD helped me get started and to explore some very basic concepts that gave me confidence (revolves, cuts etc.)

It gave me confidence I would be able to make my own things, however basic. But it is very simplistic and fundamentally limited.

For example, since it is not bRep, it cannot work with STEP, which limits its utility with existing components or exporting to manufacturing in other than 3D printing. And as it is declarative and lacks constraints or reflection capabilities you cannot measure models, loft generated faces, etc., and you end up doing endless, endless expression calculations to make parts that fit together, where parametrics and reflection would allow you to make one part based only on the final form measurements of another.

(If code-CAD appeals and Python is OK, look at Build123D as others have recommended. It is everything OpenSCAD should be, still lets you work with CSG operations, and can import your STLs. But it also gets you into a bRep world and that is, pun not intended, a step-change, as you can start to reason about and build on points and faces.)

So my next step was to look at CadQuery (which I don't recommend), and about three hours of that convinced me that I shouldn't get stuck in the mesh-modelling world. CadQuery led me to FreeCAD, and Mango Jelly Solutions videos and a free book got me started.

FreeCAD can work with OpenSCAD files (and it has a deprecated CadQuery 1.x workbench). It's also fundamentally parametric. You can write code to generate objects, or you can use expressions and spreadsheets with GUI tools; it's still wholly possible to make designs that are based on reasoning about measurements.

From there, I decided, if I hate FreeCAD at least I have liberated myself from the limitations and frustrations of OpenSCAD, and I can use other CAD packages as soon as I decide I have to. But I've never needed to.

I've been able to quickly make complex items, but also refine my designs to the point that they are more professional.

I would also caution you not to assume that it's "plainly obvious" code-CAD is better at all. It is great for simple objects and some programmatic generation, but relies on external files and tools for complex vector shapes, which is a usability/project management issue right from the start for a whole bunch of users. And then there's the frustrating handling of co-planar surfaces in the preview (though that may be mitigated? I gather there are speedups on the way too)

For the vast majority of users I would have thought it equally likely a constraints-and-sketches workflow is better, not least where implementing existing engineering sketches is concerned.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: