perjantai 2. lokakuuta 2015

Best 3D modelling software (for me)


3D printer is nice tool, but of course to really create something new (as opposed to just downloading models from the web) with it you'll need some kind of software for creating/designing the models. If nothing else a simple text editor to create STL files manually, but let's not get absurd here (insert "real men 'cat << EOF > file.stl'"-joke here...)

There isn't shortage of 3D modeling software these days. When trying to pick suitable software for me, the criteria limited the offerings a bit. First, it must be capable of making 3D printable parts with well-defined dimensions (including sub-parts, like mounting holes and so on; preferably also sub-assemblies like full gear/enclosure structures). Second, the cost must be pretty low (so packages like Solidworks was pretty much out immediately; for hobbies the cost is just too high, and the occasional professional stuff is both easier and cheaper to contract out)

Previously I had used Blender a bit, for testing 3D modelling for games, but the first criteria caused me to drop it - while it might be that I hadn't found the proper tools within its vast arsenal it just didn't feel like a tool for creating engineering schematics.

So after some more reading I tried FreeCad next. At this point I'd like to remind that I have never had any kind of 3D CAD modeling experience nor tutoring - I was starting from absolute zero. Considering this I was pretty amazed that I was able to start using it after only after ten hours of studying and trying (over two or three days - sleeping over it when you don't clearly get some detail always helps!)  Then somethings just clicked and I got the idea well enough to start building simple models.

Over the years I've learned that this click is pretty important when learning something new like this. You may read, study, try, read more ... ad nauseam, but until that click happens, you haven't really learned anything. In my experience the most imporant steps are reading, trying and improvising. Read about something; try the examples; then improvise on them to see what happens. Then repeat until either you are ready to give up or it just suddenly clicks - and then it's all easy.

In this case click was the general principles of modeling - relatively simple stuff.  But after some tring I started running into a wall; my problem with FreeCad is that is claims to be parametric but if you actually try to use it like that the part I was trying to built pretty much self-destructed every time. Many designs I made (like test jig I mentioned earlier) have a base (bottom piece) and over that other details. Too many times moving some supposedly completely disconnected part at the other end of base caused some other part to fail, ruining entire design. Time to start over (or from last backup), and this makes me very very unhappy.

Also after some more reading I pretty much realized that for designs like gears and such I would have to delve into scripting anyway; GUI just doesn't allow that. My experience says that mixing GUI and scripting rarely works, so at this point I wasn't too happy.

Since I am a programmer, lately I started to play with OpenSCAD that uses very different approach; you write the description of model in a script very like a programming language which generates the actual model.

Take this very simple wheel:
This is actually spare part for another toy; plastic in original wheel had become so brittle over the years that it just broke. Out of curiosity and primarily for trying out new software I wanted to make replacement. After reading a few short tutorials to get basic ideas of OpenSCAD (basic shapes, unions, hulls, differences etc) this took me about ten minutes to slap together (based on earlier click of FreeCAD - while software works differently, basic composition is still similar enough). Code for the wheel isn't pretty - far from it, but at least I got this made - something that I still hadn't been able to figure out how to do with FreeCAD (for some reason I just couldn't make it's "part" functionality to do anything, even when following a tutorial exactly...)

Oh, and for the reference, here's the toy itself, with original wheel on other side and replacement on other. It doesn't look the same (I think now, after some more work, I could make similar shape) but it's good enough - at least I got the toy working again.
As a side note, these pictures also show why I don't like phone cameras very much. While picture might be fine when you get the phone, over the time outer lens will get scratched and become blurry, no matter what you do. Cases may only postpone this a bit, but I don't like them.

Now, while there is some ease and charm in "drawing" the 3D model with a GUI, thinking in code (as building blocks) is easier for me. One might claim that SCAD way is more difficult as you'll need to have "picture" of the end product in your head when you start the work but in my opinion same goes for GUI method too - either way, unless you have clear image what you are building at the start, the end result will not be pretty.

I think I'll stick to OpenSCAD for now, as it feels like the right tool. For me. And for now, at least.


Ei kommentteja:

Lähetä kommentti