Here is what I came up with.
Donāt listen to people dissing OpenSCAD. Itās a fine choice for many purposes and given that many functional prints are parametric, itās often just whatās needed. Do try different solutions to see what works for you though. Iāve tried several (including writing STL files directly) and stick with a few but still come back to OpenSCAD often.
Oh, my brain forms mental images just fine too. Thatās typically where I start.
That was probably one of my very first Noob questions when I asked. Still plugging away with OpenSCAD.
I looked at Fusion way back before I even had a 3d printer.
I went back and looked at Fusion and Blender when I got this printer.
Fusion (free) For Personal Use has reduced capabilities compared to Fusion and to get that full functionality is currently $476/yr so that killed Fusion for me. Blender appears to now have two products. One for Graphic Artists primarily or so I have been told. Blender Studio which targets 3d printing would set me back about $145/yr.
My mistake, Blender Studio seems to be some sort of training to get someone interested in 3d printing up to speed.
FreeCAD is another, more intuitive than OpenSCAD, CAD program you might want to take a look at.
I absolutely agree. I got a Bambu for Christmas and started reading up on how to create my own models, and it quickly became clear that designing in OpenSCAD would be far more productive than using some graphical tool to design āby handā. Designing with a programming language like OpenSCAD leads to better documentation and models that are easier to modify and reuse. Itās basically the difference between writing programs in a modular programming language as opposed to a large monolithic slab of code written in assembler! So I think that the GUI versus OpenSCAD preference is more a reflection of an engineering versus programming mindset. The only drawbacks with OpenSCAD in particular that Iāve found so far are: 1) the difficulty of designing multicolour objects; and 2) the personal axe that someone at OpenSCAD had to grind, where they thought it was more important to proselytize functional programming than to make a useful tool that could be learned quickly and used by any programmer immediately. (And I say that as someone who has done plenty of functional programming (in ML) when I was a university student in the 70ās, so I know the arguments in favor of the functional programming methodology.) However Iāve used the model of library calls embedded in regular programming languages for designing TTL circuits and PCBs and VLSI chips (and even for cutting with a laser or a CNC) and I donāt believe there is any valid justification for a) inventing a new standalone language rather than embedding calls in an existing language (PL/SQL should have demonstrated that mistake once and for all in the database world!) or b) embedding the object-generation calls in a functional language. Regular C (rather than something that looks a bit like C, as a trojan horse to trick coders into using it, but which behaves wildly differently at a basic level and canāt call anything external) - or any other well-known language with external library support - would have been fine and would have made many things much easier, in particular the ability to leverage all sorts of library code directly.
I probably shouldnāt, but I have to weigh in here. As a duty to the community, I must debunk these comments supporting OpenSCAD and explain why I would never recommend it, despite MakerWorld trying to jump on the bandwagon. I took a deep dive into OpenSCAD, spending countless hours wanting to love this platform. However, after months of use, I discovered that it does nothing well that at least three other programs do much better. Pick any aspect of OpenSCAD, and I can show you at least three free or open-source programs that outperform it, including procedural scripting.
From the Half-Baked Software Department
In my experience, OpenSCAD is a science project with a catchy name, half-baked in the WinXP era and never fully finished or debugged. It started as a pet project and never evolved much further. It is unstable at best, unnecessarily slow, and lacks essential GPU support. It is a resource hog, extremely difficult to program, and plagued by incomplete and cryptic diagnostic messages. Thatās when it isnāt crashing after a 20-minute rendering. Doubt this? Try running some of the models from Thingiverseāboth on the site and on your local machine. Too many crash, exposing one of OpenSCADās primary weaknesses: no parametric validation and poor syntax checking. Running code is like rolling the dice.
To reiterate my bias: OpenSCAD conceptually borrows heavily from POV-Ray, a beloved ray tracing program first released in 1991 that was procedurally programmed and that I used for decades. On paper, I should love OpenSCAD. However, just as Blender made POV-Ray obsolete, parametric CAD has rendered OpenSCAD irrelevant. The truth is, it was never relevant to begin withāparametric CAD was a standard well before OpenSCAD was even a dream. In short, I consider OpenSCAD the platypus of CAD: an evolutionary dead end that was rightfully abandoned.
There are no advantages to OpenSCAD that canāt be achieved more effectively with Fusion 360, OnShape, or even another open-source, half-baked program like FreeCADāwhich, unlike OpenSCAD, allows easy modification through Python. If your passion is programming, FreeCAD is arguably a better place to start. It offers the best of both worlds: a GUI and procedural programming using a standard programming language, Python. Can OpenSCAD say that?
I canāt really tell if your comments are disagreeing with what I said or not, so just to be clear, I have no axe to grind in favour of OpenSCAD - my point was that as a programmer I think that a programming language based method of designing 3D models works better for me than manually designing in a graphical tool. But Iām completely open to finding a better implementation of that paradigm than OpenSCAD specifically. And as I mentioned above, I would indeed prefer something based on an existing (imperative) programming language (with variables that can actually vary) and calls to a library, over OpenSCADās invented language where the 3D primitives are part of the language rather than external libraries that could be implemented in any language compatible with the hostās cross-calling conventions. And at the risk of initiating a religious war, Iāll tell you that my preference would be for a real programming language such as C over a toy language such as Perl or Python, or any of the current trendy languages such as Go or Zig, at least until they have 20 years of published code behind them. At a pinch I might compromise on something C++ based but only because there are so many libraries out there such as Clipper and CGAL which were written in C++ rather than C (although frequently it transpires that packages written in C++ can be called from plain C relatively easily). Iām not interested in being forced into using a GUI just to write code (like the Arduino nonsense) and I get along quite happily with just Emacs and Make and RCS. That style has worked for me since the 70ās, as Iāve moved through TTL circuit design, wire-wrapped board layout, PCB design, VLSI chip design, CNC engraving, and Laser cutting, so Iām quite comfortable sticking with it now that Iām trying my hand at making models for 3D printing. Iāll use whichever tool is available (and free of course, in both senses), although sometimes when thereās nothing suitable, I end up having to write my own tools. So if you have any recommendations for alternative and non-proprietary tools, let me know. When I was looking for something to use all I could find was OpenSCAD and Fusion, and after trying both I thought OpenSCAD was a better fit for me. But if I overlooked some other alternative please point me at it.
The personal use Fusion is not as reduced in capabilities as you seem to think. Most of the reduced functionality is in those functions that only professionals would use, and it doesnāt allow one to save drawings. Nonetheless, an individual creating models for 3D printing would have access to all the functionality that would allow one to do so. As far as CAD modeling goes, Fusion competes with the best professional software available. It uses the same 3d modeling engine as does AutoCAD.
Iām just chugging along on OpenSCAD. All these CAD applications have a pretty hefty learning curve initially and they all seem to be significantly different in getting from point A to point B.
Once I figured out how to import stl files into OpenSCAD I was good to go.
As someone that suffers/lives with Aphantasia, there is a great reason for OpenSCAD, I am not excluded.
Those who code can find OpenSCAD far more welcoming than the ātrueā CAD models.
I prefer it when those who choose a particular route arenāt told their views, experiences, needs should be entirely dismissed.
One personās view should be welcomed, but, it shouldnāt be used as the benchmark for all.
It might be one step on the journey or the final stop.
I have uploaded 750+ models, each one created in OpenSCAD, some with over 10 million triangles. When used correctly it can do great things, providing highly detailed and technically accurate models that bring joy and sometimes relief to those with disabilities (my many and varied types of fidget toys) for example.
Please consider your experiences are not the same as everyone elseās and our experiences shouldnāt be nullified in favour of yours simply because you say you know more than us.
I like OpenSCAD.
In no way should my comment about chugging along in OpenSCAD be taken as disparaging it.
My comment was more the periodic critiques of this or that CAD program.
It seems rather pointless.
If you prefer script based 3d modellers, and are into openscad but do not appreciate its immutable variables, pseudo functional programming paradigm, etc., then try pythonscad, if you can (https://pythonscad.org). The syntax is python like, which you may prefer - and in addition to having mutable variables, and many other āadvantages?ā you can get better help wrt python, using your large language/AI model of choice, compared to the raw openscad language.