I have no problem that companies (obviously) need to monetize, but when you dump customers the second it becomes more convenient it means that I'll be extremely wary to consider you when it comes to purchasing software for my enterprise.
Want my work for free? GPL is the only license I will ever use.
Then stop supporting them.
This isn't hard. There are alternatives. They need users. They need programmers. They need money. They need tutorials.
Support the open alternative even when it is inferior or keep getting screwed.
As someone said on the Internet, what you are sick of is capitalism. Because that is how basically business work. You get a customer base, but as your company grows you leave the less profitable customers behind. And, it makes a lot of economic sense.
As, I think that capitalism works. Maybe the solution is to remove part of the software from the market. Many institutions (schools, universities, or even the military) could spend resources on creating the tools that their students, and society as a whole can use. The goal would be more aligned with citizens needs instead of maximizing profit.
At the same time, companies can still capitalize on the different needs of the enterprise software. So, business continuation is assured.
Our current problem is that almost all platforms are designed for profit but platforms, by definition, are foundations. And that foundations not only are used for businesses but also for society.
It is the equivalent of a country were all streets and roads are private. And, the owners can decide who passes or not by their streets, and how much they pay. That is extremely good for businesses, not so good to grow an economy or a free society.
Platforms are inherently monopolistic. Network effect is key.
The most popular platforms have more users that provide support, because most support for software is done for free by experts in their spare time.
The most popular platforms also are more in demand for jobs. So, future practitioners learn the most on demand platforms increasing the number of users of that platform.
And the point of the parent comment, once a small platform becomes popular it abandons its small users to move to the more profitable enterprise layer leaving many people without access to the tool that they have spend time promoting, learning and supporting.
It does not work.
Not so. Federated and decentralized platforms do not involve any monopoly.
Used to be free, now it's not. Dassault/Solidworks are no better.
Support free/open projects like FreeCAD and let's boost it to Blender levels of incredible.
// Outer box depth
boxDepth = 60;
// Lid height
lidHeight = 10;
module closeTab() {
translate([-5, boxDepth/2+1, lidHeight-5]) {
rotate(a=[180, 0, 0]) rotate(a=[0, 90, 0]) linear_extrude(height=10) polygon(points=[[10, -1], [9, 2.5], [8, 2.5], [7.5, 1], [-1, 1], [3, -1]]);
}
}
OpenSCAD itself just visualizes these and allows you to easily set parameters via a GUI. IMO this approach does not work for more complex models, makes small iterations much much slower. The difference between F360 and OpenSCAD is huge, its like comparing Paint to Photoshop.https://en.wikibooks.org/wiki/OpenSCAD_Tutorial/Chapter_1
...that seems like a low-level way to describe relations between the primitives. It reminds me of the coordinate virus:
http://geocalc.clas.asu.edu/pdf/MathViruses.pdf
...hope that doesn't seem too negative. To put it another way, openscad seems like the C of geometric modeling, lowish level, procedural. Is there a Prolog or Haskell of 3D modeling?
OpenSCAD is the Prolog of 3D. It only looks C-ish but it isn't actually imperative which burns some people thinking that variable assignments are sequential.
- Way more functionality - STEP support - Constraint solver
Also it's much more point-and-clicky, in the same way Fusion is, so it's much less confusing for a Fusion user to transition to FreeCAD rather than OpenSCAD. That said, OpenSCAD is phenomenally powerful, it just requires you to think in a particular way. I happen to enjoy thinking that way and most of what I make ends up being OpenSCAD. I mostly use OpenSCAD to design parts, and FreeCAD to design assemblies and integrate parts into existing things.
If you're looking for an intermediate thing, check out cadquery, which uses the same geometry engine as FreeCAD but has a very OpenSCAD-like feel and language to it.
Any warnings before I invest time learning it?
(Btw what’s the best way to edit an existing stl? I want to cut out the middle of a piece and pull the two halves together.)
Openscad is the best for working with existing STLs. Say you have a centered 30x10x10 mm part and you want to remove the central 10mm. My strategy could be:
1. import the part, translate it by 5mm in positive x direction, and subtract from it a centered cube larger than the part that is moved in positive x direction so that it ends at x=0:
difference(){
translate([5,0,0])import("file.stl");
translate([16,0,0])cube([32,12,12],center=true);
}
2. import the part again, translate it by 5mm in negative x direction, and subtract from it a centered cube larger than the part that is moved in negative x direction so that it ends at x=0. Because this is so similar, you can reuse the code: for(dir=[-1,1])difference(){
translate([dir*5,0,0])import("file.stl");
translate([dir*16,0,0])cube([32,12,12],center=true);
}
3. Make a watertight join between the two - you want to make sure the two shapes overlap a tiny bit. So we change the cut cube to be out of the origin line by 0.05mm: for(dir=[-1,1])difference(){
translate([dir*5,0,0])import("file.stl");
translate([dir*(16-0.05),0,0])cube([32,12,12],center=true);
}
protip: prefix a negative shape with # to see it in the preview - like in the above replace cube with #cube* Openscad is unitless (lengths are like "1", not "1mm").
* Even simple fillets (rounded edges) are so annoying in openscad people leave them out. In Freecad you click the edge and click fillet, and it works even in complicated cases (e.g. multiple fillets overlapping).
* Freecad's constraint solving based approach tends to make your models easier to change than Openscad's scripting approach. In theory, openscad's approach is superior. But you would have to derive and write down the formulas for every parameter of every part, and so in practice you'll end up with too many hardcoded numbers, and your model won't be that easy to change. Changing where the constraints are (e.g. tube inner/outer diameter vs inner & thickness) is also easier in Freecad - especially when parts depend on each other.
* Freecad makes it easy to go back and forth between 2D and 3D drawings. Super useful.
It's like comparing Notepad++ to VS Code. They're both quality text editors. That's missing the point.
For hobby 3d printing (realistically that's 90% of why hobbyists are interested in CAD now, right?) I would recommend to learn both. OpenScad is very very fast to learn (like 1 hour for the concepts for someone who is already a programmer in any language, then you are good with the official cheatsheet) and nothing beats it for simple geometric one off models that you can write down in a few minutes. Freecad for anything beyond.
Also, if you need a simple but nice, easy and free 2D only CAD (e.g. for CNC milling or laser cutting - the type of work people abuse Inkscape for), check out Librecad. (Also check out qcad, the now commercial again product it's forked from. Credit where it's due and such.)
Freecad also aims to eventually become a complete suite. Qcad and Openscad only handle the CAD part. Freecad for example has a finite element method simulation that can be used to analyze stress. Freecad also has a CAM module (CAD is how the finished part should be, CAM is how you machine it. Like when you CNC mill, which tools, at what RPM, feed rate and turn direction, along which paths. Obviously for 3D printing it doesn't matter what Freecad has because you'll use a specialized tool like Cura (free) or Simplify3D (commercial) anyway.)
OpenSCAD is constructive solid geometry and you write a script then render it. You can essentially only create STL geometries with OpenSCAD, if you just plan to model and 3D print single parts OpenSCAD might be sufficient, anything more complex, particularly assemblies with multiple parts and you'll need a different CAD platform.
In general parametric modeling is far more popular it's how solidworks, onshape, fusion360, etc. work.
I learned enough of OpenScad to create simple models but if I need something complex (and especially models that move), I used Fusion 360. I knew that it would cost $60 a month to me at some point and will need to evaluate if it is worth that much to me. While it's not pleasant to get something for free and then have to pay for it, it's not the first time it's happened and won't be the last.
Initially I watched a couple youtube videos and since then have created a few dozen things in fusion360 with little effort, rarely bumping into problems I couldn't solve without reading forums/etc to find other peoples solutions.
So, IMHO I _REALLY_ want an opensource solidworks/fusion360/etc competitor but at the moment its just not there yet. From the video's it looks like it should be, but once you start using it, its an endless ball of frustration.
> Anyone looking to learn CAD probably ought to just jump
> right to solidworks as a vendor that is at the very least
> more predictable and has better return on your time.
I want to teach my daughters the principles of CAD, just as they've learned the principles of auto repair, Python, camping, and a host of other things. How am I going to run Solidworks on our Ubuntu home computers? How many hundreds of dollars does it cost?I was looking to Autodesk Fusion 360 and even opened a team for our family recently. I decided on that after looking at FreeCAD, Solvespace, OpenSCAD, LibreCAD, and a few others, each of which had a fundamental dealbreaker. Perhaps it will have to be FreeCAD after all.
I was looking at Solidworks back in 2015 and got a call back from sales. I heard: "For a personal license, the first year will be $39.95 and if you want support and upgrades with that, it's an additional $12.95 per year."
That sounded incredibly reasonable to me, much cheaper than I'd expected, and I was ready to buy until she continued, "so it'll be a little over 5 grand for the first year's license and support". ($39.95 and $3995 are commonly pronounced exactly the same.)
To non-English speakers, it is common to read "$3995" as "thirty-nine ninety-five". It is very rare to say "three thousand and nine hundred and ninety-five dollars".
Usually one understands from context. "I paid just over fifteen for a used car", I would assume thousand... ...but it could be car collectors talking about spending 15 million.
Sadly, you're missing a zero.
Out of the whole bunch, FreeCAD is probably the best open source solution.
If you don't mind pending a bit of $, and need something parametric, then Alibre CAD ticks a lot of the same boxes as F360. Windows only though.
If OTOH you don't need parametric design, I've gotten pretty far with Rhino3D, although again that is Windows/Mac only.
It is definitely limited in the complexity of items you can make with it, but it is amazing for learning mechanical CAD.
Actually, what are your deal breakers for each of the programs you listed?
https://www.reddit.com/r/SolveSpace
I got stuck trying to create a bracket, very similar to the bracket tutorial. I was unable to properly set the location of two of the holes symmetrically. It was just an exercise to learn the app, if you're really interested in helping I can try to reproduce it and see exactly what the issue was.
I'm certain that the problem was with my own understanding of SolveSpace constraints, not with SolveSpace itself. At the time I was deciding which CAD application to marry, not trying to solve a specific issue for which I had a need.
There are no (i.e. zero) for-profit companies that aren't trying to sell you something at some point. The reason companies do these multi-year 'free' services is to eliminate as much of the competition as possible and/or build a brand. If you want something that will stay free, you really should be looking at Open Source/Free software and either be prepared to roll up your sleeves and periodically help out or donate money to fund ongoing development/support.
Software subscriptions for hobbies are crazy, because who knows if I'm even going to use it ever again, yet all my effort is lost if I'm not paying them.
The old permanent license model is much better for hobbyist, if you need a new feature, then give them more money, but they aren't holding your creativity hostage if you only spent 10 mins messing with your hobby for 6 months.
I'm afraid this will be one of those clever MBA stories where someone comes in and looks at the number of personal users and thinks, gosh damn, if only we could monetise half of them at $800 we'd be rolling in it.
I guess they are lucky that people can't just do what they did with Photoshop in the 90s; yay for the cloud.
Adobe at least offers lower cost products for their less sophisticated users.
The linked post is a guy who has been using Autodesk for 30+ years. If a guy who has benefitted from an application for 30+ years shouldn't be paying, who should?
They have a totally free 1 year license, so if you are learning, that'll get you much of the way through school.
EDIT: I removed the suggestion that he had never paid for it.
If someone came out with a hobbyist license that was cheap to get with some limitations (no commercial, no cloud rendering), it would absolutely be fair.
You're not making money out of your hobby, you're paying out of pocket to learn a skill that you enjoy.
This is their problem to solve, and they have chosen to do it this way.
I regret spending effort in learning how to use this platform. I am removing all my public Fusion360 designs and tutorials and replacing them with recommendations to others to avoid their software.
Original: Anyone looking to learn CAD probably ought to just jump right to solidworks as a vendor that is at the very least more predictable and has better return on your time.
Revision: May have spoken too soon Re: solidworks. sigh I gues if you are a great software engineer with some free time, have a look at FreeCAD. It needs some good help.