Hacker News new | ask | show | jobs
by eropple 744 days ago
> 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.

I'm a software developer, but I'm also a 3D print designer and a woodworker. OpenSCAD is really unfriendly once you want to get past "I have a box and the box needs to connect to another box"; cadquery and especially build123d are more promising for sure, but the environment and the affordances are clumsy compared to "draw a sketch with a mouse and extrude a thing" in Fusion. Maybe if my alternative was FreeCAD (thankfully it's not) code-based CAD would feel like a better alternative, but it's not, and like--if I have to contort myself to make a fillet work, I would simply not bother. And if I have to sit there, squint, and change a variable and wait for a recompute, rather than dragging the thing to where I want it, I'm also probably not gonna bother with that, either. I tried; it doesn't work for me, and sweeping universal statements about this stuff are Pretty Weird.

On the other hand, having access to a kernel like Fusion's, plus their Python scripting environment, is pretty nice for me, and I enjoy building tools to manipulate that. But those tools don't take center stage; the visuals and the chain of features do that.

3 comments

> "I have a box and the box needs to connect to another box"

I have gotten more elaborate shapes like gears and screws with OpenSCAD, but I will admit for more elaborate projects I use BowlerStudio since I find found it easier to use some of the JavaCAD stuff.

I've just never been able to get the hang of mouse controls, even in Fusion 360; in SCAD if I need to extrude a bizarre shape, I will occasionally draw the thing into an SVG, import it into SCAD and linear extrude from there.

The rendering time is a fair complaint though; with complicated models, especially with a high $fn value, re-rendering can be pretty slow. I don't really have a good response to that, I just put up with it because I feel the other perks of code-based CAD make up for it.;

Obviously to each their own. I do wish that code-based CAD is better but I'm not a mechanical engineer, just an enthusiast with a 3D printer.

> I've just never been able to get the hang of mouse controls, even in Fusion 360

I can relate to this -- I would consider myself 3D-clumsy. But learning the various navigation tools in FreeCAD (numbered views, the navigation cube, the new orient-to-face option) has helped me a lot.

And I think fundamentally not being so intimidated by the rest of the package means it's more worth persevering with that stuff.

(Also FreeCAD's trackpad+keyboard gestures are basically usable)

> Obviously to each their own. I do wish that code-based CAD is better but I'm not a mechanical engineer, just an enthusiast with a 3D printer.

Indeed. It's fabulous that we have choices in open source CAD, open source slicers, open source printers. It's just wild to me -- it actually makes me emotional -- that I can make some of the things I want from my thoughts at such low cost.

But do check out Build123D; I think it will get you to another level.

Yeah, I see Build123D being referenced a lot here. I'll give it a try, though I suspect I'll probably stick with Bowler Studio because I actually use the physics and robo simulation stuff a lot.
Bowler Studio was entirely new to me, so thanks for mentioning it.

One random mention: Nick Lockwood's ShapeScript, which is another code-CAD thing based around a mesh CSG environment (and pretty unusually runs on iOS)

https://shapescript.info/

Bowler Studio was sort of revelatory for me, because it gave me the ability to model a functional part and immediately test it. The physics engine obviously isn't going to be the most accurate of all time, but for a lot stuff that hobbyists do it can be useful, and being able to play with servos and motors really does open a lot of possibilities to avoid wasting time and prints.

I've actually played with ShapeScript but I admit that I didn't do anything terribly crazy with it.

Yeah I've only dabbled with it myself. Again it was part of this process of me orienting myself towards "thinking in 3D" and I'm really grateful to much more 3D-literate developers than me that we have so many choices.

CascadeStudio is another one:

https://github.com/zalo/CascadeStudio

This is a browser-based JS CAD thing built around an Emscripten cross-compilation of OpenCascade -- the fact that it works at all was revelatory to me about the capability of Emscripten, which had passed me by a little.

So this is JS code-CAD in a bRep world.

> I've just never been able to get the hang of mouse controls, even in Fusion 360

I use a spacemouse and sidestep the whole thing. ;)

FreeCAD isn't perfect obviously (but neither IMO is the situation with any 'gratis' tier of commercial CAD). You pays your no money and you takes your complicated choice.

Rules for FreeCAD fillet and chamfers:

- In OpenCascade, dress-up operations like fillets and chamfers unfortunately can't wholly consume existing edges; this explains almost all the reasons why they fail.

- So if it's only dress-up, presentational stuff, do it last, or as late as you can in any given part

- If a fillet or chamfer is structural or fundamental, consider adding it to the sketch (there are constraint-preserving fillet tools, and now in 0.22-dev/future 1.0 the same is true for chamfers)

- If you need to fillet or chamfer generated geometry, consider how you might add it/cut it out with sweeps or grooves.

This is a bit of a pain, but it's nowhere near as much of a pain as trying to do them in OpenSCAD!

FreeCAD does a better job of it than OpenSCAD does, yes. ;) Agreed on all points; the reason why the rules you describe are the way they are make sense to me, and I could use FreeCAD if I had to. But I pay for Fusion because it's worth it to me.
Yeah. I've always been of the opinion that, having got myself from OpenSCAD to GUI CAD, I will jump from FreeCAD to onShape/Fusion360 if I feel I have to -- or do my CAD work on a Windows machine with Alibre.

I feel fairly at home on FreeCAD and some of the recent improvements and developments just make it even better. Plus there's a lot of actually good tutorial material on Youtube now. So for now I am happy not to jump.

(I do tend to make this decision individually for each software application, though; I'm unwilling to limit myself to GIMP when there are other alternatives to Photoshop. But I might well be willing to stick to Inkscape.)

I see you do woodworking as well, ever tried to make cases for electronics from (ply)wood?
Not really - that's one of the places where I use 3D printing. I've made some odd-shaped SBC cases for one-offs before.

I've toyed with building a PC case before, but Fractal came out with the North and did a better job than I was going to.