Top
Best
New

Posted by c0nsumer 3 days ago

OpenSCAD is kinda neat(nuxx.net)
322 points | 248 commentspage 4
givc 2 days ago|
I found that combining OpenSCAD with SVGs for extruding complex shapes is quite powerful. I made a map of Manhattan that could not be handled by any other CAD program I tried without crashing, but OpenSCAD handled it really well.

I wrote more about it here, although I only mentioned OpenSCAD briefly https://hackaday.io/project/202488-manhattan-subway-map/deta...

revision17 2 days ago||
Maybe it's improved since I last used it (seems to still be an issue per a 1 minute google search), but OpenSCAD doesn't really have easy support for dimensioned drawings.

While it was very handy for my programmer brain to create a few 3D printed things, when I wanted to create a drawing for something I'd make myself, adding dimensions seemed very unwieldly. I used a different CAD program for those projects (maybe Autodesk Inventor?).

fcpk 3 days ago||
openscad is quite nifty for small geometric projects. unfortunately it lacks some Features that make most bigger cad programs really useful... for example: - the ability to select faces/paths from a render, which can be hugely helpful when modifying complex models. - the ability to do constrained sketching in both 2d and 3d - caching at intermediate render levels - nested Projects and joining parts with mechanical constraints. it's still pretty nifty but very niche. I personally would dream of having the tools of a tool like fusion 360 or Catia, but in a gilly textual progemmatic way, while keeping the ability to select objects from the rendrr view.
coryrc 3 days ago|
It does have caching, but you are otherwise correct. I would also add that it can't do arcs; any curve is discretized immediately upon creation.
WillAdams 3 days ago||
If you want arcs in a DXF (or G-code), I've been working on that in:

https://github.com/WillAdams/gcodepreview

rcpt 3 days ago||
I haven't tried the latest models but for at least a year LLMs have been mostly able to generate openscad to match my descriptions.

It's neat that I can tell the computer what I want in words and then have that object come out of the 3D printer

moebrowne 2 days ago||
You don't have to use their editor either, there is a whole list of alternative editor plugins.

OpenSCAD can automatically re-render a preview as soon as the external editor saves to disk

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_an_...

ifndbdb 3 days ago||
The OpenSCAD kernel is significantly overrated in my opinion. Many operations take ages to compute or are not possible at all

Ok if you want to generate a couple of cubes, but if you want anything advanced the kernel quickly falls apart

coryrc 3 days ago||
It's switched to a new backend https://github.com/elalish/manifold

Which you can also use directly instead by writing C++. Trivial operations are two orders of magnitude faster and complex ones every faster.

timonoko 3 days ago||
The openscad-nightly is lightning-fast, but makes occasional occlusion errors.

Assuming you make all the necessary adjustements in preferences.

constantcrying 3 days ago||
OpenSCAD is very cool, but completely unusable once you understand how great state of the art CAD Software like Fusion or Onshape is.

The big distinction is that those work implicitly, while OpenSCAD requires you to be implicit.

culi 3 days ago||
I'm a programmer. I once had an idea stuck in my head for a 3d model that I just needed to get down somewhere. I tried learning the basics of AutoCAD but after 2 days of tutorials I still felt overwhelmed.

I looked into alternatives and learned about OpenSCAD. The immediate visual feedback makes picking up the language a breeze. Within an hour of downloading I familiarized myself with the language and had manifested my idea into a 3d model

I think that's a perfect example of a use-case where OpenSCAD shines. It's extremely easy to pick up if you have programming experience and it might even be a good thing to learn before moving onto more professional CAD software. From a teaching perspective, being able to have almost immediately-useful output is priceless

constantcrying 3 days ago|||
I think that modern CAD software, like Onshape or Fusion 360 is quite easy to learn. I have no doubt that AutoCAD is difficult to grasp, but it is not a good representative of what is possible.

>It's extremely easy to pick up if you have programming experience and it might even be a good thing to learn before moving onto more professional CAD software.

No, it definitely is not. OpenSCAD makes you think exactly the wrong way about CAD, because it forces you to reason explicitly about your model, when that is something which you need to let the CAD Software do for you. Modern Parametric CAD works by the user defining constraints, which the Software uses to derive the shape of the model, this is not something which conceptually exists in OpenSCAD.

>From a teaching perspective, being able to have almost immediately-useful output is priceless

Which is something which modern CAD does just as well.

kiba 2 days ago||
I let the library do the heavy lifting(BOLS2) these days. I want to contribute to it but hadn't mastered the many features of the library just yet.

Some of the features I used:

* Attachment & align. I can attach things to faces and I can align things to edges as needed.I wasn't super clear on how it work in the class, but I found that doing a simple exercise of aligning objects around the face of a cube increase my knowledge how it all work and my confidence.

* Chamfer. I am aware of some sort of fillet feature or rounding features but I mostly stick to chamfering my design for now.

* Teardrop shape. Mostly because I need it due to the constraint in FDM 3D printing.

* Some simple shorthand like right, left, up, down for when I don't want to use translate([x,y,z]).

