It really saddens me that people are recommending fusion 360 here.
Sure, I get it. Fusion 360 is an awesome piece of software. But are people really that eager to be completely dependent on autodesk?
Do people not realize that perhaps the reason for why fusion 360 is so cheap is because they are aiming (and on a fast track) to get complete monopoly? Does that not bother anyone? You wouldn't even be able to stick to an older version of the software.
Can you even version control your files? (will you in the future, without buying the premium package?) Yes I know the cloud has your back and everything. But you don't want the files in the same version control system that you use for everything else? What's next, save your python files in another cloud? It's absurd.
Can you export your files to be workable in any other software? (aside from very expensive autodesk products)
Are you not risking loosing everything you ever produced? It's like python2 -> python3 but instead of compatibility issues your code just disappears or held hostage. How is that OK even for a hobbyist?
I'm sure I'm mistaken on some points (please correct me!), because I vomit every time I decide I want to try it and start the download process and start reading their pages (and I don't think I even got to the privacy policy).
The whole application is architectured to lock you in. That is the SOLE purpose of it, why do we accept that?
It is dystopian, and the devil is being universally cheered upon. Have we really lost all hope?
I understand your sentiment and feel it every time I choose to start Fusion, the lock-in is just plastered all over the place. I have used OpenSCAD for a while and coming from a DevOps world I greatly value the Everything-as-code mantra that OpenSCAD enables. But as a hobbyist 3D printer looking for the tool to just get my idea out in an evenings work Fusion is just the best/cheapest out there for me at the moment.
I have now adapted a mentality to not create anything I'm not willing to loose. And if Autodesk ever decides to change their license, which they inevitably will, I'm willing to just take that loss and find something else at that time. Maybe by that time some open source developer has implemented Fusions idea's in sketching/modelling (and hopefully improved on some parts).
For me the choice is just accepting Fusion for what it is now or get sidetracked in all kinds of stuff and never finishing a hobby 3D model anymore. OpenSCAD is nice, but for me it is to easy to lost in perfecting the coding when trying to get the model the way I want. And other 3D modeling tools (eg: Blender) are just not fit for engineering work like Fusion is.
What have stopped me from trying Fusion 360 for stuff I'm willing to lose is that, while the vast majority I do for fun I could stand to loose, the idea is that some things that I create I would rather not lose.
And then what? I go learn something entirely different just for that? If so I've invested tons of time in CAD software and own a 3d-printer but I'm unable to create something "real"? That's why I try to learn the alternative now, and get the time I would otherwise have invested in fusion 360 for free.
I'm betting on a sibling to this comment - that after the initial hurdle, when you get proficient enough the clunkyness of the alternatives are easily overcome. I'm convinced that is the case, but the real question is whether it is worth the time to get to that level. And that is a very hard question, especially for something as a hobby that is dependent on it being fun and/or rewarding.
I truly understand the fear of getting sidetracked. I battle with that every time I open FreeCAD or attempt something in OpenSCAD.
I get why any individual would chose Fusion 360. But I'm completely heartbroken that the community as a whole gives up so much without apparent thought, and see people advertise it "because it is free" on a thread about an open source alternative is sad.
And I'm not talking about freedom as in open source (but I really do value that too). If I could buy fusion 360 for $1000 (only the modelling part of it - without the cloud). I would have much fewer issues with it (even though I qualify for the free version now) - that cost is easy to reason about. And there would have been a recourse for when autodesk decide utilize its monopoly. But that's of course also the reason that they won't offer that.
> I get why any individual would chose Fusion 360. But I'm completely heartbroken that the community as a whole gives up so much without apparent thought, and see people advertise it "because it is free" on a thread about an open source alternative is sad.
I'm just hoping that Fusion will such a great example that the day Autodesk decides to change it enough people will know what it is and whenever you say: we're building Fusion but then opensource without the cloud stuff, it will be an easy pitch and everyone will get on board with an aligned mindset.
Why would it be that cheap? Fusion 360 is competing with SolidWorks. A standalone license for SolidWorks probably starts at $4000.
For any comparable commercial 3D parametric mechanical CAD system just the B-rep modeling kernel alone represents several hundred person years of commercial development going back 30 to 40 years, and academic research going back 50 years.
The Fusion 360 kernel is ShapeManager [0], forked from ACIS 7.0 in November 2001.
Work on ACIS [1] started in 1985 after the 3 founders (Ian Braid, Charles Lang, Alan Grayer) left ShapeData having worked on Romulus.
Romulus [2] was released in 1978 and was based on BUILD 2.
BUILD 2 and before that BUILD were created by Ian Braid during his PhD thesis started in 1969 and supervised by Charles Lang. [3]
Now, what about SolidWorks?
The SolidWorks kernel is Parasolid [4], dating from 1987, which was a C dialect rewrite of Romulus, which was written in Fortran. ACIS, by the way, was written in C++, so was one of the first commercial systems written in C++.
How do I know the above? I worked on Parasolid 1989 to 1995. We had 20+ devs then - department head count was 40+. The still have lots of devs working 30 years later.
There's only one comparable open-source B-rep modeling kernel - Open CASCADE, that powers FreeCAD. But quality wise, IMO comparing it with Parasolid, ACIS or ShapeManager is a bit like comparing Lucene with Google or Bing.
CGAL that powers OpenSCAD is high quality - but it's a very different beast, and not something you could use to power Fusion etc.
Why is B-rep modeling so much work? Here are some reasons:
* B-rep models are inherently complicated graph based data-structures with many different node types (geometry and topology). Just keeping the model consistent is a lot of work.
* Lots of surface and curve types means lots of combinations for surface X surface, surface X curve, curve X curve intersection/distance/... algorithms.
* Tolerant modeling.
* Topology case analysis from hell for blending.
* Hybrid b-rep modeling with other approaches, meshes, volumetric etc. and make it work properly.
* Feature-based history modeling layered on top of b-rep modeling means that your b-rep operations must replay EXACTLY the same, even when you upgrade the kernel.
* It is still quite expensive for a hobby software. And that's a market that autodesk targets with fusion 360.
* It is free now for low volume + hobbyists.
I get what you are saying. But with fusion 360 autodesk made a different call. CAD products are usually niche but fusion 360 is one of the few that hopes to sell in large quantities. That is why it can be cheaper.
Currently for me fusion 360 would be free but for $1000 I would get two years of subscription. And fusion 360 is massive, I'm asking for a subset of it.
But yes, maybe even that is not enough, even if autodesk targets a broad audience. Great, then don't pretend that it is and start charging for it.
>Why would it be that cheap? Fusion 360 is competing with SolidWorks.
I wouldn't really say that's true. Inventor is really Autodesk's competitor to Solidworks. Fusion seems like it's competing more with hobbyist tools like Sketch-Up, and maybe open source tools like FreeCAD & OpenSCAD.
I can also highly recommend Rhino, especially if you want to try parametric modelling. The Grasshopper plugin (which comes bundled with Rhino) is pretty much the industry gold standard when it comes to parametric modelling and has a massive eco system of third party tools. Both Rhino and Grasshopper are also easy to script in Python or C#
After using OpenSCAD for several years, the more you use it the faster you get with it. I can easily whip out quite complex designs in a few hours. Visual CAD tools eventually start to feel very limiting.
I've hit some real walls with OpenSCAD though. Trying to create a 1000x1000 point mesh for example will blow up pretty much any machine. That's not an outrageous size for a large textured surface.
I love the "WYSIWYM" paradigm for the lack of surprises. You know what you can and can't change without having to mess things up, and you know what you need to come back to and adjust manually if you break things. And since there's no hidden state, you never find yourself wanting to just CTRL+Z back to the last "good" state, without knowing why.
But all that said, I really wouldn't know where to start modeling something like this in OpenSCAD.
Out of curiosity why is something like Blender not a valid choice ? It can be used by the film industry to create photoreal 3d assets, what are the limitations for real world that you speak of ?
Blender is (primarily) a direct mesh modelling software. A mesh is made up only of triangles of points. Circles or arcs do not exist, only approximations. This makes it unsuitable for making precise parts.
With direct modelling the history of an object is not modifiable.
So if you need to change something you did (because of change in requirements etc), you will need to undo and then manually redo all the following steps. Or to try to wing it by tweaking the end model directly. And then pray that everything was correct...
In a parametric model (FreeCAD,Fusion360) you select the operation that is responsible for that feature, make the change, and the rest of the model updates to match automatically.
In manufacturing 0.1 mm error for a single feature can be the difference between perfect fit and unusable part. How good the model looks is mostly irrelevant. Very different requirements from producing an animation or render, so the tools are quite different.
I've tried to like Fusion 360, but the login screen the first time you boot it up turns me off. It's also slow as hell on a top of the line iMac, and that's with very small projects.
I like OpenSCAD a lot, but being productive there outside of very simple (squarish) designs is hard.
We accept it because it's pretty much the only choice for a hobbyist. Even OnShape (which is even more proprietary) has closed its free tier, as far as I can see, and any FOSS alternative is just light years away from Fusion.
Yes, OnShape did exactly the crazy thing that no one wants to think of. And in response people flock to fusion 360? OnShape should have been a deterrent.
You keep decrying how proprietary and horrible Fusion360 is, but you propose no viable alternative. OpenSCAD is much, much harder to use, SolveSpace is very good but nowhere close to Fusion (or even OnShape), last I used FreeCAD I couldn't make heads or tails of it and it liked to crash a lot, and those are the best options.
What are the complaints about OpenSCAD? If it's the language itself, then there's some similar projects using Racket[0] and JavaScript[1] respectively.
Mainly the language and the lack of immediate feedback, along with the fact that it's more verbose than the point-and-click interface of Fusion. I will try out the Python version, though, it sounds interesting.
I don't think there's a Python version, unless you count using Ruckus via Python on Racket[0].
> lack of immediate feedback
When "Automatic Reload and Preview" is enabled, OpenSCAD re-renders the shape whenever the text file is saved, so there's hardly any time delay, although there is arguably a spacial remoteness due to the text being separate from the shape.
> along with the fact that it's more verbose than the point-and-click interface of Fusion.
I personally find it difficult manipulating 3D objects by with a 2D cursor. I've spent a fair amount of time on the point-and-click editor in Blender, and I find it less confusing to have a textual expression of the shapes at hand.
Perhaps the one (possibly accidental) killer-feature about OpenSCAD is that it works well with external editors, such as vim.
Yes, unfortunately SketchUp isn't parametric, which I definitely need, and it tends not to produced closed solids, which creates problems for 3D printing.
Check out BricsCAD. Bricsys recently released shape for free, to compete with Sketchup I guess. It's a reskinned and (greatly) simplified version of their CAD product. https://www.bricsys.com/en-intl/shape/
The higher tier packages have a 3d constraint system. Imagine Sketchup and AutoCAD had a baby with some parametrics thrown in.
I personally own Sketchup, TurboCAD and BricsCAD. BricsCAD is the one I use the most, it obsoletes Sketchup for me totally. I much prefer it to the AutoCAD OEM I use at work and I possibly would pick it over SolidWorks. Although my SolidWorks experience is much more limited.
It's still proprietary but one of the few CAD packages I found that runs on linux and you can own without paying a monthly fee.
Fusion 360 is excellent, but I feel people don't recognize the true cost of it. I have a long post (not more than 3 cm under yours currently) in this very thread about alternatives.
Thank you, how did you find that link? I can't find it from either the pricing page or the plan types... Even the call-to-action is misleadingly titled "get started" while the button next to the login says "request a trial".
I found it via a web search. Although the "Get Started" link takes you to the same signup form as "Request Trial". I think if you list yourself as a hobbyist you automatically get the free license.
Lock in AND provide a low friction way to generate models.
As a developer the learning curve and life cycle of OpenSCAD sang to me and I picked it up very quickly. I have still modeled more things with OpenSCAD than I have with Fusion.
But...
Fusion is the better tool in a lot of places. Meshes being the most obvious, then CAM.
I still find Fusion weird to work with. Not only did I have to spend hours learning the basics (as opposed to minutes with OpenSCAD and Sketch-up) it falls out of my head faster than Ruby AND I found the only way to be really productive with it was to invest in a 3D mouse (which is a lot of fun).
My comment was a little unclear. But I think sometimes people just take lock-in for granted.
As for Fusion 360: once your producted is manufactured you can just export the 3D data. This will loose all steps to create the model but I think people think this is a nice trade-off for the lock-in.
It is similar to the old days of piracy and photoshop. Every kid had photoshop. Which killed the market for the software that was actually aimed at regular people. Autodesk had excellent timing in capturing the market before it had time to mature.
OpenSCAD is great, but a bit limited. Also latest release is almost 4 years old, could do with some further development.
FreeCAD is very capable, but it is a bit buggy and not very user friendly.
Solvespace looks really neat, but also a bit limited and from the looks of it isn't actively being developed. Those two points make me hesitate to invest too much time in it but someday I think I will play around with it some more.
Blender isn't CAD software, but it is the gold standard in my opinion. Sacrificing nothing and a really good UI. But it is more free-form than architecture and technical modelling. So wouldn't recommend it if that doesn't align with your purpose (look up blenderguru donut tutorial for an excellent start).
All the mentioned applications are pretty odd in how they behave though. It requires that you commit to learning it.
Personally I've used OpenSCAD quite a bit and I've now committed to learn FreeCAD. I had trouble creating maintainable code for OpenSCAD for anything but small projects, and also it takes some effort to create visually pleasing parts with it.
It is hard to find good material on all the software above (except for blender), I really liked this (hard to find) 3-part tutorial for FreeCAD. I have had huge help from it and it is what helped me to grok enough of FreeCAD to start actually attempting to do anything on my own. If you are curious about FreeCAD maybe it will give you a better idea of it than only playing around with it yourself.
FreeCAD is quite workable, I've constructed some 100 parts for 3d-printing, lasercutting and CNC in it. There are some warts in the UI for sure, but once you get to know them not that hard to deal with. Quite a bit fewer learning resources online compared to Fusion360, but enough videos on Youtube to get started, and the FreeCAD Forum is pretty helpful.
For programmers, one can also use Python to define more complex parts or workflows.
Fusion 360 has the better pricing model, it's that simple. 500$ is not too expensive even for a hobbist: you'll likely spend more on consumables in a single year. And there's simply nothing else of that value for that price point. There are no OSS solutions that can offer reasonable CAD design yet.
I'm not a fan of Fusion: it's UI is not really well designed. It's slow and clunky. It forces "cloud" on your throat for ABSOLUTELY NO GOOD REASON. Seriously: wtf? I frequently need to work offline, and Fusion doesn't really seem to get out of my way.
Onshape, which is 100% web based, is better is several ways: it's actually faster to booth, which is scary! (not in everything, but for most things it is!). Starts in a 1/10 of the time. The interface is much more streamlined and efficient to work with. For my purposes, Onshape is only lacking in "variable" management (there's no substitute for a simple spreadsheet here -- even FreeCAD is superior in this regard).
Am I recommending Onshape? No. I hate cloud-based solutions. The lock-in is absolutely obvious here: if you're offline you're doomed. Import/export is read-only.
However, for ~500$ a year, with Fusion you get a complete CAD/CAM solution with decent CFD. Onshape starts at 1000$+ and only gets you a (good) CAD system, and you still need $$$ more for CAM.
If you're starting, Fusion is the better deal.
It's that simple.
I'm not sure why Onshape is squandering the opportunity here to provide a slightly cheaper offering to promote their solution. Their CAD is good, but not good enough for the fusion offer. They could capture a nice maker segment if they provided a slightly cheaper solution.
Now, why not FreeCAD? The problem I see is that FreeCAD is quite a bit behind to be usable for day-to-day work. I use it for toy projects, and it's pretty limiting by itself. I wrote and recommended before that FreeCAD starts to really shine only when combined with Cadquery or OpenSCAD. With parametric sketching, "visual" interfaces only get you so far. Cadquery gives FreeCAD a considerable edge for complex designs.
The problem though still stands: even if you just start with 3D printing you realize consumables and electricity are not a zero cost anymore. 3D printing and hardware design in general is expensive. Investing some money into 3D design tools is logical, but you want something that works reasonably for your hardware. It's a chicken-and-egg problem. I'm a developer, there's no way I could work on a 3D CAD in the size of FreeCAD in my spare time and get anywhere useful.
All being said, FreeCAD 0.17 passed SolveSpace for all my purposes this year, which is a great achievement. At some point FreeCAD will become viable enough and will in turn start to attract enough money to staff full-time people.
I gotta put in a plug for SolveSpace. http://solvespace.com/ its got its quirks but it hits a sweet spot between using a GUI and specifying dimentions numerically. I think it might be abadoned, as it seems to need a serious update of some of its concepts, but as long as you stay under a certain complexity level its fun and open source.
I'll agree that it's a great piece of software, but "most features" isn't really true. You run into its limits very quickly, but then you start finding ways to make what you want with the features it has!
A (non-exhaustive) list of hobbyist-accessible engineering CAD programs I can recommend:
- Fusion 360 (Windows/Mac) (free for hobbyists) can do complex many-component robots or simple geometric shapes and has facilities for rendering and simulation. I'll concur with all the other recommendations I see here.
- OpenSCAD (Windows/Mac/Linux) (GPL) is text-based, which is nifty but really limiting. Good for generating triangulated files of complex-but-formulaic objects (e.g., gears/screws), but is ~10x slower to use than Fusion for most anything else. Would definitely not attempt to use to design an assembly of multiple parts.
- SolidWorks (Windows) ($$) is industry-standard. IMO, slightly better (smoother/faster/more robust) for modelling medium-to-large things than Fusion 360.
- OnShape (clound-based) ($$ but IIRC has hard-to-find public/free tier) is notable for working in a web browser (good for Linux users). Seems to have a bunch of plugins, but actual CAD capability is run-of-the-mill. [EDIT: also has a functional CAD-on-phone app. Like, wow.]
- FreeCAD (Windows/Mac/Linux) (GPL) is the open source Fusion/SolidWorks equivalent option. Needs a lot of work (e.g., good part assembly capabilities) and I find it rather clunky. I wouldn't learn CAD here, but I do really want a community-developed Linux desktop CAD program.
I'll add that Onshape has FeatureScript[0], a programming language for creating custom CAD functionality... similar to OpenSCAD where there's a separation between the definition (functions, features, and code) and the geometry (the result of executing that definition).
Unlike OpenSCAD, it's built off of an interactive BREP modeler with a real kernel so it's as easy to use as a regular CAD system for those who don't want to code. Actually the interactive portions of Onshape are a nice example of how to get WYSIWYG elements into a non-WYSIWYG application.
I 100% agree with your assessment, but I would definitely add SolveSpace. It's an open source parametric modeller but unlike FreeCAD it is actually usable. Not as fully featured as Solidworks etc. but it has all the basic stuff working quite nicely.
Somewhat unconventional interface but it works ok. If you must use open source it is definitely the one to use. As I recall it only has basic assembly support though.
as someone who is just starting to look into free/open sourc CAD tools, what about FreeCAD makes it unusable? I've just done a few of their tutorial/walk throughs recently and can't really tell what was unusable vs. me being new to the entire CAD modelling process.
I can't remember to be honest. It's been a while. At a guess I think it would just be really unusable - everything being needlessly clunky or impossible to discover. Case in point - you followed tutorials. With something like Solidworks I think most people could work out how to do a lot just by experimentation in the program.
I would definitely recommend using either SolveSpace or Fusion 360 (free for hobbyists) if you want to learn CAD (or pirate Solidworks if you can be bothered). After that you could try to use something like freecad and won't get confused by it.
Same for electronics. Don't try and learn from Kicad or Eagle. They have ridiculously awful interfaces. I would recommend Designspark PCB or pirating Altium.
DraftSight[1] is good tool for CAD and it is very similar to AutoCad. I am using it frequently. But it is free for only 2D drawing, it is the biggest limitation.
To chime in here real quick I don't have much experience with openCASCADE as an editor but it has a fairly decent API for creating and manipulating CAD files. It's LGPL and runs on Win/Mac/Linux so its got that going for it as well.
Between Fusion and OnShape, these days I pretty much use the latter exclusively, just because it works on Linux and is good enough. However, a few weeks ago I tried to find the free tier for a friend and just could not find it. I think they removed it altogether.
Mechanical Engineer here and I design stuff in CAD for a living. OpenSCAD is great for the basic stuff but doesn't really scale well. It's fun to play with and to teach people programming and CAD at the same time. If FOSS is really a concern, FreeCAD is probably the better route.
However, like others said, Fusion 360 for hobbyist is the way to go. For professionals, just go with Solidworks. IMHO, it works better than anything (though I only also know and have been trained how to use Inventor, Creo, and NX so I do not know how other software like Catia will compare). Solidworks is way more advanced than Fusion 360 when you need to design something a bit more complex. Don't forget, CAD modeling is only half the work. Making good drawings is the other half and Fusion 360 drawing capabilities is pretty crappy as of right now.
As for the FOSS debate, it's quite interesting because no one in the industry cares about being locked in. $4000 for a license is nothing compared to "$140/hr" rate that engineers cost a company. As long as the software works and the engineer produces tangible results, closed source software will continue to dominate.
As a non-Mech E, but someone who needed parametric CAD for side-biz[1] projects... the delta between FOSS offerings and paid offerings in this space is immense. I evaluated Fusion 360 a few months back, and even that was a non-starter for my use: I was floored that it doesn't have a feature often called "configurations"[2], vital to my work. Solidworks would be great, but the per-seat starting price was far too high for me right now. I went with Alibre Design on the recommendation of an engineer acquaintance, and that's been my personal parametric CAD sweet spot. I adore OnShape's revisions to classic CAD modeling, but it's still more than I want to pay given[1].
[1] not yet money-making, so still akin to "hobbyist" in needing to keep a constrained budget. I absolutely agree with the parent that the per-seat costs seem high, until you factor the costs of your skilled staff in a real work environment.
[2] Imagine you want to model a cap screw, but have just one master model for all of the diameter/length/{fully-threaded, partially threaded} variations. Updates to the model are then sanely propagated to every variant. You don't have to go very far down this path before manually keeping separate models in sync will drive you nuts. That's the problem that configurations in CAD s/w were created to solve.
In regards to number 2. You can have variables and parameters in Fusion360 -- I use it all the time for adding a tolerance variable and stuff like wall thickness, length, width etc...
Yes, let me clarify. Variables and parameters in a model, which are then driven by a data set are what configurations give you. E.g. some CAD suites allow a CSV/spreadsheet to drive the configurable parameters. OnShape allows for a table-per-variable, avoiding the need to manage combinatorial explosion in the rows of your config table. Alibre Design simply adds configurations as named entities within a model file. While not driven by external data, it allows complete integration into the editor environment which has upsides for my work. (I don't work with big configuration tables, so this works great for me.)
Some suites also allow configurations to enable/disable parametric features. At the simplest, this lets you add boolean changes to the configuration table, like "has mounting holes?" or "is/isn't a full-thread screw" and so forth.
A great way of getting started with OpenSCAD is (blockSCAD)[1], which is a scratch-type graphical editor (that can switch back and forth between text and block code).
While I don't usually like block code, it actually works really well in the setting of OpenSCAD, and because of the one-to-one mapping between blocks and written code the editor can switch back and forth between the two.
A related project is (openJSCAD)[2], which uses the same geometry logic as openSCAD, but embed it into javascript for flow-control and related logic. I really like this approach, since it avoids having to pick up yet another DSL.
The openJSCAD online editor also features an local-file integration that blew my mind when I first saw it.
There's also https://github.com/tasn/scadjs
I built it because openJSCAD was (is?) pretty incomplete in comparison to OpenSCAD. The nice thing about scadjs is that it doesn't reimplement the CAD engine, but just uses openscad itself.
I was using it for my prints, so it works and works well, though it may be incomplete in some areas.
Yep, and as a intro to parametric modelling, very good. It has its quirks, but it's solid. It's also the defacto open source format, folk use when sharing models.
I've used opendSCAD and also freecad for years (linux). Now I just ordered a new PC for running windows and Fusion360. Am I happy with that solution? ... not really. I would be happy to support an open source CAD project with 3-5€ a month if I got a decent and stable SW in return. I do likewise with octoprint. Why I'm in the process of changing? My time is limited and I feel that certain things should be faster toolwise. Additionally it happened more then once, that I had to scrap work of several hours because I hit a point with a reproducible crash. (yes - I did file a bug report ... it was answered more then a year later asking me for the buggy design ... which I could not provide anymore)
I understand that a stable SW and continuous improvement (especially in a complex SW package like CAD) needs a small team of full time developers. If somebody started a related croud funding campaign with a follow up patreon financing program ... I would be in!
can you comment more on your experience with FreeCAD? I've just started looking into learning that myself since I run Linux for a desktop, with no current plans to buy a windows machine just for Fusion360.
I've also been thinking recently that I'd be happy to contribute monthly to further the development of these projects, as it is understandable that such a complex development tool should require resources to be built well.
Well - I started with freecad using some good tutorials which can be found on youtube. Most times it works but in certain everyday functions I feel there could be more smoothness (like for example if you want in a sketch a complete parallel path in x distance) My understanding is that Fusion 360 has such functions. Another thing which could be done better is fillet functions (to get round corners) I think this a good example for something you use often (rectangular corners just don't look professional) but often don't work out as expected.
Lately I use openscad for my stuff but getting fillets with this is a major pain...
To sum up: FreeCAD is not bad - there are some good tutorials and so on and it certainly can teach you how to construct something 3D... but save often and save early (and best some different versions as well)
On the other side I expect a more professional handling from Fusion360 ... and of course there are additional features like finite element simulation....
I generally like OpenSCAD but its language is not very feature rich. E.g. it still does not support generalized extrusion, offsetting, subdivision (e.g. Catmull-Clark subdivision), bezier curves etc which I find it hard to use for anything more complex than a screw. They use CGAL as a dependency, so they should be able to implement these. But it's a promising CAD for sure.
These are doable.. you have to write them yourself, it's not terribly hard. Being able to programmatically define a tolerance Delta was extremely useful (for me); I was able to design an interlocking assembly and dynamically change the tolerance to make sure they fit my material in two printings (print once, measure dimensions, quickly adjust constant, print a second) with a trusty pair of calipers.
Its a lot less scary than it looks and I found it to be much much easier to use than freecad. My workflow on freecad was basically just typing numbers in to the properties panel for shapes so why not just do the same thing but as a text file so I can see more at once.
As an occasional FreeCAD user and contributor, this confuses me. Are you describing writing Python scripts to create your geometry from scratch, or maybe building models out of primitive shapes and boolean operations?
My usual FreeCAD workflow involves drawing constraints-based 2D shapes in Sketcher, then extruding/revolving them. There are some numbers typed in, but those are mainly just key dimensions.
One of FreeCAD's bigger faults IMHO is that the right/best way to do things isn't easily discoverable (as seems to be common in CAD), and the documentation (like many OSS projects) is a bit hit-and-miss...
I am a complete 3D modeling neophyte. I literally spent the last few days trying to learn FreeCAD.
Following the tutorials is a lesson in futility. The UI is clunky and small mistakes can have catastrophic outcomes for new users. Undo works in mysterious ways.
When I found myself stuck on a tutorial, a google search rewarded me with the phrase "pary designer workflow has changed substantially in 0.17." I followed a second tutorial on the wiki. Whatever eas changed - it's worse. I considered installing an older version.
Instead, I dropped FreeCAD, installed OpenSCAD, and had my part drawn in a couple hours.
When I make stuff I always have exact dimensions and positions I need to use so almost none of what I am doing can be freely drawn with the mouse. With openscad I can type in my exact values and be sure that nothing was accidentally moved by mouse.
I'd say exact dimensions are the norm for FreeCAD too - the mouse isn't used for freely drawing shapes in any workbench that I'm familiar with. With the Sketcher workbench in particular, the constraints control the geometry; the mouse is essentially used for selection and input of relationships between shapes.
They should link these videos on their website somewhere. The first time I started FreeCAD I was completely lost(well, I'm not really a CAD expert), but some videos on YouTube explain the basics really well.
Now I find the sketching pretty intuitive, albeit a bit clunky and slow. The number one feature I'm missing is the program telling me WHAT degrees of freedom are still unconstrained in a sketch.
Same here. I've dabbled in various CAD software packages but I always come back to OpenSCAD because it lets me build a well structured text file with every detail of my model, with no possibility of hidden variables. I'm willing to give up a whole lot of features just to have that precious text file.
Thank you for that post! I discovered it a bit over a year ago when I was trying to make some simple shapes on a 3D printer. Your examples made it easy and understandable, and I've pointed several other folks at your post since.
I can't recommend Fusion 360 enough (it's free for non-industrial use and cross-platform) for non-professionals looking to model 3D CAD for prototypes, POCs, hobbyist consumption, etc.
That's pretty interesting to hear. I've just ended a long week of frustration with fusion 360.
Fusion 360 doesn't have a concept of 'replace entity' like in solidworks, so, when you want to change the shapes in your sketches, they break parametric references downstream, and the entire thing becomes a huge, clunky mess. I swear, every time I make a minor tweak to my sketch, parametric references fail to update and the entire thing falls apart. The software doesn't feel very 'smart'.
Also, the sketch controls are super hard to use, clunky, etc. It's hard to make selections, hard to move objects. Ah! Maybe I'm missing something, I can't believe people are really able to create complex geometries with this software.
I since moved onto solidworks--it has it's issues, but I'm able to get it to do what I want it to do much more quickly and with much less headache. I am curious to know if others have experienced something similar or if I am missing something.
Could you kindly show me the page on their web site saying that it is free for non-industrial use, please? I cannot find it by myself, I can only see free trials - but it is not what you meant, right?
>I liked OnShape a lot, I think they got a lot of the UI right, but they priced themselves out of the market I'm in.
Agreed. I'm a little surprised at how OnShape doesn't want to price their product cheap enough that every new startup wants to use them with no questions asked. After you start using a certain CAD system, it is a huge P.I.T.A. to switch all your files over. Fusion360 takes advantage of this (no cost till you're above $100k in revenue), but the quality of their product just isn't quite there for me. And given the risks of using an entirely cloud-based system, if I were to make a startup & get funding tomorrow I'd still probably pick Solidworks.
Solidworks is way more expensive than OnShape or Fusion360. It's in a different league. It also has a number of its own problems (random crashes, windows required, annoying license management, horrible UI).
I would not pick Solidworks anymore, unless I really required features that are only there. It used to be that you had to use Solidworks to keep your sanity while designing for injection molding, but these days it is no longer the case, unless your design is very complex.
I can’t believe that nobody has mentioned the Prusa FDM 3D printers are, and have always been designed in SCAD[0].
This alone has been instrumental in allowing community improvements, it’s the last “true” reprap, they run a farm of 300+ machines and iterate parts somewhat frequently.
Pretty amazing that there is one molded part on the entire machine, the spool holder.[2]
There was also some “archeology”[1] on the traditional CAD dead-ends from a specific extruder design that I found facintating.
CadQuery is awesome. OpenScad’s language is quite limited: being able to use any Python you want makes CadQuery so much more powerful. Plus CadQuery can generate STEP files so you’re not limited to hobby 3D printers: you can send your project out to a CNC shop. I designed and manufactured a keyboard using CadQuery and would highly recommend it.
While I really enjoyed working with OpenScad, I find ImplicitCad[0] to be far more functional (excuse the pun), the language is just more easy to reason about.
The theory behind it is interesting, but in practice I found it underwhelming for practical applications. The point of using it was to get a performance boost by separating the geometry composition from the node mapping. Unfortunately, even on simple models it produces erroneous protrusions until the resolution is turned up high enough. This slowed things down to the point that it was no longer any faster than OpenSCAD and since it doesn't have STL import functionality, there was no reason to keep using it.
The apt-packaged version of OpenSCAD was broken for the current LTS version of ubuntu and hasn't been fixed yet. You'll need to download it from an alternative source if you want it on 18.04. Works well on 16.04 though!
The OpenSCAD releases seem to be in chaos. I've been using an AppImage release in Ubuntu, build 9.4, since February. Later releases seem to just crash. I get the feeling I'm building on an unstable foundation. :-(
The particular problem I referred to was caused by ubuntu's packaging process though: a dependency package failed to build for some obscure architecture so they decided that the sensible course of action was to remove the package for ALL architectures.
Perhaps I'll just use AppImages like you so that I can finally upgrade off 16.04. Have you found any downsides to using the AppImaged version over the apt one? (aside from the stability issues in newer releases)
Has the post title been altered by mods? I recall last night it mentioned something about Scad being parametric or programmable - a fact that made this post potentially more relevant to HN readers.
OpenSCAD's performance only scales with the clock speed of a single CPU core. On any sufficiently complex composition, the underlying geometry engine will eventually either slow to a crawl due to combinatorial node visits or fail to render due to opaque assertion failures. This is not the basket to put your eggs in for professional modeling. It will let you down and there is no clear path to making it better any time soon.
There's also Graphscad, which is a node-based interface for openscad. I only just learned about it myself, so haven't tried it yet, but it looks extremely cool to me!
I feel like OpenSCAD is extremely good for generative art (where its programming language is useful), but sorely lacking for designing functional hardware. It doesn't even have a measure tool! It's vastly too slow at previewing and rendering, and building everything out of various intersections of basic solids is cool at first and rapidly becomes infuriating. While not FOSS - but still suitable for tinkerers - Fusion 360 and SolidWorks both have maker-friendly licensing and are dramatically superior tools.
I’ll agree with the slowness issues, but I’ve found OpenSCAD extremely useful for functional hardware, especially when implementing something against a spec or physical measurements that need to be iterated open. As examples, I’ve designed a PC chassis and working housekey copies in OpenSCAD, both of which benefit massively from being fully parametric.
On the measure tool, it usually isn’t necessary because your critical dimensions should be inputs into your SCAD rather than outputs from it. Even so, there is a pretty useful set of modules for generating dimensioned drawings: http://www.cannymachines.com/entries/9/openscad_dimensioned_...
In OpenSCAD you build your part by constructing its convex hull. This is done by using primitives with known convex hulls such as rectangles and spheres and combining them using operations such as addition, subtraction, union, and Minkowski sum (which is an interesting peice of mathematics.)
Because you interact with shapes using code, it feels much more precise than a GUI. I think this makes it easier to create parts that aren't "glitchy." You want your part to have the minimal amount of detail and using code makes this easier because you can keep track of the steps to draw your shapes to see if you made any unnecessary changes.
OpenSCAD made me think about CAD in a different way.
Sure, I get it. Fusion 360 is an awesome piece of software. But are people really that eager to be completely dependent on autodesk?
Do people not realize that perhaps the reason for why fusion 360 is so cheap is because they are aiming (and on a fast track) to get complete monopoly? Does that not bother anyone? You wouldn't even be able to stick to an older version of the software.
Can you even version control your files? (will you in the future, without buying the premium package?) Yes I know the cloud has your back and everything. But you don't want the files in the same version control system that you use for everything else? What's next, save your python files in another cloud? It's absurd.
Can you export your files to be workable in any other software? (aside from very expensive autodesk products)
Are you not risking loosing everything you ever produced? It's like python2 -> python3 but instead of compatibility issues your code just disappears or held hostage. How is that OK even for a hobbyist?
I'm sure I'm mistaken on some points (please correct me!), because I vomit every time I decide I want to try it and start the download process and start reading their pages (and I don't think I even got to the privacy policy).
The whole application is architectured to lock you in. That is the SOLE purpose of it, why do we accept that?
It is dystopian, and the devil is being universally cheered upon. Have we really lost all hope?