* Constants and directions such as FRONT, BACK, LEFT, RIGHT, and so on, which can be applied to basic shapes.

* Diff. It works differently than openscad's standard difference and as far as I can tell very powerful if you understand how it goes together. I have difficulty in the past in figuring out how to use it, but once it does work, it's very cool. I planned to do an exercise so that I can better understand how it all works.

BOLS2 as far as I can tell is a very deep library so there's lot to learn. I would love to start contributing to it.

Anyway, a lot of OpenSCAD's flaws could be attributed to a lack of library development. I handrolled my own library to use in different projects before I realized that BOLS2 did everything that I could do but better.

constantcrying 2 days ago||
Have you ever used a modern CAD tool like Fusion or onshape and done constraint based modeling?
kiba 2 days ago||
Yep. I am no stranger to using Fusion 360 and OnShape. Not really an expert, however.

Now, in the course of using it, I have issues with these tools as well. A lot of it is just getting used to the interface and the overwhelming complexity. They are not intuitive at all to use. Messing up required debugging why I am in a particular state. It's hard to figure out where the things I need are located. I am fairly certain that I would be real good at it if I stick at it long enough, but I invested more time and energy into OpenSCAD.

I am uncertain as to what you mean by constraint based modeling. I know I used it in these programs, but I don't really need these features nor do I need to do a lot of math in OpenSCAD that I would have need to use without a library. Maybe BOLS2 does do a lot of constraint modeling for me, but the documentation never talked about that with me. All I know is that I don't need to do as much math as I used to.

Rather, my complaint about OpenSCAD is legibility of objects and barebone UI features. Sometime, I don't know which is the front or back of the object, or maybe I want to know certain parameters of the objects unless you do the work beforehand. I want to know something like object.x and object.y for example, or the final compounded object width. Being able to pass information from one object to another is useful but that is lacking in some aspect of the language.

Just being able to label things in OpenSCAD would be tremendously useful for me.

Now, you can program in OpenSCAD with python, which seems to be a gamechanger. However, I have no idea on how it would interact with BOLS2, so I am kind reluctant to try it, but it would make objects in OpenSCAD much more legible to use.

The functional nature of openscad felt like a straitjacket at time but it did force me to get very familiar with recursion and all sort of ways on how to manipulate arrays. So I credited OpenSCAD for stretching my capability as a programmer. I still don't like recursion.

That said, despite the challenge of learning how to use BOLS2 for OpenSCAD, I am loving it especially when I finally grasped how a part of the library work.

WillAdams 3 days ago|||
The BlockSCAD folks are hoeing that row quite effectively to my mind:

https://www.blockscad3d.com/editor/

I just wish that they'd add the balance of the language/fix some bugs.

WillAdams 3 days ago|||
The thing is, I've crashed-and-burned every time I've tried to do traditional 3D CAD --- the closest I've come to success was making it all the way through the tutorial for Dune 3D:

https://news.ycombinator.com/item?id=37979758

https://news.ycombinator.com/item?id=40228068

OpenSCAD "just works", even on quite limited hardware, and if one has trouble modeling something, well, arriving at a solution is just a matter of learning the appropriate mathematics.

kiba 3 days ago|||
The way I learned CAD is the same way I approach programming projects. I tackle simple, bite size projects, which then increase in complexity until I have the skills necessary to tackle big complicated projects.

I found that standard CAD to be no simpler than OpenSCAD. Really, the biggest disadvantages that OpenSCAD have is usability and a library which is fixed by using BOLS2.

BOLS2 has the same problem as standard CAD, it is overwhelmingly big. In some cases, I didn't know features were already in BOLS2 so I don't have to reinvent the wheel writing my own inferior library.

So, how to tackle it? Same thing as any learning projects. I just tackle it in bite size chunk.

WillAdams 1 day ago||
I've tried that, and it always results in me staring at a partially completed sketch/model and totally lost as to how to proceed.

I'll try to find time/energy to try again.

constantcrying 3 days ago|||
To be honest, I found Fusion 360 and Onshape very intuitive to learn.

>and if one has trouble modeling something, well, arriving at a solution is just a matter of learning the appropriate mathematics.

Which is the terrible thing about OpenSCAD. YOU need to derive the equations. In a modern CAD program you define the constraints on the object and the equations are derived for you.

d_silin 3 days ago||
excplicitely, you mean?
jasonthorsness 3 days ago||
OpenSCAD is great! I used it to create a bunch of things to cut on a CNC router over the years. Best achievements were a scale model of Mount Rainier and some one-piece picture frames with text cut into them.
vjvjvjvjghv 2 days ago||
It’s pretty neat but for my taste the language is too functional. I don’t think a purely functional paradigm works well with CAD parts and the way they are constructed. The language gets in the way. Debugging complex parts is also quite difficult from my experience. But with some better tooling I think it could be absolutely great.
WillAdams 2 days ago|
Well, there is a Python option now:

https://pythonscad.org/

benbojangles 2 days ago|
I like openscad it allowed me to create a shed generator which also provides material quantity output, so an accurate shopping list is created - all done in code super impressed. I could not figure out how to do the same thing in standard cad software.
More comments...