I’d really like to see something like blender come for the 3D CAD industry, at the moment it feels like the only people who would lose out are AutoDesk. The amount of money that flows in and out of 3D cad (as subscription and then value created) having a first class open source kernel and tooling, would be giving big industrial players freedom to modify and tailor to their needs as well as smaller / hobbyists get started for free!
Speaking with over a decade of experience as a developer in industrial CAD (but still just one random guys point of view only). The question _isn't_ about the availability of a 3D kernel.
3D kernel is not the "moat".
You can cross that with money.
You can purchase a ACIS or Parasolid and you are off to the races. Or even use OpenCascade if you know what you are doing.
The more interesting question is: Ok hotshot, you have a 3D kernel, 10M of investor money (or equivalent resources).
What's your next move? What industry are you going to conquer? What are the problems you are going to solve better than the current tools do?
What's the value you provide to the users except price?
What are you going to do better than the incumbent softwares in relevant specific design industries?
Which industry is your go-to-market?
Etc etc.
The programmer's view is "I will build a CAD". The industrial user on the other hand does _NOT_ want a "general CAD software".
They want a tool with a specific, trainable workflow for their specific industrial use case.
So "if you build it and they will come" will require speaking to a specific engineering/designer audience.
You can of course build a generic tool (it's all watertight manifolds in the end) but the success in the market depends on the usual story about market forces. What's your go to market/beached. Does it enable you to move to other markets?
And the answer usually is - NO. You need to build the market share in _each_ domain separately.
Probably requires something that is almost there then a sponsor(s) to throw in developers or funding to get the rest of the way. On the EDA side CERN did a lot to lift Kicad to the point of being a credible alternative that could breakthrough like Blender. Both those projects are over 30 years old and for a lot of that time were dismissed as too difficult to use or lacking in features. FreeCAD is only 23 years old. I don't know what the code base is like but if a large org put a couple of good devs into it for a few years who knows.
It must be difficult when so much management is short sighted and focused on delivering short term profits for shareholders. Even academia is run like a business now.
Unless a privately held rogue company like Valve got interested its probably going to have to wait for a government/ngo/scientific. Industry, particularly the tech industry, is notorious for leaching of free and open source software and in some cases building entire businesses on it and not giving back.
> It must be difficult when so much management is short sighted and focused on delivering short term profits for shareholders. Even academia is run like a business now.
Management just reacts to environments created by governments. When ZIRP was around money was very easy to get hold of - too easy. Now it's really hard because businesses have to beat government bond interest rates, which are guaranteed, to get debt/investment.
> Unless a privately held rogue company like Valve
Valve is not a rogue company.
> Industry, particularly the tech industry, is notorious for leaching of free and open source software and in some cases building entire businesses on it and not giving back
Your premise is wrong. It's impossible to leach off something that is freely given. This is like being angry because people don't all tip a street performer. The deal is it's free.
And your facts are wrong. Businesses fund a giant amount of OSS work.
Valve is rogue as in it does whatever its founder-owner wants it to do. It's neither beholden to what public shareholders want nor to what private investors want. Founder-CEOs are laughably powerless in comparison. When the company is publicly traded, even founder-CEOs who are still majority owners are powerless in comparison, because when their minority co-owners want out their net worth goes down considerably and they tend to really not want that.
I did a lot of parametric 3D CAD work in college as a MechE student, and switched to webdev after graduating. Recently, I had a hobby project that would have involved dusting off my CAD skills, and was bummed to find that there wasn't any software readily available that allowed me to lean on muscle memory I had built up using Inventor/Creo/SolidWorks/Unigraphics.
A viable OSS alternative, particularly one that prioritizes simplicity and being a gentle on-ramp for hobbyists, would be fantastic.
It wouldn't need (and I would argue shouldn't attempt) to compete with the big for-profit outfits to be useful either. Offering a simplified UX for the most-used features of the pro software would have a ton of utility, while also being a great place to build the foundational skills you need in order to master the more complex stuff.
Furthermore, a project with the mission of complementing the pro tools rather than replacing them would probably be far more likely to succeed, IMO. As long as projects could be exported to variety of formats and brought into some other software when a specific use-case arises, you'd have all your bases covered.
The problem with FreeCAD and every other free/open source MCAD project of note is the Open Cascade kernel they are built on. While Open Cascade is fairly mature, it has dealbreaker issues in a few key areas: fillets cannot consume connected faces and may fail for a number of other reasons, cylindrical and spherical faces require seams which often cause issues with boolean operations, and shapes like helixes are also often troublesome.
It would probably fall somewhere between "substantial architectural overhaul" and "partial rewrite" because it’d require redesigning the topological representation to eliminate seam edges.
Some of these issues are long standing and really hard to solve. Someone could probably defend an entire PhD thesis on “redesigning the topological representation to eliminate seam edges” without making much practical progress
It’s not about seams in 2d but 3d curved surfaces.
OpenCascade’s kernel forces you to deal with periodicity in topology (the shape structure), while Parasolid handles it in geometry (the math). A cylinder is mathematically continuous because there's no actual "seam" where it starts and ends. But in OpenCascade there’s a seam from 0 to 2π and this seam edge becomes a real topological entity that every algorithm has to deal with.
In Parasolid the cylinder is periodic so when you query a point at U=2.1π, the kernel just knows that's equivalent to U=0.1π. The periodicity is a property of the surface math, not the shape structure. It’s not using polygons/edges/vertexes but a system of equations to calculate the surfaces.
This is why boolean ops fail so often in FreeCAD: it’s asking the kernel to intersect with an artificial edge that shouldn't exist. The seam creates edge cases in intersection calculations, makes filleting near seams a nightmare, and complicates things. Parasolid's implicit handling requires smarter surface evaluation code upfront, but then everything else just works.
Originally open-source, but since taken back in-house. As I understand, which should not be construed as an accurate accounting, Sandia wants to flesh out the basics further before (potentially) open-sourcing it again.
If you are looking for a tool that handles constraint based CAD for mostly like 3d printing your stuff, give Dune3D a try (on github), it's currently my go-to to keep a workflow similar to what I used to have on Fusion360, it's lightweight, open source and pretty damn good. The author also develops a EDA/circuit board designer called Horizon EDA.
I was going to suggest solvespace. It is very barebones, but was much easier to use than FreeCad for me. It also has constraints in 3D space, which I use a lot: https://solvespace.com/index.pl
There's also the https://www.cadsketcher.com/ addon for Blender, which is constraint-based. I tried it a few years ago and it was decent, but still lacking a few things. I haven't tried it recently, but I'd be surprised if it wasn't much improved from the already-pretty-good state it was in when I tried it.
I tried Onshape and the first thing that made me drop it was how slow it is. It feels extremely sluggish, probably because it's running on the browser. I have a really good computer though, so I dont want to deal with that.
I really didn't like how they both require a phone number and make all of your files public. I've stuck with Fusion which seems a lot more privacy respecting while also being basically free for home users.
OnShape is just another skin over Parasolid (closed-source geometry kernel sold by Siemens) like SolidWorks, VectorWorks, and others I forget.
So it doesn't really represent meaningful progress towards FOSS CAD because ultimately it uses the same proprietary, expensive library to do the heavy lifting as most of its competitors.
IDK how they compare to professional CAD tools, but I've heard good things about FreeCAD and OpenSCAD. I know that some people use Blender for CAD work, and there are even some extensions to make it easier, but I'm dubious that the representation of meshes that Blender uses are well-suited for CAD applications.
I tried FreeCAD and the user interface is so unintuitive and things just have constraints that block you from doing the most basic things from the get-go that I just gave up in 10m, like sibling. SCAD is scripted/programmer CAD, I like the concept and have used for a few things but it's quite a learning curve to do anything more than a cube with some funny edges! Dune3D is currently my go-to for 3d-printer related parts!
Have you tried since the 1.0 release? There were quite a few improvements that were locked behind weekly builds for a long time. AstoCAD[1] might be another option for you. It's basically FreeCAD with a streamlined UI.
I just tried FreeCAD last week. I uninstalled it after about 10 minutes. The most basic actions to just get started were throwing errors. Maybe it was user error, but it was a very bad first impression.
Approached it with the same attitude at the same time, after 10 minutes decided to view some basic tutorial (for an earlier release) that made things clear and I could continue basic tinkering on my own.
But of course built-in intro of Solidworks was a way better UX.
I actually did the same thing so that I could figure out how to lay out my workshop!
What I'd do is:
- Spreadsheet workbench --> Create spreadsheet (name it "measurements"). (This is optional)
- Switch to Part design workbench --> Create body (name it "layout") --> select XY plane --> Create sketch --> Create Polyline
- Zoom out, start drawing the rooms in your house, approximately to scale.
- Before going into too much detail, add a dimension (select line --> "Constrain Distance") to the first line you draw, so that you can do the rest of your drawing approximately to scale. Then the general shape won't get messed up when you add dimensions to everything else.
- (If you have a photo or picture, you can import that to sketch over).
- Add constraints to match your room measurements, mostly vertical or horizontal distance constraints. Be careful not to overconstrain the sketch. (You can put the measurements directly into the sketch constraints, or you can put them into the top-level spreadsheet, create an alias for each cells, and then set the dimensions to reference those cells).
- Once the rooms are drawn, close the sketch and create a new sketch on the xy plane called "furniture".
- Draw some rectangles for your sofas / tables / etc, delete any horizontal and vertical constraints that get automatically added (they look like little | and _ icons), and instead apply perpendicularity constraints. Dimension your rectangles using only the "constrain distance" tool. Now you can drag them around the room and rotate them freely.
- If you want to make 3D models for these too, create new Part Design bodies for each room and each piece of furniture, create a shape binder referencing the master sketches in the Layout body, and then extrude the sketches using the "Pad" operation.
That's about as much tutorial as it makes sense to pack into a HN comment. If you give it a try, I hope it works out for you!
There are excellent tutorials on youtube. Spending a couple of hours doing these will allow you to hit the ground running.
FreeCad is rapidly evolving and quite a few tutorials are already using the v1.1 dev builds. Pay attention to the version used in tutorials as you can run into trouble following them if you are on an older release.
I like using paper and cardboard for this, dollhouse style, much easier to move things around and visualize that way and more fun than clicking a mouse to boot :^)
Inkscape is good for typing dimensions into rectangles tho
This was my plan B. I do have a scale I can use for it.
I’ll check out Inkscape as well. I’ve tried using some raster graphics in the past, but I couldn’t type dimensions and had to use the rules and guides with snapping. It mostly worked, but was a bit annoying.
I will phrase my response in an alternative form which, I mean not in a flippant way, but because I think it will clarify this, in complement to the other replies:
> Mom, may we have SolidWorks?
> We have SolidWorks at Home.
> <SolidWorks at Home>
This is in contrasti to the example the parent comment brought up, and the one I added: Blender and KiCad do not have this concern; there are free (Or you could say inexpensive) high quality tools in their spaces. This is notably not the case for traditional CAD.
OpenSCAD is great, I’ve made some very complex stuff in it that would be hard to make even in professional tools like Fusion. For some reason the main OpenSCAD releases don’t seem to get updated (the current version on the site is 2021.x). The nightly builds are great though, and I recommend getting one and turning on the Manifold backend since it is MUCH faster than the default CGAL one.
As an addition, KiCad is also an example of exquisite Blender-like software for designing things. It solves a simpler problem of note. Both are paragons, and to your point, it would be lovely to have traditional CAD software on its level that's not expensive.
take a look at https://Plasticity.xyz. It's not open-source, but it's got a small, highly dedicated team behind it. It's built on Solidworks' kernel, so it's quite robust.
Also take a look at solverspace, caligula, FreeCAD, ...
Reading the FAQ it doesn't seem to bad. The Indie license allows you to run it simultaneously on 2 machines and the Studio license increases that to 4. You can transfer installations to new computers (or the same computer if doing a reinstall) up to 10 times per year, so you're not locked in to those 2 specific computers for eternity.
Restrictions are always annoying but I think they're striking a reasonable balance.
Same, but I don't think it's possible without a large and sustained investment into a free geometric modelling kernel, which can probably be only done by a government.
Parasolid is powering practically every major CAD system. Its development started in 1986 and it's still actively developed. The amount of effort that goes into those things is immense (39 years of commercial development!) and I don't believe it can be done pro-bono in someone's spare time. What's worse, with this kind of software there is no "graceful degradation": while something like a MIP solver can be useful even if it's quite a bit slower than Gurobi, a kernel that can't model complex lofts and fillets is not particularly useful.
3D CAD is much harder than Blender and less amenable to open source development.
> Same, but I don't think it's possible without a large and sustained investment into a free geometric modelling kernel, which can probably be only done by a government.
Can you help me understand why this problem is so hard?
The other reply is really good. To add to that, the intersection of two bi-cubic Bezier patches (each being but one part of a cubic B-spline surface) is an implicit equation of degree 18^2=324. This simply cannot be implemented exactly in a geometry kernel and thus must be approximated. How do you want to approximate this? If you choose trimming (the industry standard) now you have to handle gaps in your geometry. If you choose remapping into an unstructured watertight spline, you need to solve a constraint system that is NP-hard. If you choose reparameterizing… well, see nVariate’s watertight Boolean technique (disclaimer: I once sponsored a project with nVariate).
Now, generally speaking, in a CAD model most surfaces will be “analytic” (plane, torus, conical, arc, line, etc). But whenever some complex surface that joins these surfaces is required, (NUR)B-splines are the principal technique for “covering” the gap.
Geometric modelling tends to need a lot of detailed work for two main reasons.
Firstly, you probably have a variety of analytic shapes to represent — things like lines and circles in 2D or cubes and spheres in 3D. Even seemingly simple questions, like whether two such shapes intersect or not, can require a significant amount of logic to calculate the answer. That logic will often be specific to the exact combination of shapes you have, because the number of freedoms and nature of any symmetries in the shapes you’re working with can mean you would use completely different algorithms for superficially similar situations.
Secondly, while you’re probably going to implement a lot of analytic calculations, in realistic models you’re probably going to end up using numerical methods as well. That can be because you need to work with geometry like Bézier curves or NURBS surfaces that has many freedoms. It can be because even if you start with convenient analytic shapes, new geometry that you derive from those shapes, for example by offsetting a single shape or by combining details from multiple shapes as in constructive solid geometry, won’t in general have an analytic shape itself.
By the time you allow for the numerous different types of constraint that you might want to enforce between different types of geometry and the numerous different ways you can construct new geometry from geometry you already have, the scale of the problem explodes. And on top of that, almost everything you do is going to have numerical sensitivity issues, and all but the simplest algorithms are going to need detailed, careful analysis to make sure you really have covered all the possibilities. In this field, “edge case” and “corner case” are literal terms and not just figures of speech!
To give a practical example, without looking up how to do it, could you confidently calculate whether two arbitrary cuboids are completely separate or they touch or intersect somewhere? As another example, given an arbitrary parametric surface, a sphere in a position just resting on that surface, and the constraint that the surface of the sphere must remain tangent to the parametric surface without intersecting it anywhere, how would you calculate the path the centre of the sphere will follow if you introduce gravity to start the sphere rolling in a certain direction along the surface?
These are relatively simple problems in the field, but each already has some subtlety that leaves the “obvious” solutions incomplete. Solve a few thousand problems like that, each unique and with its own calculation strategy, and now you’re starting to get a practically useful geometric modelling system. (You’ve also probably had a team of dozens of mathematicians and developers working on it for decades.)
The way modern CAD systems work is by having a tree of features/actions that is then used to construct an analytical representation of a 3D object. The features/actions can rely on "sketches" (2D drawings that are coupled with a real time geometric constraint solver) and can be "projected" into sketches, creating new reference lines, that can then be used by the sketch constrain solver, generating a sketch that can be used for more 3D features.
This is already complex and fiddly enough. Just having a stable 2D drawing environment that uses a constraint solver but also behaves predictably and doesn't run into numerical instability issues is already an achievement. You don't want a spline blowing up while the user is applying constraints one by one! And yet it's trivial compared to the rest of the problem.
Having 3D features analytically (not numerically!) interacting with each other means someone needs to write code that handles the interactions. When I click on a corner and apply a G2 fillet to it, it means that there's now a new 3D surface where every section is a spline with at least 4 control points. When I then intersect that corner with a sphere, the geometric kernel must be able to analytically represent the resulting surface (intersecting that spline-profiled surface with a sphere). If I project that surface into a sketch, the kernel needs to represent its outline from an arbitrary angle — again, analytically. Naturally, there is an explosion of special cases: that sphere might either intersect the fillet, just touch it (with a single contact point), or not touch it at all, maybe after I made some edits to the earlier features.
Blender at its core is comparatively trivial. Polygons are just clumps of points, they can be operated on numerically. CAD is hell.
> Same, but I don't think it's possible without a large and sustained investment into a free geometric modelling kernel, which can probably be only done by a government.
It's going to be years or decades before it's competitive though. Also, it looks like they switched to keeping progress updates private except to sponsors, which means I don't actually have any easily-accessible information about it anymore which is sad.
I'm very skeptical that one person can make a dent. Paging through the releases, they seem to focus on constructive solid geometry and code-driven shape generation, which I believe is a dead end.
The tricky bit is having a G2 (or even G3) fillet that intersects a complex shape built from surface patches and thickened, with both projected into a new sketch, and keeping the workflow sane if I go and adjust the original fillet. I hope one day we'll see a free (as in speech) kernel that can enable that, until then it's just Parasolid, sadly.
KiCAD was also a meh ECAD FOSS alternative 7-8 years ago, now it is by far the tool of choice for regular ECAD designs. I can see FreeCad getting there by 2030.
FreeCAD is probably the single most frustrating and unintuitive pieces of software I have ever used. I almost drafted hate mail to the devs after 15 minutes of crash coursing fusion360 got me further than 2 days of trying to use FreeCAD.
It seems like it has lots of capability but still "punch your monitor" levels of difficulty just trying to do the most basic stuff.
While it's a pain to learn and requires some plugins (addons) for basic ergonomics, FreeCAD absolutely works for parametric CAD modeling. YMMV depending on the project and complexity, it does the trick for laser cutting, bending and 3D printing.
Deltahedra is a great YouTube channel for getting the basics.
It suffers from too many "workbenches," some of which appear to be redundant or dated. You never know whether structures created by one are "compatible" with the M.O. of another (like "Part" vs. "Part Design").
And it presents nonsensical problems, like offering to create a sketch on the face of an object and then complaining that the sketch doesn't belong to any object. So you have to manually drag it under the object in the treeview. So gallingly DUMB.
Despite all that, I will wrestle with its ineptitude before giving Autodesk a penny. I get stuff done with it and respect those who give their time to develop it.
Not OP, but I've been using FreeCAD for hobby projects for 8 years and even though I usually do achieve the results I want, the "monitor punching UX issues" are absolutely real. I'd love for FreeCAD to succeed the way Blender did, but the project either lacks people with UX expertise or funds to sponsor such people.
I tried it this year. Not in too much depth, but I tried Fusion and FreeCAD for the first time this year for 3D printing and found I was getting much further much faster on Fusion.
I'm sure I could grind harder and learn more and make FreeCAD work, but I'm not sure why I'd bother.
If all you're looking to do is produce a design the quickest way possible, then sure Fusion often wins. Just as there was a time where buying Maya made more sense than using Blender. But, FreeCAD offers other niceties, like being able to work offline, using an open file format, performant non-web UI, generally avoiding vendor lock-in. And Autodesk already did a major rug pull with Fusion360 licensing once.
I mostly design functional 3D prints. I've found FreeCAD 1.0 fixed most of the annoyances I ran into and I'm pretty productive with it. But, I didn't come into it with an expectation of a SolidWorks or Fusion clone. I learned the tool with its own idioms and it seems pretty straightforward to me. It's not perfect by any means and I've run into the occasional bug. To that end, I've found reporting bugs with reproducible steps goes a long way to getting things fixed.
I'm not sure what it is about CAD in particular, but I find everyone wants the "Blender of the CAD world" while skipping over the decade of investment it took to get Blender where it is. For a long time, discussions about Blender were dominated by complaints about the UX. If we didn't have folks willing to work past a hit to productivity in order to make an investment into Blender, we wouldn't have the amazing open source tool we have today. FreeCAD has all the expectations of a high quality open source CAD tool with hardly any of the investment. Just getting people on /r/freecad to file issues is surprisingly challenging.
By all means, if you're happy with Fusion and don't mind the licensing, have at it. I'm sure there's functionality in there without an equivalent in FreeCAD. I'd personally rather not have my designs locked up in Fusion and see FreeCAD as the best option for me, even if it suffers from the challenges of open source UI design.
No arguement that fusion isn’t better and easier to learn. Their licensing and changes to their hobbyist offering were no longer tenable for me which prompted my change. I was pleasantly surprised at how well I was able to work in freecad after a few youtube videos.
Depends if your goal is artistic or functional. Blender is good if you are trying to make character models, etc. It's not great when you are trying to make a part that has to fit something in the real world and after printing you discover one step half way through needs to be 1mm shorter.
It does take a different set of skills to regular CAD, but I haven't found it that bad for simple 3D printed models that need to be dimensionally accurate.
I have used it to make quite a few functional prints, with the help of making sure my scene units are correct and a CAD plugin.
I haven't tried any of the cad plugins for blender, but I'm not sure how you would retroactively change dimensions in blender. It's usually simple enough to create features to a certain size, but if you need to change them later it becomes significantly difficult.
If I put some holes in something that are 1mm from the edge, but then I print it and see it doesn't line up and needs to be 1.5mm, in Fusion I can just change one number and it all updates. Doing the same thing in blender would likely be very difficult.
thats still pretty easy in blender, just takes a different approach!
Goto edit mode in the part, goto vertex mode, wireframe view, select all of the vertexs for the hole on both sides of the solid part, then move then (in the right selection mode) in the proper direction using your keyboard to move the exact amount needed. Depending on the specifics needed, you can setup custom axis and such to move them anywhere needed (lets say you needed the hole .5mm but 45deg from the current one ref'd from a specific edge).
The same thing can be said for resizing whole faces, moving parts, etc...
Its all possible and usually pretty easy to do, just takes a different mentality from that of a parametric modeller.
During COVID I learnt Blender for 3D modelling. It is still my go to.
Many people complain about it being a mesh editor but it works for me. The sheer variety of tooling and flexibility in Blender is insane, and that's before you get to the world of add-ons.
I want to learn Geometry nodes and object generation as I think they will address a lot of the "parametric" crowd concerns. This v5 is meant to be a big step in ease of use of this.
Also, I'm not sure if the different tooling lets me see all the flaws of online "parametric" models, or whether I'm being pedantic. They get frustrating. I have Gordon-Ramsay-screamed "How can you fuck up a circle!".
In MCAD, “parametric” does not mean a high level part or feature is driven by editable parameters or procedurally generated features. Parametric refers to the underlying storage format representing part features in a parametric way rather than as a mesh. Mesh formats like stl cannot represent a circle by its position and radius, while a parametric format like step can. This distinction is more akin to raster (bmp) vs vector (svg) graphics. Both can be generated procedurally by “parameters”, but only with svg can sub-features be faithfully extracted or transformed.
>Mesh formats like stl cannot represent a circle by its position and radius, while a parametric format like step can.
This is where I think the Geometry nodes can help. A node (function) can be used to represent the circle with inputs and outputs set or changed as required.[0]
I have not fully explored this space though and so my "hopes and dreams" may well be as useful as thoughts and prayers...
I have some understanding of "parametric" vs "mesh". I looked it up when I saw so many people going on about it.
Maybe it is the export or something. I run the 3D toolbox and often models are not manifold.
I see things like two circles in slightly different positions but both are connected in different ways to the surrounding "single" instance model. Things like this mean you end up with "infinitely small volumes". There is no fully enclosed "volume" and so mathematically there is "nothing to 3D print".
As a model this makes no sense to do, and so it irks me.
But clearly the slicer software doesn't care or autocorrects and people make their 3D print happen just fine.
Alibre does not have a free option. They have a 30 day free trial and the low cost Atom3d package. I bought Atom3d and never use it because it's too painful. If I'm going to endure that much pain I might as well use FreeCAD which at least runs on Linux.
Does Blender have NURBS? I don't even use NURBS in Plasticity, because curves are already essentially vectors. I don't have to worry about polygons at all, and then I choose the tolerances when I export.
Something that I've daydreamed of in the past is making a new constructive solid geometry "kernel" around which a CAD application could be wrapped based on projective geometric algebra (PGA).
The algorithms it enables are fundamentally more capable and robust than traditional kernels based on linear algebra (vectors and matrices). You can do really fancy things like interpolating in space and time robustly, find extrema in high-dimensional phase spaces, etc...
This could potentially allow straightforward and robust solvers for kinematics, optimal shape finding, etc...
Every few decades there's a "step change" where some new algorithm or programming paradigm sweeps away the old approach because suddenly a hobbyist can do the same thing solo that took dozens of developers a decade in the past. I suspect (but cannot prove) that PGA is one of those things.
I haven't heard of fornjot, but that's not a surprise because I haven't been involved in the CAD field for a very long time (decades).
My thinking is to approach the problem from a fundamentally different angle. There's already constructive solid geometry (CSG) kernels, triangle mesh kernels, and NURBS-based kernels. Their mathematical foundations are very different, which results in wildly different behaviour and capabilities.
I came across PGA while studying physics, saw some vaguely CAD-like CSG demos and I realised that it could be yet another mathematical foundation on top of which CAD applications could be built.
Notably, variants of GA and PGA are already used in robotics, inverse kinematics, etc... including 5-axis milling, so it's not unheard of in industry. However, it's always used as a "spot" solution to work around a problem such as gimbal lock, or interpolating transformations. Typically by converting back-and-forth between linear algebra representations and some variant of GA temporarily. I'm thinking of using PGA throughout as the foundational geometric elements.
I've been working on a quite simplistic tool which currently just supports writing out DXFs and moving tools in lines and arcs for a 3D preview in OpenPythonSCAD --- I _think_ I can envision what you are describing, and it sounds very interesting, and might be an approach I'd want to look into for 4th and 5th axis work --- do you have any texts/references which you could share/point to?
You're on point that there's a tremendous amount of money captures by Autodesk for CAD software that could be better directed at the open source community instead.
Software like OpenSCAD and FreeCAD are obviously not suitable for much commercial work, and have very irritating limitations for hobbyist work, in my mind a big part of that is the UI and Blender has a good and established UI at this point so I'd love to see the open source CAD that provides an alternative to vendor lock in come from a Blender add-on instead of a separate program.
I am no expert but as I understand it the primary difficulty with developing good alternatives to commercial CAD software lie in the development of an effective geometric kernel.
It seems to me that if a developer of an opensource CAD program develops it as a Blender add-on they can effectively outsource the remainder of the development efforts to the Blender community while focus can be made on the CAD kernel itself.
Every time Blender has a new update, I scroll and I'm amazed by how much is in it. Then I realize my scrollbar is only halfway through.
Radial tiling my beloved, and a seemingly far more straightforward array modifier <3 Faster volume scattering for non-homogenous volumes.
For those wondering "where the AI is", the new Convolve Node might be it :) Convolutions are a pretty generic signal processing operation (Hadamard product) which are also used in neural networks which work with images. Realistically though, this will be mostly useful for wonky hand-crafted blurs.
The new sequencer looks fantastic, too. I always went to DaVinci Resolve but I might be able to go full blender. Compositor modifiers in the sequencer is also very welcome.
Blender is really an amazing case study of open source software. Apart from the Linux kernel and web browsers/tools, it is perhaps the only open source software that managed to beat all the commercial software in its niche. It has rendered Maya nearly obsolete.
Meanwhile, in other niches, Microsoft Office still beats open source office suites like LibreOffice; Photoshop isn't about to give up its crown to GIMP; Lightroom isn't losing to Darktable; and FreeCAD isn't even in the rear view mirror of Solidworks.
I wonder what will be the next category of open source to pull ahead? Godot is rapidly gaining users/mindshare while Unity seems to be collapsing, but Unreal is still the king of game engines for now. Krita is a viable alternative for digital painting.
> I wonder what will be the next category of open source to pull ahead?
KiCad, for PCB design. They have been making massive improvements over the last few years, and with proprietary solutions shutting down (Eagle) or being unaffordable (Altium) Kicad is now by far the best option for both hobbyists and small companies.
With the release of KiCad 5 in 2018 it went from being "a pain to use to, but technically sufficient" to being a genuine option for less-demanding professionals. Since then they've been absolutely killing it, with major releases happening once a year and bringing enough quality-of-life improvements that it is actually hard to keep track of all of them.
From the type of new features it is very obvious that a lot of professional users are now showing interest in the application, and as we've seen with Blender a trickle of professional adoption can quickly turn into a flood which takes over the entire market.
KiCad still has a long way to go when it comes to complex high-speed boards (nobody in their right mind would use it to design an EPYC motherboard, for example), but it is absolutely going to steamroll the competition when it comes to the cookie-cutter 2/4/6 layer PCBs in all the everyday consumer products.
the epiphany moment was when the dev team stopped listening to the neckbeards that wanted things different for the sake of them being different, and started listening to professionals that wanted more sane workflows. There must be a reason if all industry does things simillar ways, other than inertia.
Guess what, user adoption increased dramatically, because it became pleasant (or tolerable) to use by people that used literally any other program.
V8 included in the core many things that were plugins before, and replaced the old utilities that the neckbeards in the forum were crying to keep, or else! (or else more adoption.)
V9 had even more many improvements, but also many regressions, over V8. V10 might be the release that truly consolidates the core of the suite and then they can start really focus on high speed designs.
I've navigated many programs over my career, and unless a future employer mandates me to use Altium, or purely technical reasons (8+ layer, high speed designs) requires me to use Cadence, only kicad for me.
Incidentally, it feels like this past two years freeCAD GIMP and Inkscape have started moving away from listening to noisy members of the community, to useful members of the community. I'm seeing a slow but steady progress that will eventually accelerate and make both toold true alternatives, as it happened with KiCAD (though it will really be tough for GIMP, even if it's perfectly usable for many, many tasks, any graphic designer will kick and scream if they're not given the adobe suite, pity.)
Myself, i do very little basic graphics like replicate buttons and such things to not bother my colleague, or apply correction to my photos, i proudly do that in GIMP and inkscape.
"Complaining neckbeards" are a part of the problem, but the bigger issue is often developer-users that has oversight (or preference due to "control") with shitty UI-decisions that have little interest or agency in fixing them. The non-movment complainers are more of an alibi for those developers with little UI improvement interests.
GIMP is just bad sadly even when it comes to basics, it has nothing to do with wanting Adobe products but more about GIMP just being a "coders-tool".
Every time in the last decade I checked, i still had to input a resolution when creating a new image layer.. that's a fundamental operation that hasn't been that clumsy in Photoshop since the 90s (Photoshop has "infinite" layers, they can be larger than the image, yes it's "bloated" but that's what you want as an artist 90% of the time.. not an annoying border).
> The non-movment complainers are more of an alibi for those developers with little UI improvement interests.
True, but i also remember vehement discussions on everybody else in the world that wanted the scroll / zoom to work as in every other software in the world, and a few vocal users that would spam every thread and discussion insisting that we (the rest of the world) should have been using other software instead.
You know, the usual hostile attitude open source communities are famous for. I guess that for GIMP the moment that will change everything is when they will add a proper circle tool /s
GIMP and Inkscape are already moving in the right direction with the new UIs, fingers crossed
Blender went from a shitshow way worse than GIMP to almost killing the competition. Those working on GIMP took notice (and perhaps those that had felt sidelined before dared speak up).
KiCad is awesome. Combined with git I have CI/CD pipeline in gitlab[1] that builds my fabrication files for the different fabs automatically including PiP and parts CSVs I can directly upload to LCSC. I also generate PDFs of the schematic and iBom[2] htmls files all automatically.
The thing I miss is being able to rotate a IC by 45 degrees.
Yeah, KiCad has improved immensely in the past 5 years. It still has a long way to go to really compete with Altium et. al. though. The thing is: Altium is basically finished software. They keep trying to add features to it but I'm certain if you polled the users the only thing they really want is fewer crashes and bugs. Every year KiCad gets closer and closer.
KiCAD becomes better and better, but one limitation embedded into its DNA is very annoying: one project - one schematic - one PCB.
It is very kludgy and cumbersome to split project into several PCB (for example, stack of PCBs connected by backplane or headers, like Arduino & Shield for it) and/or to have variations of the PCBs for one schematics, like TH and SMD variants of the PCB for exactly same schematics.
Even in my very modest almost-electrical (as opposed to electronic) projects I need one or another from time to time.
As far as I understand it is limitation which is not easy to fix, because all architecture of KiCAD is based on this 1-1-1 principle.
My workaround for multiple PCB's for one schematic is to have the schematic as a top level sheet which can then be imported into sub-level projects. so each PCB becomes it's own project but use the common schematic sheet
For those switching from an $EXPENSIVE tool to KiCad, may I humbly recommend donating to the project, or sponsoring the development/improvement of a feature you need? Even if it's much less than your current $EXPENSIVE license, it will make a huge difference.
> Apart from the Linux kernel and web browsers/tools, it is perhaps the only open source software that managed to beat all the commercial software in its niche.
I can think of a few more: Git obsoleted an entire category of commercial software seemingly almost overnight, VSCode has become by far the most widely used IDE (not entirely open source, though), TeX still dominates mathematical typesetting AFAIK (as it has for as long as computers have been used for that), (lib)ffmpeg is used everywhere for video/audio transcoding and between them nginx and apache still account for the majority of webservers. Most popular programming language compilers/interpreters/runtimes are open source too, of course.
> I can think of a few more: Git obsoleted an entire category of commercial software seemingly almost overnight
Hmm, what commercial software would that be? Visual SourceSafe (lol)? ;)
Git mostly replaced SVN, and that is free and open too. But in scenarios where specialized version control software (like Perforce) is needed, git (and git lfs) breaks down too, and quicker than SVN does - e.g. for versioning large binary files git has actually been a massive step backwards and without a real solution showing up in 2 decades.
Git was created to replace BitKeeper. There used to be a whole industry of commercial version control software. I grabbed the following list from Wikipedia (but I image there where even more companies around):
- AccuRev SCM (2002)
- Azure DevOps Server (via TFVC) (2005)
- ClearCase (1992)
- CMVC (1994)
- Dimensions CM (1980s)
- DSEE (1984)
- Integrity (2001)
- Perforce Helix (1995)
- SCLM (1980s?)
- Software Change Manager (1970s)
- StarTeam (1995)
- Surround SCM (2002)
- Synergy (1990)
- Vault (2003)
- Visual SourceSafe (1994)
A lot of companies was also building their own internal version control software. Either from scratch or as a bunch of loose scripts on top of other existing solutions. Often turning version control, package management and build scripts into one single complex messy solution. I worked for a company early in my career that had at least 4 different version control systems in use across different projects and even more build systems (all a mix of commercial software and home grown solutions on top).
These days almost everyone uses Git. Some companies uses Mercurial or SVN.
One commercial actor that is still around is Perforce, which is still popular in the game industry. Since managing large game assets isn't optimal for Git (but is possible with Git LFS or Git annex, or similar solutions).
TeX is arguably the only application amongst these, as opposed to tool (and that’s debatable). OSS definitely dominates in tooling, but successful open source end-user applications are rarer.
It’s debatable. Everything is layered, and one layer’s application/product is the higher layer’s tool/platform.
In the context of understanding where and why OSS is dominant, I think the tool/app distinction is whether the thing solves a software problem or whether it solves a business problem.
Through that lens, Photoshop is an application, while VSCode is a tool.
So if we turn the clock back ten years, Visual Studio (the behemoth sold by MS to C# and C++ developers) would be an application, wouldn't it? It solves a clear business need, otherwise why would businesses pay so much money for it (more than for Photoshop). MSSQL and Oracle DBMS clearly solve business problems, they have slick UIs and sale people with powerpoint decks. Perforce P4 is an application that solves business needs for creatives (and also comes with P4V for a slick UI and costs photoshop-level money)
But at the same time Visual Studio is in the same category of software as VS Code, Oracle DBMS in the same category as postgresql, Perforce P4 in the same category as git. Surely that can't be it?
I'd agree in a heartbeat that developers are better at solving problems for developers. The less disconnect there is between developer and customer the better development goes, and the disconnect doesn't get lower than building developer tooling. But those things aren't any less apps or more tools than the things artists or technical writers or accountants use
Why is not Photoshop considered a tool? You use it to [...], as a tool. But then I do not see the difference between application, like an application can be a tool, can it not? It makes my head spin and English is not my native language.
Git is an interesting case in its obscure ergonomics. Maybe Linus was right in that for his initial user target group that turned into advocates, algorithmic elegance was a more important quality, so git won regardless of ergonomics for wider audience.
So various projects have come up ever since to try to patch the UX.
Git ergonomics were far far better than the rest because of one reason that all the supposedly more ergonomic projects like Bazaar, Mercurial, SVN, ClearCase and lots of others failed miserably at:
Performance.
Since the CVS days, Version Control Systems got slower and slower. Centralized servers worsened the problem by doing everything in a synchronous manner, making people wait for locks, wait for checkouts, wait for diffs, wait for everything. But even the distributed ones like bzr or hg were slow as hell. What git enabled was the far superior ergonomics of not having to get a coffee while running a "git diff" on a project the size of the Linux kernel, X.org or LibreOffice. All the whining about inconsistent command line options and weird subcommand naming is totally secondary to this.
Nowadays, many of the aforementioned competitors either died out or worked on their performance problems. Nonetheless, git is still unmatched in this regard.
Maybe obsolete in the sense of feature to price ratio (infinite in Blender's case), but Maya is still very much used for the sole reason that entire studio pipelines are likely built around it. Years of tools programmers and artist knowledge build-up don't go away just like that. Licensing costs are a drop in the bucket compared to all the other overhead. Of course that's mainly concerning big productions, there's obviously no reason hobbyists or indies should be using anything except Blender. I will say w.r.t to sculpting specifically ZBrush is still king mostly due to how its technology is fundamentally unique in its ability to easily handle huge poly counts. Blender is still not quite there in the high-fidelity regime.
I suspect in general "big companies" and the ecosystems they operate in are the main reason adoption (and subsequent investment and development) hasn't happened. The Microsoft Office suite is a good example, since many companies likely run the full Office + Teams + Outlook stack. It all "seamlessly" (not really lol) works together, and it's attractive to sell corporate solutions like that.
Let's not get ahead of ourselves, Blender has done far better than most open source software but Maya is still very much the industry standard. I don't think we can realistically say that Maya is beaten until Blender is battle-proven to the same degree, on the most demanding real-world production workloads (think Pixar/Weta), which for now it hasn't been.
What Blender achieved is that lots of university programmes have started teaching Blender or becoming 'tool agnostic'. Studios have also started diversifying their pipelines (this coincidences with studios adopting Unreal and increasing usage of Houdini).
So while Maya is currently the standard, I don't believe that it's growing.
It'll probably be around still in 20 years, with lots of studios having built their pipelines and tooling around it, with lots of people being trained in it, and because it's at the moment still better than Blender in some aspects like rigging and animation (afaik).
> on the most demanding real-world production workloads (think Pixar/Weta), which for now it hasn't been.
Super small nit (or info tidbit), but it doesn't take away from your overall message regarding production and scene scale.
Pixar does not and has not used Maya as the primary studio application, it's really only used for asset modeling and some minor shading tasks like UV generation and some Ptex painting. The actual studio app is Presto, which is an in-house tool Pixar has developed over the years since its earliest productions. All other DCCs are team/task specific.
Dreamworks is similar with their tool, Presto, IIRC. Walt Disney Animation Studio (WDAS) does use Maya as the core app last I saw, but I don't know if they've made any headway with evaluating Presto since 2019...
Blender is the go-to for struggling artists/developers, and industry outsiders, like me. I'm stuck at Blender 2.93.18 because I don't have the budget for better hardware, let alone a Maya license! However, even that version of Blender still gets it done for me.
And also, how can you say Blender is not battle-proven? I mean, the big studios use Maya like fortune 500 companies use Microsoft Windows - doesn't mean Linux isn't battle proven.
I haven't used blender much. It's too focused on animation. I mainly make more engineering style things for 3D printing. Even though it can technically do that, the interface just rubs me the wrong way somehow. And i can use Fusion 360 for free.
> I mean, the big studios use Maya like fortune 500 companies use Microsoft Windows - doesn't mean Linux isn't battle proven.
Those are different niches. Not even Apple has managed to budge Window out of corporate environments, though it is a lot more present than 20 years ago.
I imagine it's similar with Blender and Maya: do they fill the exact same space? Or is Blender adopted by different types of companies (probably smaller)?
Agreed. You haven’t really won until it stops becoming noteworthy and “oh look X is using Blender!!”
Nobody talks about how Linux dominates the server space anymore. Nobody talks about how “git is winning” or getting “battle tested”. These are mundane and banal facts.
I don’t believe the same has happened to Blender yet.
That is not a very big studio or very big production, Blender falls over in the pipeline department. It’s a constantly changing API that doesn’t allow for the extensibility needed to get a major project out the door, just the fact that only a Python API is provided is enough for most people who have worked on massive scenes with massive amounts of data to consider it a non starter.
Saying Evangelion isn't big is like saying Minions are some irrelevant little flick. Evangelion is quite possibly the biggest series in Japan for 3 decades running. You won't find a person who has not seen it to some extent. Evangelion goods are sold everywhere at all times. You really cannot escape it. For the biggest series in Japan to use Blender is a huge sign to the rest of the industry in one of the most risk-averse countries that yes, it's good enough.
A relevant opportunity may not occur again so here is a great video by Red Bard on whether it's possible to live entirely off of Evangelion merchandise: https://www.youtube.com/watch?v=_0Qr9rztRw4
The same way Star Wars was still running in between the original series and the prequels. It had an active fan base and lots of side content that was constantly being produced.
I'm sure "major project" is a subjective label, but Flow made headlines earlier this year with an Academy Award (Best Animated Feature) and Golden Globe (Best Animated Feature Film)
Flow is good filmmaking expressed through low-tech production, which is totally valid, but it doing a lot with a little isn't going to stop Disney from one-upping themselves with the next Zootopia movie so Blender needs to handle that angle too if it's going to become a catch-all solution for all kinds of production.
3.0+1.0 was the highest grossing box office release that year in Japan and has a worldwide fanbase. The original series + End of Evangelion are considered by many critics and fans to sit among the best anime series of all time, and the Rebuild movies were absolutely huge.
Personally, I think they pale in comparison to the original series and lose a lot of what makes Eva special and interesting to begin with, so I'd kinda love to dump on them a bit, but... it's about as big of a production as it gets in the anime industry. They're of course nowhere near Pixar level or similar, but it is clearly an example of Blender being battle tested by a serious studio on a serious project.
Not disagreeing that usage in large productions is something that Blender isn't really designed for, but I don't think that it's for a lack of Python API features (if a studio wants something specific it could just maintain an internal fork) or the ever changing Python API surface (the versions aren't upgraded during a production anyways)
VFX studios have been using Python APIs for twenty+ years, backed by C. They were one of the first industries to use it. That's where I learned it, around the turn of the century.
> constantly changing API that doesn’t allow for the extensibility
You pick a (stable) version, and use that API. It doesn't change if you don't. If it truly is a _major_ project, then constantly "upgrading" to the latest release is a big no-no (or should be)!
And these "most people" who are scared of a Python API? Weak! It should have been a low level C API! ;-)
> And these "most people" who are scared of a Python API? Weak! It should have been a low level C API! ;-)
I wouldn't frame it as "scared". The issue is that at a certain scene scale Python becomes the performance bottleneck if that's all you can use.
> You pick a (stable) version, and use that API. It doesn't change if you don't. If it truly is a _major_ project, then constantly "upgrading" to the latest release is a big no-no (or should be)!
This is fine if you only ever have one show in production. Most non-boutique studios have multiple shows being worked on in tandem, be it internal productions or contract bids that require interfacing with other studios. These separate productions can have any given permutation of DCC and plugin versions, all of which the internal pipeline and production engineering teams have to support simultaneously. Apps that provide a stable C/C++ SDK and Python interface across versions are significantly more amenable to these kinds of environments as the core studio hub app, rather than being ancillary, task specific tools.
Depends on the industry. Within game development, I don't know a single person not using Blender. People who were big into Maya and 3DS a few years ago have pretty much all moved on.
Maya's API is so much better than Blender's. You pay the fee for the OS that Maya is, but the API is so much better than anything open source. Like Postgres is an OS for databases. Blender is not yet there. IIRC you need to compile entire Blender just to change a node.
Blender gives you two paths for extension: a) fork it and layer your changes directly onto the app, or b) you create a plugin via the Blender Python API.
For vendors, the former is obviously a no-go. The latter has the issue of be throttled by Python, so you have to effectively create a shim that communicates with an external library or application that actually performs compute intensive tasks.
Most (if not all) industry DCCs provide a dedicated C++ SDK with Python bindings available if desired.
I'm curious as someone who's thinking of making a blender plug-in that will need to use some native-ish (not C++ though) libraries/modules for performance. What are the issues with using a Python interface instead of a dedicated C++ SDK?
> open source software but Maya is still very much the industry standard
IMHO that's only still true because large studios can't afford to move their entire highly customized production pipeline which they had built around Maya for nearly three decades to any other tool (Blender or not), even if they desparately want a divorce from Autodesk. Autodesk basically has them locked in and can milk them until all eternity or the studios go bankrupt.
I bet that the next generation of CGI and game studios will be built around Blender (and not based on the quality of those tools, but because of Autodesk business practices).
(edit: somehow my brain switched Adobe and Autodesk - forgiveable though because both use the same 'milking existing customers' strategy heh)
Video editing? Adobe has set themselves up for failure there, everyone wants an alternative
Davinci Resolve is probably competitive with Premiere, but while free it's not actually open source. But either a viable competitor catching up or Davinci publishing the code could change that fast
Premiere is in a bad position anyway here, because in contrast to Photoshop, it is not really the industry standard, at least in the higher end stuff. That would probably be Media Composer.
I'm not a pro or anything, and I don't edit video super often, but I would like to point out that Lightworks is quite good, and offers a perpetual license [1] for $420 that is very often on sale.
I don't have the ability to compare these things in intimate detail, but Lightworks has at least been used for "real" productions [2] so I think it's production-ready.
Resolve Studio is more feature rich by a significant margin and 2/3rd’s of the price. Lightworks is a respectable program but I can’t really see picking it over resolve studio tbh. Definitely not for professional work.
I still root for them though. More NLE’s is good for the editing world as a whole and who knows, BMD could heel turn on us and ruin resolve. I’ve gone through 3 different NLE’s since 2011 (FCPX->briefly Premiere->Resolve) so I definitely don’t plan for more than 3-5 years ahead lol
> Meanwhile, in other niches, Microsoft Office still beats open source office suites like LibreOffice; Photoshop isn't about to give up its crown to GIMP; Lightroom isn't losing to Darktable; and FreeCAD isn't even in the rear view mirror of Solidworks.
Tbf, everything starts somewhere and all the proprietary apps you listed were not instant market leaders.
I can and do use all those FOSS tools just fine both as a hobbyist and professionally, my needs are meet. Others may not find the same, but I suspect there's just a lot of stickyness preventing even trying new workflows.
> I can and do use all those FOSS tools just fine both as a hobbyist and professionally, my needs are meet.
Mine aren't: GIMP is okay, FreeCAD is a complete joke. It is painfully obvious that their development is done primarily by F/LOSS enthusiasts rather than by industry professionals and UX designers. They are closer to being a random collection of features than a professional workhorse. You might eventually get the job done, but compared to the proprietary competition it is woefully incomplete, overly complicated, and significantly buggier.
The poor quality of FreeCAD is the main reason my 3D printer is collecting dust. As a Linux-only user the proprietary alternatives mostly aren't available to me, and FreeCAD is bad enough that I'd rather not do CAD at all. The Ondsel fork was looking promising for a while, but sadly that died off.
Just wanted to point out that I started without any cad experience with Freecad this august. I watched/worked through the first third of the mango jelly tutorials on youtube. Since then I designed and 3d printed a lot of projects [1].
It is definitely not a joke. It enabled me to have a very fulfilling hobby.
[1] Examples: a Steam Deck Skadis Dock, all kind of adapters for easy connection of wood parts, magnetic modular mini shelves for everything in the bathroom, a replacement for a broken door handle, a delicate plissé mounting point that is no longer produced, accessories for the microscopes for school …
> The poor quality of FreeCAD is the main reason my 3D printer is collecting dust. As a Linux-only user the proprietary alternatives mostly aren't available to me, and FreeCAD is bad enough that I'd rather not do CAD at all. The Ondsel fork was looking promising for a while, but sadly that died off.
I've only ever used openSCAD, Freecad, and on shape.
And for me, Freecad had increased my use of my 3d printer, originally built in 2016.
Cad has a specific workflow, which is true regardless of the tool. Sticking to the right order of operations goes a long way to having a positive XP as does some basic intro tutorials.
It's not a tool you can bumble around and figure out easily, even with XP in similar tools.
Had to learn FreeCAD last week, and yes, what an embarrassment. For my current work (cnc) you can't really get anywhere without the third-party lib OCL, which they just... fully interface with, but you still have to integrate/install manually? I generally agree with the observation that the developers care too little for quality or usability, considering e.g. the logs constantly throw python errors in your face.
Edit: oh, it was even worse before? I hope they keep going in this direction then
I would think that in this audience OpenSCAD would be an option.
I only do occasional design for some things to print, and I'm always happy to come back to my OpenSCAD text files that I can actually read and understand within minutes, rather than having to try to remember the correct click path through some giant graphical CAD software.
Fully agree that text-based CAD is the obvious path forward. But OpenSCAD won't cut it, it just lacks too many features, starting from basic fillets to more fundamental things like relative object positioning. Check out CadQuery, it's much more ergonomic and future-proof.
I've found that most of my additional feature needs are covered by the BOSL2 library, tbh.
It's also a pretty compact core, so being rather limited to me is a good thing. I think I looked at CadQuery a year ago or so, but quickly went back to OpenSCAD.
won't solidworks run on wine? i used it for just one semester in a class, but it sparks joy to this day. and even though it's not a cad program, i wish blender had parametric tools
Seconded, OnShape is my favorite CAD package. I passed it over for a long time because I had poor expectations of a browser-based CAD. Just wish I could justify the commercial license.
The free tier is non-commercial only, and makes anything you design available publicly, so it might not be suitable for some users. It's also pricey, the first paid tier is $1500/year (compared with Fusion which is $680/year).
LibreOffice, GIMP, FreeCAD and Inkscape all have their quirks (and bugs), but they're probably seen as features by their core users so they won't change.
Me too. I guess a majority of people don't have the patience to work around counterintuitive things nor do they want to take measures to avoid bugs. On the other hand, Blender and Krita seem to give UX a higher priority, so they're more likely to catch on.
There is just something about it that does not click with me. Just selecting a foreground object even when the background was almost white never worked for me. Just so fiddly.
Try PhotoGimp plugin, it solves some annoyances for me by introducing the shortcuts I used to, and a slightly more familiar interface. The rest, I just got used to, and actually now I like Gimp more than Photoshop (which I don’t like too much, even though I know it for two decades now).
> LibreOffice, GIMP, FreeCAD and Inkscape all have their quirks (and bugs), but they're probably seen as features by their core users so they won't change.
I wouldn't say that, there's bugs in Freecad that drive me bonkers but I would be dishonest if I said it hadn't gotten more stable and better supports my Nvidia card today compared to previous releases
I don’t know if you can really say that Photoshop wasn’t a market leader from day one. It basically created the market on the Mac when it was introduced in 1990 and has been the market leader since.
If you want to limit standard Office productivity to ones that were written with the GUI in mind, MS Office was the leader on the Mac before it came to PCs and crushed WordPerfect and Lotus early on.
> Apart from the Linux kernel and web browsers/tools, it is perhaps the only open source software that managed to beat all the commercial software in its niche
I use OBS regularly but vMix is definitely the superior option in the professional livestreaming world. OBS is missing many key features for professional operations and vdo ninja only covers some of those gaps.
As a game developer, I'm really rooting for open source game engines.
Unity and Unreal are dinosaurs that target the shrinking console market. Godot is being built in their image. My hope is that something more versatile like Bevy becomes common so that we have something that could potentially compete with the next generation of Roblox.
I really hope not, but I wouldn’t bet against it. The nature of products that take high capex to build and then have nearly zero marginal cost to reproduce is monopolies.
MuseScore is good enough that I haven't bothered to check back with commercial vendors. I'm pretty novice with it, however, so perhaps Sibelius power users will disagree.
I tried it for the first time the other day after having heard how much better it's gotten recently, and it made me really wonder how bad was the UX _before_ all these recent improvements. I don't want to bash on it too hard, because it's clear that a ton of hard work has gone into it, but it was really a struggle for me to get some pretty basic things done. The only feedback for a lot of things I tried to do was some not-very helpful error messages in the console, or just the whole program crashing. After trying hard for quite a few hours, reading lots of docs and watching tutorials, I ended up giving up and going back to Fusion 360.
I have been using freecad extensively. Almost daily. It's an absolute utter mess. It barely works. But it's essentially the only open source CAD. So I keep trucking.
The most important improvement is the toponaming heuristic solver spearheaded by Realthunder.
Since that was merged into mainline, it seems that the devs keep breaking the UX and shortcuts without rythme nor reason, while the fundamentals are broken beyond repair.
I would never recommend freecad to anybody, even though this this the only CAD I use, and I actually write python for it for some automation.
I cannot live without freecad. But damn it's a mess.
I was somewhat excited about it, but one feature I wanted for the thing I was doing at the time was importing an svg, which it didn't support at the time (and from a cursory github search still doesn't support?).
It's a shame, because it looks really nice. Maybe I'll check it out for the next thing I do where that's not a requirement. Might be a shame since I've finally learnt how to (basically) use freecad now!
looks like they've got some support for bezier's internally (and they allow exporting SVG's) so I assume the building blocks should be there? I definitely have no idea, and haven't looked into it though.
But, in my experience enterprises are moving to office365.
Ten years ago I would have bet on the Google suite but it looks like Microsoft is winning this game in the corporate world.
Google gets all the private users, Microsoft the companies.
So, no, sadly, MS Office is not dying. I wish it would.
What I've occasionally seen pointed out for a whole range of separate microsoft software is it's not the merits of on individual bit of software that gets enterprises to use it, it's the M365 package deal of all of them, and once you're in that ecosystem then you might as well use it. Teams is the common example where this comes up, where it's shortcomings are well known but the costs of licensing and setting up an alternative can't get over the threshold.
> Most grads we get only know Google docs and avoid Office
Not true of business grads - who btw are the ones who have the purchase power for enterprise wide M$ Office when they join orgs. STEM grads need to kneel and obey their purchasing decisions.
If you ignore the massively easier learning curve, better usability and presentation, purely in terms of raw outcome and capabilities (to an extent), Dark table actually comes ahead of Lightroom. Not saying it will replace it at all though, it's software for power users, while Lightroom is for both novices and pro's who prefer UX over features.
To me, the really impressive thing about Blender is that it now has a pretty good UI. I'm pretty snobby about the GUI apps I install, and Blender is probably the only professional-level (as in professional users) open source tool that feels pretty good to use on a Mac. In the early days it was pretty rough, but it's rare to see open source software UI consistently improve like this.
On aesthetics, it definitely beats out Lightroom Classic, which is a closed-source paid tool (sidenote: I really miss Aperture).
Blender has the advantage of having been a commercial product that went open source, thus many people on the initial core team cared about stuff that other projects don't, plus they already had an installed base.
You don't see the same success with Gimp, Krita,...
Have you actually tried that "commercial Blender product"? Before open-sourcing it, Blender 2.2x was incredibly user hostile and barebones in terms of features. For example, in mesh edit mode you could only work on points - no edge or face selection. It was very primitive, both in its UI (which was inscrutable) and its rendering capabilities (e.g. except for spotlights, lights did not cast shadows - and spotlights could only do shadowmaps). Very basic usability features were added pretty much as soon as the project was opensourced.
Remember that Blender was opensourced was because it failed commercially. Its commercial background is completely irrelevant to its success - which took years to achieve and most 3D artists for more than a decade saw it as a toy (undeservedly IMO because even by 2.44-or-so it became very capable, but the UI despite its massive improvements was still very undiscoverable and alien for most users).
You can download "Blender Publisher 2.25" from blender's own site which was the last commercial release to check it..
How does GIMP compare to Photopea. On occasion I open a file in GIMP by accident and end up waiting 20m for it to load and am almost always disappointed. Meanwhile Photopea always just works super fast and supports a lot more. What the hell is it doing?
The load time of GIMP is one of my biggest complaints. It's fine once it finally opens, but that start up time is punishing. The last version of photoshop I used wasn't all that much better though. photopea is a browser app so it's not really a valid comparison. I much prefer open source local applications that leave my web browser out of it.
Maya is the industry standard. Blender may offer most of what Maya offers from a features standpoint, but Maya had the first mover advantage / network effects advantage of an ecosystem of third party plugins sprouting up over the last 20 years which VFX / Mograph houses now depend upon, thus forcing vendor lock-in despite Blender now being on par.
In the 3D printing realm most slicers are open source. And I think a lot of professionals are also using them. Though maybe not in the very expensive end of industrial printers.
"It has rendered Maya nearly obsolete"
Wow, that is great news. I guess its support for Pixar USD is equal to Maya and Houdini then, so all the big studios can finally switch
That would be both feature completeness of the implementation and also some kind of a native USD authoring mode (editing the structure and layering multiple USD files properly), like Houdini Solaris or Nvidia Omniverse. For now Blender can’t even read/write MaterialX properly. (I’m not an insider though)
Office as a whole wipes the floor with LibreOffice. Cleaner interface, generally more stable, especially on Windows, Excel is and remains a powerhouse, etc. Word and PowerPoint are also very solid. Outlook is meh.
If anything, OnlyOffice is incredibly polished. I don't know how they did it but it seems to work better and have a much cleaner UI than LibreOffice even though it's much newer.
>>Apart from the Linux kernel and web browsers/tools, it is perhaps the only open source software that managed to beat all the commercial software in its niche. It has rendered Maya nearly obsolete.
GCC and now Clang has beaten Intel compiler (and others).
Nginx has beaten/replaced commercial web servers.
Stockfish has beaten commercial chess engines and Lichess is much better than commercial chess sites.
Just 3 examples that came to my mind reading your comment.
I’m rooting for gimp but they are truly a decade behind photoshop. I don’t know how they can compete. Luckily it does not seem like they are in the market for professionals so the need to match Photoshop isn’t quite as high
really? I haven't done 3D rendering in a long time, admittedly, but back then Maya and Lightwave were miles ahead of Blender. Rhino3D too. Even 3DSMax was better. Lightwave seems to have sadly fallen off (unfortunately, IMO it was the best at one point, had excellent ray tracing). I didn't really Blender had come such a long way -- that's great.
Since you mention niches: Adobe InDesign has no OSS competition at all, and Illustrator is still much better than Inkscape.
I think the dog fooding their own software through all the amazing movies the Blender Institute made plays a huge role.
Relying on individual donations from users helps a lot with blender being aligned to the interest of its actual users. There is not one or a few corporate sponsors controlling everything.
Plus the GPL license which protects the freedom of its users.
I think at the very least they've found those rare individuals who can both code well and manage well. There are countless open source project leaders who might be the most knowledgeable person in the world on that area but have no idea how to communicate and collaborate in an open-source setting, especially as the project gets popular and attracts people who're detrimental (not necessarily malicious) to the project's growth.
Yeah this is a really good question. I'd love to know more about that too. There's some good history on the website here [1].
The creator apparently was selling it as freemium software in 1998, and then the bubble burst and the corp shutdown in 2002. But the creator created a non-profit called the Blender Foundation, launched a Free Blender campaign [2] (the forum post is still up!) to raise money from its users and bought out the rights to the software from the investors.
I think some of the coolest changes in this release are on the nodes side of things — they added Closures (kinda like lambdas!), Bundles (tuples/structs, I guess?), and Repeat (loops!) (already was in Geo Nodes, now it's in Shader Nodes too).
Blender nodes have come a long way over the past decade and it's incredibly satisfying to see the care with which they have been developed. Blender's node editor is my personal favorite node editor I've ever used in any software, and I often find myself wishing other software adopted some of their UI and UX conventions.
Been a happy user since, oh, v2.75? And looking forward to being a user for many more releases to come.
Plus if you could use WASM modules as opposed to node systems, you would have a more powerful programming environment - for example, the mentioned "repeat" zone doesn't have "break" functionality, so you need to use a huge number of iterations and do an equivalent of "continue" once you're done, but even if you perfectly estimate the number of iterations you will need, the implementation is very slow. There are other problems like limited scope access, or in general slow node evaluation which make sequential algorithms (not reliant on parallelized work done by loops internal to many nodes) problematic.
I've been using blender since at least 2010; it's so exciting to see how much progress it's making.
I'm very excited to see the addition of structs and closures/higher-order functions to blender nodes! (I've also glanced at the shader compiler they're using to lower it to GLSL; neat stuff!) Not only is this practically going to be helpful, the PL researcher in me is tickled by seeing these features get added to a graphical programming language.
If you haven't heard of Blender before, or if you think AI will replace all the work done in it, fair enough. But I'd still strongly suggest looking into what it is and how it works.
If the volume was defined by a manifold mesh, it was already trivial to scatter points, then remove points that when raycasted down on that manifold mesh "volume" hit a normal.z < 0, hardly a node spaghetti as the article says.
The SDF geometry nodes open up a wild amount of new options. That and node closures solve so many difficult problems, especially in complex scattering. If you haven't checked them out, here is a bit on them and volume grids: https://code.blender.org/2025/10/volume-grids-in-geometry-no...
So...... was there ever a resolution with that persistent incompatibility in ROCm/certain AMD drivers and Cycles that made it impossible to render in almost every version of blender? As in, it literally doesn't even detect the GPU outside of eevee
What can be created with blender is quite cool, but I remember having used it in the past, it was very complicated. I was a lot more productive with Wings 3D; this lacks in functionality compared to Blender, but using it was so much easier.
These days I wouldn't want to bother doing manual animations or mesh creation. The computer must do this for us.
There was a big interface rehaul for 2.80, and I suspect upcoming versions will continue to improve as interest in porting to platforms like iPad increases.
Learning the shortcuts is really the way to go though. Initially painful but 100x more productivity in the long run, and really the way Blender is meant to be used. Honestly just doing a single basic tutorial will have you learning all of them in no time.
It might be possible to reproduce the same effect in EEVEE using geometry nodes. I know people have done that for automatic level of detail work. That being said, IDK if subsurf as a geometry node will take a non-constant number of iterations.
This reminds me of a Reaper changelog: lots of small quality of life changes each for a small percentage of users that add up to an overall massive improvement. It's not as splashy as huge feature releases but ultimately leads to better software.
This though has huge feature releases, biggest one seem to be a complete overhaul of the video editor, among others. Just so people don't get the impression that your comment is actually about the Blender 5.0 release :)
I get a never ending cloudflare verification on repeat. I'm on my local network. On my usual machine. On chrome. No funny stuff. Sucks. Can't see the page.
Is this the first blender release where you can change the working color space? I thought that you could in previous versions but it caused issues with some nodes.
Now I want to look into it more, but I'd imagine that "Blackbody" and sky generation nodes might still assume a linear sRGB working space.
> Now I want to look into it more, but I'd imagine that "Blackbody" and sky generation nodes might still assume a linear sRGB working space.
Since people are always asking for “real world examples”, I have to point out this is a great place to use an agent like Claude Code or Codex. Clone the source, have your coding assistant run its /init routine to survey the codebase and get a lay of the land, then turn “thinking” to max and ask it “Do the Blackbody attribute for volumes and the sky generation nodes still expect to be working in linear sRGB? Or do they take advantage of the new ACES 2.0 support? Analyze the codebase, give examples and cite lines of code to support your conclusions.”
The best part: I’m probably wrong to assert that linear sRGB and ACES 2.0 are some sort of binary, but that’s exactly the kind of knowledge a good coding agent will have, and it will likely fold an explanation of the proper mental model into its response.
Display P3 (distinct from cinema display P3, because names are hard ig) is used as a render target color space. ACES (and its internal color spaces) are designed as working spaces.
If you make a color space for a display, the intent is that you can (eventually) get a display which can display all those colors. However, given the shape of the human color gamut, you can't choose three color primaries which form a triangle which precisely contain the human color gamut. With a display color space, you want to pick primaries which live inside the gamut; else you'd be wasting your display on colors that people can't see. For a working space, you want to pick primaries which contain the entire human color gamut, including some colors people can't see (since it can be helpful when rendering to avoid clipping).
Beyond that, ACES isn't just one color space; it's several. ACEScg, for example, uses a linear transfer function, and is useful for rendering applications. A colorist would likely transform ACEScg colors into ACEScc (or something of that ilk) so that the response curves of their coloring tools are closer to what they're used it (i.e. they have a logarithmic response similar to old-fashioned analogue telecine machines).
Yeah, like, let’s say that in your compositing workflow you increase exposure then decrease brightness. If your working color space is too small, your highlights will clip when you increase exposure, then all land flat at the same level when you decrease brightness. If your working space is bigger than the gamut people can see, but your last step is to tone map into Display P3, you’ll appreciate the non-clipped highlights, even if your eyes could never comprehend what they looked like in the post-exposure-boost-pre-brightness-drop phase of the pipeline.
The key point is that your ray tracing color space and your display color space don't need to be the same thing. Even if your monitor only displays SRGB colors, it still can be useful to have more pure primaries in your rendering system.
> or you are saying if there is some intermediate transform that makes color go beyond P3 it will get clipped?
Exactly! The conversion between ACES (or any working color space) and the display color space benefits from manual tweaking to preserve artistic intent.
Graphics and animation should no longer move in the direction of perfecting the representation of real world. It is actually necessary for the graphics to scream that they are graphics and not real photos or real video. The distinction should be very obvious. This is the need of the day.
This seems like an unnecessarily unkind response. The post you're replying to is sharing their opinion and asking what people who are in the industry think about it.
That's exactly what I think will happen. 3D is endgame for AI. 3D models are deterministic objects that provide continuity, while AI does non-deterministic abstract generation(thinking) + plans action plan for these 3d models.
Recent news on major AI scientists starting "world AI" companies confirm this trend.
So 3D soon will become a very important tech even compared to today.
If AI is at the point where it is exactly as capable of your average junior 3D professional in 10 years, it will probably have automated a ton (double digit percentage?) of current jobs such that nothing is safe. There's a lot of complexity, it's fairly long time horizon, it's very visually detailed, it's creative and subjective, and there's not a lot of easily accessible high quality training data.
It's like 2D art with more complexity and less training data. Non-AI 2D art and animation tools haven't been made irrelevant yet, and don't look like they will be soon.
You will still need the tool but the interface to it may start to change.
A lot of the editing functions for 3D art play some role in achieving verisimilitude in the result - that it looks and feels believably like some source reference, in terms of shapes, materials, lights, motion and so on. For the parts of that where what you really want to say is "just configure A to be more like B", prompting and generative approaches can add a lot of value. It will be a great boost to new CG users and allow one person to feel confident in taking on more steps in the pipeline. Every 3D package today resembles an astronaut control panel because there is too much to configure and the actual productions tend to divvy up the work into specialty roles where it can become someone's job to know the way to handle a particular step.
However, the actual underlying pipeline can't be shortcut: the consistency built by traditional CG algorithms is the source of the value within CG, and still needs human attention to be directed towards some purpose. So we end up in equilibriums where the budget for a production can still go towards crafting an expensive new look, but the work itself is more targeted - decorating the interior instead of architecting the whole house.
I design projections for independent theatre in Baltimore. I use AI in my workflows where it can help me and won’t compromise on the quality of what I’m making. I frequently use AI to upscale crappy footage, to interpolate frames in existing video (for artistic purposes, never with documentary archival stuff) and very occasionally to create wholesale clips in situations where video models can do what I need.
I recently used WAN to generate a looping clip of clouds moving quickly, something that’s difficult to do in CGI and impossible to capture live action. It worked out because I didn’t have specific demands other than what I just said, and I wasn’t asking for anything too obscure.
At this point, I expect the quality of local video models (the only kind I’m willing to work with professionally) to go up, but prompt adherence seems like a tough nut to crack, which makes me think it may be a while before we have prosumer models that can replace what I do in Blender.
As someone who's actually used Blender for small video projects, I'm fairly confident you'll still need this type of tool even with AI assistance doing some of the work in it, especially for at least the next 10 years.
AI coding agents didn't make IDEs obsolete. They just added plugins to some existing IDEs and spawned a few new ones.
I don't think the "what will it train on" argument is bullet-proof, but animation and 3D art can encompass so much more than just things that exist in the real world.
Speaking with over a decade of experience as a developer in industrial CAD (but still just one random guys point of view only). The question _isn't_ about the availability of a 3D kernel.
3D kernel is not the "moat".
You can cross that with money.
You can purchase a ACIS or Parasolid and you are off to the races. Or even use OpenCascade if you know what you are doing.
The more interesting question is: Ok hotshot, you have a 3D kernel, 10M of investor money (or equivalent resources).
What's your next move? What industry are you going to conquer? What are the problems you are going to solve better than the current tools do?
What's the value you provide to the users except price?
What are you going to do better than the incumbent softwares in relevant specific design industries?
Which industry is your go-to-market?
Etc etc.
The programmer's view is "I will build a CAD". The industrial user on the other hand does _NOT_ want a "general CAD software".
They want a tool with a specific, trainable workflow for their specific industrial use case.
So "if you build it and they will come" will require speaking to a specific engineering/designer audience.
You can of course build a generic tool (it's all watertight manifolds in the end) but the success in the market depends on the usual story about market forces. What's your go to market/beached. Does it enable you to move to other markets? And the answer usually is - NO. You need to build the market share in _each_ domain separately.
It must be difficult when so much management is short sighted and focused on delivering short term profits for shareholders. Even academia is run like a business now.
Unless a privately held rogue company like Valve got interested its probably going to have to wait for a government/ngo/scientific. Industry, particularly the tech industry, is notorious for leaching of free and open source software and in some cases building entire businesses on it and not giving back.
Management just reacts to environments created by governments. When ZIRP was around money was very easy to get hold of - too easy. Now it's really hard because businesses have to beat government bond interest rates, which are guaranteed, to get debt/investment.
> Unless a privately held rogue company like Valve
Valve is not a rogue company.
> Industry, particularly the tech industry, is notorious for leaching of free and open source software and in some cases building entire businesses on it and not giving back
Your premise is wrong. It's impossible to leach off something that is freely given. This is like being angry because people don't all tip a street performer. The deal is it's free.
And your facts are wrong. Businesses fund a giant amount of OSS work.
A viable OSS alternative, particularly one that prioritizes simplicity and being a gentle on-ramp for hobbyists, would be fantastic.
It wouldn't need (and I would argue shouldn't attempt) to compete with the big for-profit outfits to be useful either. Offering a simplified UX for the most-used features of the pro software would have a ton of utility, while also being a great place to build the foundational skills you need in order to master the more complex stuff.
Furthermore, a project with the mission of complementing the pro tools rather than replacing them would probably be far more likely to succeed, IMO. As long as projects could be exported to variety of formats and brought into some other software when a specific use-case arises, you'd have all your bases covered.
I can't recall a single CAD system which did this differently. Has modern solidworks figured this out?
Some of these issues are long standing and really hard to solve. Someone could probably defend an entire PhD thesis on “redesigning the topological representation to eliminate seam edges” without making much practical progress
OpenCascade’s kernel forces you to deal with periodicity in topology (the shape structure), while Parasolid handles it in geometry (the math). A cylinder is mathematically continuous because there's no actual "seam" where it starts and ends. But in OpenCascade there’s a seam from 0 to 2π and this seam edge becomes a real topological entity that every algorithm has to deal with.
In Parasolid the cylinder is periodic so when you query a point at U=2.1π, the kernel just knows that's equivalent to U=0.1π. The periodicity is a property of the surface math, not the shape structure. It’s not using polygons/edges/vertexes but a system of equations to calculate the surfaces.
This is why boolean ops fail so often in FreeCAD: it’s asking the kernel to intersect with an artificial edge that shouldn't exist. The seam creates edge cases in intersection calculations, makes filleting near seams a nightmare, and complicates things. Parasolid's implicit handling requires smarter surface evaluation code upfront, but then everything else just works.
It would be interesting to see if they would license that out further for some amount of money.
https://github.com/sandialabs/sgm
Originally open-source, but since taken back in-house. As I understand, which should not be construed as an accurate accounting, Sandia wants to flesh out the basics further before (potentially) open-sourcing it again.
I was going to suggest solvespace. It is very barebones, but was much easier to use than FreeCad for me. It also has constraints in 3D space, which I use a lot: https://solvespace.com/index.pl
So it doesn't really represent meaningful progress towards FOSS CAD because ultimately it uses the same proprietary, expensive library to do the heavy lifting as most of its competitors.
[1] -- https://www.astocad.com/
But of course built-in intro of Solidworks was a way better UX.
What I'd do is:
- Spreadsheet workbench --> Create spreadsheet (name it "measurements"). (This is optional)
- Switch to Part design workbench --> Create body (name it "layout") --> select XY plane --> Create sketch --> Create Polyline
- Zoom out, start drawing the rooms in your house, approximately to scale.
- Before going into too much detail, add a dimension (select line --> "Constrain Distance") to the first line you draw, so that you can do the rest of your drawing approximately to scale. Then the general shape won't get messed up when you add dimensions to everything else.
- (If you have a photo or picture, you can import that to sketch over).
- Add constraints to match your room measurements, mostly vertical or horizontal distance constraints. Be careful not to overconstrain the sketch. (You can put the measurements directly into the sketch constraints, or you can put them into the top-level spreadsheet, create an alias for each cells, and then set the dimensions to reference those cells).
- Once the rooms are drawn, close the sketch and create a new sketch on the xy plane called "furniture".
- Draw some rectangles for your sofas / tables / etc, delete any horizontal and vertical constraints that get automatically added (they look like little | and _ icons), and instead apply perpendicularity constraints. Dimension your rectangles using only the "constrain distance" tool. Now you can drag them around the room and rotate them freely.
- If you want to make 3D models for these too, create new Part Design bodies for each room and each piece of furniture, create a shape binder referencing the master sketches in the Layout body, and then extrude the sketches using the "Pad" operation.
That's about as much tutorial as it makes sense to pack into a HN comment. If you give it a try, I hope it works out for you!
FreeCad is rapidly evolving and quite a few tutorials are already using the v1.1 dev builds. Pay attention to the version used in tutorials as you can run into trouble following them if you are on an older release.
https://bonsaibim.org/
https://www.youtube.com/watch?v=IXRpDka6gLI
Strong plus is that you can render views of the finished room in Blender. Big problem is that you first have to learn to use Blender.
https://www.sweethome3d.com/
Inkscape is good for typing dimensions into rectangles tho
I’ll check out Inkscape as well. I’ve tried using some raster graphics in the past, but I couldn’t type dimensions and had to use the rules and guides with snapping. It mostly worked, but was a bit annoying.
> Mom, may we have SolidWorks?
> We have SolidWorks at Home.
> <SolidWorks at Home>
This is in contrasti to the example the parent comment brought up, and the one I added: Blender and KiCad do not have this concern; there are free (Or you could say inexpensive) high quality tools in their spaces. This is notably not the case for traditional CAD.
https://pythonscad.org/
take a look at https://Plasticity.xyz. It's not open-source, but it's got a small, highly dedicated team behind it. It's built on Solidworks' kernel, so it's quite robust.
Also take a look at solverspace, caligula, FreeCAD, ...
Hard nope.
Restrictions are always annoying but I think they're striking a reasonable balance.
I'd like to hear someone's perspective on how difficult it would be to unify OpenUSD and CAD file formats so that they are portable between programs?
Parasolid is powering practically every major CAD system. Its development started in 1986 and it's still actively developed. The amount of effort that goes into those things is immense (39 years of commercial development!) and I don't believe it can be done pro-bono in someone's spare time. What's worse, with this kind of software there is no "graceful degradation": while something like a MIP solver can be useful even if it's quite a bit slower than Gurobi, a kernel that can't model complex lofts and fillets is not particularly useful.
3D CAD is much harder than Blender and less amenable to open source development.
Can you help me understand why this problem is so hard?
Now, generally speaking, in a CAD model most surfaces will be “analytic” (plane, torus, conical, arc, line, etc). But whenever some complex surface that joins these surfaces is required, (NUR)B-splines are the principal technique for “covering” the gap.
Firstly, you probably have a variety of analytic shapes to represent — things like lines and circles in 2D or cubes and spheres in 3D. Even seemingly simple questions, like whether two such shapes intersect or not, can require a significant amount of logic to calculate the answer. That logic will often be specific to the exact combination of shapes you have, because the number of freedoms and nature of any symmetries in the shapes you’re working with can mean you would use completely different algorithms for superficially similar situations.
Secondly, while you’re probably going to implement a lot of analytic calculations, in realistic models you’re probably going to end up using numerical methods as well. That can be because you need to work with geometry like Bézier curves or NURBS surfaces that has many freedoms. It can be because even if you start with convenient analytic shapes, new geometry that you derive from those shapes, for example by offsetting a single shape or by combining details from multiple shapes as in constructive solid geometry, won’t in general have an analytic shape itself.
By the time you allow for the numerous different types of constraint that you might want to enforce between different types of geometry and the numerous different ways you can construct new geometry from geometry you already have, the scale of the problem explodes. And on top of that, almost everything you do is going to have numerical sensitivity issues, and all but the simplest algorithms are going to need detailed, careful analysis to make sure you really have covered all the possibilities. In this field, “edge case” and “corner case” are literal terms and not just figures of speech!
To give a practical example, without looking up how to do it, could you confidently calculate whether two arbitrary cuboids are completely separate or they touch or intersect somewhere? As another example, given an arbitrary parametric surface, a sphere in a position just resting on that surface, and the constraint that the surface of the sphere must remain tangent to the parametric surface without intersecting it anywhere, how would you calculate the path the centre of the sphere will follow if you introduce gravity to start the sphere rolling in a certain direction along the surface?
These are relatively simple problems in the field, but each already has some subtlety that leaves the “obvious” solutions incomplete. Solve a few thousand problems like that, each unique and with its own calculation strategy, and now you’re starting to get a practically useful geometric modelling system. (You’ve also probably had a team of dozens of mathematicians and developers working on it for decades.)
This is already complex and fiddly enough. Just having a stable 2D drawing environment that uses a constraint solver but also behaves predictably and doesn't run into numerical instability issues is already an achievement. You don't want a spline blowing up while the user is applying constraints one by one! And yet it's trivial compared to the rest of the problem.
Having 3D features analytically (not numerically!) interacting with each other means someone needs to write code that handles the interactions. When I click on a corner and apply a G2 fillet to it, it means that there's now a new 3D surface where every section is a spline with at least 4 control points. When I then intersect that corner with a sphere, the geometric kernel must be able to analytically represent the resulting surface (intersecting that spline-profiled surface with a sphere). If I project that surface into a sketch, the kernel needs to represent its outline from an arbitrary angle — again, analytically. Naturally, there is an explosion of special cases: that sphere might either intersect the fillet, just touch it (with a single contact point), or not touch it at all, maybe after I made some edits to the earlier features.
Blender at its core is comparatively trivial. Polygons are just clumps of points, they can be operated on numerically. CAD is hell.
Fornjot has been attempting this: https://www.fornjot.app
It's going to be years or decades before it's competitive though. Also, it looks like they switched to keeping progress updates private except to sponsors, which means I don't actually have any easily-accessible information about it anymore which is sad.
The tricky bit is having a G2 (or even G3) fillet that intersects a complex shape built from surface patches and thickened, with both projected into a new sketch, and keeping the workflow sane if I go and adjust the original fillet. I hope one day we'll see a free (as in speech) kernel that can enable that, until then it's just Parasolid, sadly.
I read a couple of your CAD comments, what an interesting space. It never occurred to me how complex computing 3d geometries is.
KiCAD was also a meh ECAD FOSS alternative 7-8 years ago, now it is by far the tool of choice for regular ECAD designs. I can see FreeCad getting there by 2030.
It seems like it has lots of capability but still "punch your monitor" levels of difficulty just trying to do the most basic stuff.
MangoJelly has done an amazing job in churning out high quality tutorials for FreeCAD: https://www.youtube.com/watch?v=t_yh_S31R9g&list=PLWuyJLVUNt...
(this is just one playlist, there's a lot more on his channel).
Deltahedra is a great YouTube channel for getting the basics.
And it presents nonsensical problems, like offering to create a sketch on the face of an object and then complaining that the sketch doesn't belong to any object. So you have to manually drag it under the object in the treeview. So gallingly DUMB.
Despite all that, I will wrestle with its ineptitude before giving Autodesk a penny. I get stuff done with it and respect those who give their time to develop it.
I'm sure I could grind harder and learn more and make FreeCAD work, but I'm not sure why I'd bother.
I mostly design functional 3D prints. I've found FreeCAD 1.0 fixed most of the annoyances I ran into and I'm pretty productive with it. But, I didn't come into it with an expectation of a SolidWorks or Fusion clone. I learned the tool with its own idioms and it seems pretty straightforward to me. It's not perfect by any means and I've run into the occasional bug. To that end, I've found reporting bugs with reproducible steps goes a long way to getting things fixed.
I'm not sure what it is about CAD in particular, but I find everyone wants the "Blender of the CAD world" while skipping over the decade of investment it took to get Blender where it is. For a long time, discussions about Blender were dominated by complaints about the UX. If we didn't have folks willing to work past a hit to productivity in order to make an investment into Blender, we wouldn't have the amazing open source tool we have today. FreeCAD has all the expectations of a high quality open source CAD tool with hardly any of the investment. Just getting people on /r/freecad to file issues is surprisingly challenging.
By all means, if you're happy with Fusion and don't mind the licensing, have at it. I'm sure there's functionality in there without an equivalent in FreeCAD. I'd personally rather not have my designs locked up in Fusion and see FreeCAD as the best option for me, even if it suffers from the challenges of open source UI design.
I have used it to make quite a few functional prints, with the help of making sure my scene units are correct and a CAD plugin.
If I put some holes in something that are 1mm from the edge, but then I print it and see it doesn't line up and needs to be 1.5mm, in Fusion I can just change one number and it all updates. Doing the same thing in blender would likely be very difficult.
The same thing can be said for resizing whole faces, moving parts, etc... Its all possible and usually pretty easy to do, just takes a different mentality from that of a parametric modeller.
Many people complain about it being a mesh editor but it works for me. The sheer variety of tooling and flexibility in Blender is insane, and that's before you get to the world of add-ons.
I want to learn Geometry nodes and object generation as I think they will address a lot of the "parametric" crowd concerns. This v5 is meant to be a big step in ease of use of this.
Also, I'm not sure if the different tooling lets me see all the flaws of online "parametric" models, or whether I'm being pedantic. They get frustrating. I have Gordon-Ramsay-screamed "How can you fuck up a circle!".
>Mesh formats like stl cannot represent a circle by its position and radius, while a parametric format like step can.
This is where I think the Geometry nodes can help. A node (function) can be used to represent the circle with inputs and outputs set or changed as required.[0]
I have not fully explored this space though and so my "hopes and dreams" may well be as useful as thoughts and prayers...
[0] https://docs.blender.org/manual/en/latest/modeling/geometry_...
Maybe it is the export or something. I run the 3D toolbox and often models are not manifold.
I see things like two circles in slightly different positions but both are connected in different ways to the surrounding "single" instance model. Things like this mean you end up with "infinitely small volumes". There is no fully enclosed "volume" and so mathematically there is "nothing to 3D print".
As a model this makes no sense to do, and so it irks me.
But clearly the slicer software doesn't care or autocorrects and people make their 3D print happen just fine.
The algorithms it enables are fundamentally more capable and robust than traditional kernels based on linear algebra (vectors and matrices). You can do really fancy things like interpolating in space and time robustly, find extrema in high-dimensional phase spaces, etc...
This could potentially allow straightforward and robust solvers for kinematics, optimal shape finding, etc...
Every few decades there's a "step change" where some new algorithm or programming paradigm sweeps away the old approach because suddenly a hobbyist can do the same thing solo that took dozens of developers a decade in the past. I suspect (but cannot prove) that PGA is one of those things.
https://fornjot.app/
Previously discussed here:
https://news.ycombinator.com/item?id=30597061
https://news.ycombinator.com/item?id=30825429
https://news.ycombinator.com/item?id=32295690
My thinking is to approach the problem from a fundamentally different angle. There's already constructive solid geometry (CSG) kernels, triangle mesh kernels, and NURBS-based kernels. Their mathematical foundations are very different, which results in wildly different behaviour and capabilities.
I came across PGA while studying physics, saw some vaguely CAD-like CSG demos and I realised that it could be yet another mathematical foundation on top of which CAD applications could be built.
Notably, variants of GA and PGA are already used in robotics, inverse kinematics, etc... including 5-axis milling, so it's not unheard of in industry. However, it's always used as a "spot" solution to work around a problem such as gimbal lock, or interpolating transformations. Typically by converting back-and-forth between linear algebra representations and some variant of GA temporarily. I'm thinking of using PGA throughout as the foundational geometric elements.
You're on point that there's a tremendous amount of money captures by Autodesk for CAD software that could be better directed at the open source community instead.
Software like OpenSCAD and FreeCAD are obviously not suitable for much commercial work, and have very irritating limitations for hobbyist work, in my mind a big part of that is the UI and Blender has a good and established UI at this point so I'd love to see the open source CAD that provides an alternative to vendor lock in come from a Blender add-on instead of a separate program.
I am no expert but as I understand it the primary difficulty with developing good alternatives to commercial CAD software lie in the development of an effective geometric kernel.
It seems to me that if a developer of an opensource CAD program develops it as a Blender add-on they can effectively outsource the remainder of the development efforts to the Blender community while focus can be made on the CAD kernel itself.
Radial tiling my beloved, and a seemingly far more straightforward array modifier <3 Faster volume scattering for non-homogenous volumes.
For those wondering "where the AI is", the new Convolve Node might be it :) Convolutions are a pretty generic signal processing operation (Hadamard product) which are also used in neural networks which work with images. Realistically though, this will be mostly useful for wonky hand-crafted blurs.
The new sequencer looks fantastic, too. I always went to DaVinci Resolve but I might be able to go full blender. Compositor modifiers in the sequencer is also very welcome.
This is incredible for me.
Meanwhile, in other niches, Microsoft Office still beats open source office suites like LibreOffice; Photoshop isn't about to give up its crown to GIMP; Lightroom isn't losing to Darktable; and FreeCAD isn't even in the rear view mirror of Solidworks.
I wonder what will be the next category of open source to pull ahead? Godot is rapidly gaining users/mindshare while Unity seems to be collapsing, but Unreal is still the king of game engines for now. Krita is a viable alternative for digital painting.
KiCad, for PCB design. They have been making massive improvements over the last few years, and with proprietary solutions shutting down (Eagle) or being unaffordable (Altium) Kicad is now by far the best option for both hobbyists and small companies.
With the release of KiCad 5 in 2018 it went from being "a pain to use to, but technically sufficient" to being a genuine option for less-demanding professionals. Since then they've been absolutely killing it, with major releases happening once a year and bringing enough quality-of-life improvements that it is actually hard to keep track of all of them.
From the type of new features it is very obvious that a lot of professional users are now showing interest in the application, and as we've seen with Blender a trickle of professional adoption can quickly turn into a flood which takes over the entire market.
KiCad still has a long way to go when it comes to complex high-speed boards (nobody in their right mind would use it to design an EPYC motherboard, for example), but it is absolutely going to steamroll the competition when it comes to the cookie-cutter 2/4/6 layer PCBs in all the everyday consumer products.
Guess what, user adoption increased dramatically, because it became pleasant (or tolerable) to use by people that used literally any other program.
V8 included in the core many things that were plugins before, and replaced the old utilities that the neckbeards in the forum were crying to keep, or else! (or else more adoption.)
V9 had even more many improvements, but also many regressions, over V8. V10 might be the release that truly consolidates the core of the suite and then they can start really focus on high speed designs.
I've navigated many programs over my career, and unless a future employer mandates me to use Altium, or purely technical reasons (8+ layer, high speed designs) requires me to use Cadence, only kicad for me.
Incidentally, it feels like this past two years freeCAD GIMP and Inkscape have started moving away from listening to noisy members of the community, to useful members of the community. I'm seeing a slow but steady progress that will eventually accelerate and make both toold true alternatives, as it happened with KiCAD (though it will really be tough for GIMP, even if it's perfectly usable for many, many tasks, any graphic designer will kick and scream if they're not given the adobe suite, pity.)
Myself, i do very little basic graphics like replicate buttons and such things to not bother my colleague, or apply correction to my photos, i proudly do that in GIMP and inkscape.
GIMP is just bad sadly even when it comes to basics, it has nothing to do with wanting Adobe products but more about GIMP just being a "coders-tool".
Every time in the last decade I checked, i still had to input a resolution when creating a new image layer.. that's a fundamental operation that hasn't been that clumsy in Photoshop since the 90s (Photoshop has "infinite" layers, they can be larger than the image, yes it's "bloated" but that's what you want as an artist 90% of the time.. not an annoying border).
True, but i also remember vehement discussions on everybody else in the world that wanted the scroll / zoom to work as in every other software in the world, and a few vocal users that would spam every thread and discussion insisting that we (the rest of the world) should have been using other software instead.
You know, the usual hostile attitude open source communities are famous for. I guess that for GIMP the moment that will change everything is when they will add a proper circle tool /s
GIMP and Inkscape are already moving in the right direction with the new UIs, fingers crossed
Blender went from a shitshow way worse than GIMP to almost killing the competition. Those working on GIMP took notice (and perhaps those that had felt sidelined before dared speak up).
The thing I miss is being able to rotate a IC by 45 degrees.
[1] https://sschueller.github.io/posts/ci-cd-with-kicad-and-gitl...
[2] https://openscopeproject.org/InteractiveHtmlBomDemo/
It is very kludgy and cumbersome to split project into several PCB (for example, stack of PCBs connected by backplane or headers, like Arduino & Shield for it) and/or to have variations of the PCBs for one schematics, like TH and SMD variants of the PCB for exactly same schematics.
Even in my very modest almost-electrical (as opposed to electronic) projects I need one or another from time to time.
As far as I understand it is limitation which is not easy to fix, because all architecture of KiCAD is based on this 1-1-1 principle.
I can think of a few more: Git obsoleted an entire category of commercial software seemingly almost overnight, VSCode has become by far the most widely used IDE (not entirely open source, though), TeX still dominates mathematical typesetting AFAIK (as it has for as long as computers have been used for that), (lib)ffmpeg is used everywhere for video/audio transcoding and between them nginx and apache still account for the majority of webservers. Most popular programming language compilers/interpreters/runtimes are open source too, of course.
Hmm, what commercial software would that be? Visual SourceSafe (lol)? ;)
Git mostly replaced SVN, and that is free and open too. But in scenarios where specialized version control software (like Perforce) is needed, git (and git lfs) breaks down too, and quicker than SVN does - e.g. for versioning large binary files git has actually been a massive step backwards and without a real solution showing up in 2 decades.
- AccuRev SCM (2002)
- Azure DevOps Server (via TFVC) (2005)
- ClearCase (1992)
- CMVC (1994)
- Dimensions CM (1980s)
- DSEE (1984)
- Integrity (2001)
- Perforce Helix (1995)
- SCLM (1980s?)
- Software Change Manager (1970s)
- StarTeam (1995)
- Surround SCM (2002)
- Synergy (1990)
- Vault (2003)
- Visual SourceSafe (1994)
A lot of companies was also building their own internal version control software. Either from scratch or as a bunch of loose scripts on top of other existing solutions. Often turning version control, package management and build scripts into one single complex messy solution. I worked for a company early in my career that had at least 4 different version control systems in use across different projects and even more build systems (all a mix of commercial software and home grown solutions on top).
These days almost everyone uses Git. Some companies uses Mercurial or SVN.
One commercial actor that is still around is Perforce, which is still popular in the game industry. Since managing large game assets isn't optimal for Git (but is possible with Git LFS or Git annex, or similar solutions).
Even the qualifier "end user" application doesn't seem obvious to me. Is Photoshop an end user application or a tool for artists?
In the context of understanding where and why OSS is dominant, I think the tool/app distinction is whether the thing solves a software problem or whether it solves a business problem.
Through that lens, Photoshop is an application, while VSCode is a tool.
But at the same time Visual Studio is in the same category of software as VS Code, Oracle DBMS in the same category as postgresql, Perforce P4 in the same category as git. Surely that can't be it?
I'd agree in a heartbeat that developers are better at solving problems for developers. The less disconnect there is between developer and customer the better development goes, and the disconnect doesn't get lower than building developer tooling. But those things aren't any less apps or more tools than the things artists or technical writers or accountants use
Why is not Photoshop considered a tool? You use it to [...], as a tool. But then I do not see the difference between application, like an application can be a tool, can it not? It makes my head spin and English is not my native language.
So various projects have come up ever since to try to patch the UX.
Performance.
Since the CVS days, Version Control Systems got slower and slower. Centralized servers worsened the problem by doing everything in a synchronous manner, making people wait for locks, wait for checkouts, wait for diffs, wait for everything. But even the distributed ones like bzr or hg were slow as hell. What git enabled was the far superior ergonomics of not having to get a coffee while running a "git diff" on a project the size of the Linux kernel, X.org or LibreOffice. All the whining about inconsistent command line options and weird subcommand naming is totally secondary to this.
Nowadays, many of the aforementioned competitors either died out or worked on their performance problems. Nonetheless, git is still unmatched in this regard.
I suspect in general "big companies" and the ecosystems they operate in are the main reason adoption (and subsequent investment and development) hasn't happened. The Microsoft Office suite is a good example, since many companies likely run the full Office + Teams + Outlook stack. It all "seamlessly" (not really lol) works together, and it's attractive to sell corporate solutions like that.
So while Maya is currently the standard, I don't believe that it's growing. It'll probably be around still in 20 years, with lots of studios having built their pipelines and tooling around it, with lots of people being trained in it, and because it's at the moment still better than Blender in some aspects like rigging and animation (afaik).
Super small nit (or info tidbit), but it doesn't take away from your overall message regarding production and scene scale.
Pixar does not and has not used Maya as the primary studio application, it's really only used for asset modeling and some minor shading tasks like UV generation and some Ptex painting. The actual studio app is Presto, which is an in-house tool Pixar has developed over the years since its earliest productions. All other DCCs are team/task specific.
Dreamworks is similar with their tool, Presto, IIRC. Walt Disney Animation Studio (WDAS) does use Maya as the core app last I saw, but I don't know if they've made any headway with evaluating Presto since 2019...
> Presto, which is an in-house tool Pixar has developed
> Dreamworks is similar with their tool, Presto, IIRC.
I guessed that's a typo though and yeah, the Dreamworks animation tool is called Premo.
Bah, I thought I proofread that! Yes, super late night typos strike again...
And also, how can you say Blender is not battle-proven? I mean, the big studios use Maya like fortune 500 companies use Microsoft Windows - doesn't mean Linux isn't battle proven.
I haven't used blender much. It's too focused on animation. I mainly make more engineering style things for 3D printing. Even though it can technically do that, the interface just rubs me the wrong way somehow. And i can use Fusion 360 for free.
I have used Blender for 3D printing, though. Architectural design, as well.
The interface is a rub at first, and then again after you get used to it and have to use something else. :-)
Those are different niches. Not even Apple has managed to budge Window out of corporate environments, though it is a lot more present than 20 years ago.
I imagine it's similar with Blender and Maya: do they fill the exact same space? Or is Blender adopted by different types of companies (probably smaller)?
https://www.blender.org/user-stories/japanese-anime-studio-k...
Nobody talks about how Linux dominates the server space anymore. Nobody talks about how “git is winning” or getting “battle tested”. These are mundane and banal facts.
I don’t believe the same has happened to Blender yet.
tl;dw: probably.
https://flow.movie/
https://www.youtube.com/watch?v=ZgZccxuj2RY
https://www.blender.org/user-stories/making-flow-an-intervie...
Personally, I think they pale in comparison to the original series and lose a lot of what makes Eva special and interesting to begin with, so I'd kinda love to dump on them a bit, but... it's about as big of a production as it gets in the anime industry. They're of course nowhere near Pixar level or similar, but it is clearly an example of Blender being battle tested by a serious studio on a serious project.
You pick a (stable) version, and use that API. It doesn't change if you don't. If it truly is a _major_ project, then constantly "upgrading" to the latest release is a big no-no (or should be)!
And these "most people" who are scared of a Python API? Weak! It should have been a low level C API! ;-)
I wouldn't frame it as "scared". The issue is that at a certain scene scale Python becomes the performance bottleneck if that's all you can use.
> You pick a (stable) version, and use that API. It doesn't change if you don't. If it truly is a _major_ project, then constantly "upgrading" to the latest release is a big no-no (or should be)!
This is fine if you only ever have one show in production. Most non-boutique studios have multiple shows being worked on in tandem, be it internal productions or contract bids that require interfacing with other studios. These separate productions can have any given permutation of DCC and plugin versions, all of which the internal pipeline and production engineering teams have to support simultaneously. Apps that provide a stable C/C++ SDK and Python interface across versions are significantly more amenable to these kinds of environments as the core studio hub app, rather than being ancillary, task specific tools.
For vendors, the former is obviously a no-go. The latter has the issue of be throttled by Python, so you have to effectively create a shim that communicates with an external library or application that actually performs compute intensive tasks.
Most (if not all) industry DCCs provide a dedicated C++ SDK with Python bindings available if desired.
IMHO that's only still true because large studios can't afford to move their entire highly customized production pipeline which they had built around Maya for nearly three decades to any other tool (Blender or not), even if they desparately want a divorce from Autodesk. Autodesk basically has them locked in and can milk them until all eternity or the studios go bankrupt.
I bet that the next generation of CGI and game studios will be built around Blender (and not based on the quality of those tools, but because of Autodesk business practices).
(edit: somehow my brain switched Adobe and Autodesk - forgiveable though because both use the same 'milking existing customers' strategy heh)
Davinci Resolve is probably competitive with Premiere, but while free it's not actually open source. But either a viable competitor catching up or Davinci publishing the code could change that fast
I don't have the ability to compare these things in intimate detail, but Lightworks has at least been used for "real" productions [2] so I think it's production-ready.
[1]https://lwks.com/pricing
[2] https://en.wikipedia.org/wiki/Lightworks#Users
I still root for them though. More NLE’s is good for the editing world as a whole and who knows, BMD could heel turn on us and ruin resolve. I’ve gone through 3 different NLE’s since 2011 (FCPX->briefly Premiere->Resolve) so I definitely don’t plan for more than 3-5 years ahead lol
I haven’t done anything with Resolve so I don’t have much to compare to.
Tbf, everything starts somewhere and all the proprietary apps you listed were not instant market leaders.
I can and do use all those FOSS tools just fine both as a hobbyist and professionally, my needs are meet. Others may not find the same, but I suspect there's just a lot of stickyness preventing even trying new workflows.
Mine aren't: GIMP is okay, FreeCAD is a complete joke. It is painfully obvious that their development is done primarily by F/LOSS enthusiasts rather than by industry professionals and UX designers. They are closer to being a random collection of features than a professional workhorse. You might eventually get the job done, but compared to the proprietary competition it is woefully incomplete, overly complicated, and significantly buggier.
The poor quality of FreeCAD is the main reason my 3D printer is collecting dust. As a Linux-only user the proprietary alternatives mostly aren't available to me, and FreeCAD is bad enough that I'd rather not do CAD at all. The Ondsel fork was looking promising for a while, but sadly that died off.
It is definitely not a joke. It enabled me to have a very fulfilling hobby.
[1] Examples: a Steam Deck Skadis Dock, all kind of adapters for easy connection of wood parts, magnetic modular mini shelves for everything in the bathroom, a replacement for a broken door handle, a delicate plissé mounting point that is no longer produced, accessories for the microscopes for school …
I've only ever used openSCAD, Freecad, and on shape.
And for me, Freecad had increased my use of my 3d printer, originally built in 2016.
Cad has a specific workflow, which is true regardless of the tool. Sticking to the right order of operations goes a long way to having a positive XP as does some basic intro tutorials.
It's not a tool you can bumble around and figure out easily, even with XP in similar tools.
Edit: oh, it was even worse before? I hope they keep going in this direction then
I only do occasional design for some things to print, and I'm always happy to come back to my OpenSCAD text files that I can actually read and understand within minutes, rather than having to try to remember the correct click path through some giant graphical CAD software.
There is just something about it that does not click with me. Just selecting a foreground object even when the background was almost white never worked for me. Just so fiddly.
I can get stuff done with it.
I wouldn't say that, there's bugs in Freecad that drive me bonkers but I would be dishonest if I said it hadn't gotten more stable and better supports my Nvidia card today compared to previous releases
If you want to limit standard Office productivity to ones that were written with the GUI in mind, MS Office was the leader on the Mac before it came to PCs and crushed WordPerfect and Lotus early on.
OBS is on line 2 ....
Unity and Unreal are dinosaurs that target the shrinking console market. Godot is being built in their image. My hope is that something more versatile like Bevy becomes common so that we have something that could potentially compete with the next generation of Roblox.
gcc? It’s hard to imagine any of the projects mentioned without a good compiler.
I think FreeCAD might be on a distant hilltop in their rearview these days, check it out again.
The most important improvement is the toponaming heuristic solver spearheaded by Realthunder.
Since that was merged into mainline, it seems that the devs keep breaking the UX and shortcuts without rythme nor reason, while the fundamentals are broken beyond repair.
I would never recommend freecad to anybody, even though this this the only CAD I use, and I actually write python for it for some automation.
I cannot live without freecad. But damn it's a mess.
which has been discussed here in the past:
https://news.ycombinator.com/item?id=37979758
https://news.ycombinator.com/item?id=40228068
https://news.ycombinator.com/item?id=41975958
which if it just had parameters/scripting would have a lot more potential.
It's a shame, because it looks really nice. Maybe I'll check it out for the next thing I do where that's not a requirement. Might be a shame since I've finally learnt how to (basically) use freecad now!
Not true of business grads - who btw are the ones who have the purchase power for enterprise wide M$ Office when they join orgs. STEM grads need to kneel and obey their purchasing decisions.
On aesthetics, it definitely beats out Lightroom Classic, which is a closed-source paid tool (sidenote: I really miss Aperture).
GIMP 2.x was IMO better. Also much easier to compile and get running. Fewer things to worry about.
I think you paint a rather selective picture here though. Quite a lot open source software is really really bad.
You don't see the same success with Gimp, Krita,...
Remember that Blender was opensourced was because it failed commercially. Its commercial background is completely irrelevant to its success - which took years to achieve and most 3D artists for more than a decade saw it as a toy (undeservedly IMO because even by 2.44-or-so it became very capable, but the UI despite its massive improvements was still very undiscoverable and alien for most users).
You can download "Blender Publisher 2.25" from blender's own site which was the last commercial release to check it..
https://www.photopea.com/
I'm curious, what are the main points where it's lacking? I hear stability is one of them, but what about features?
Of course Blender is a marvelous piece of software, no doubt in that.
Hadn’t heard that. How many AAA vfx studios have left Maya for Blender?
May I ask your opinion, as industry insider, regarding what makes a good and bad OpenUSD support?
DaVinci Resolve is getting better but still not comparable to After Effects.
Blender already has a lot of pieces in place to tackle this.
If anything, OnlyOffice is incredibly polished. I don't know how they did it but it seems to work better and have a much cleaner UI than LibreOffice even though it's much newer.
GCC and now Clang has beaten Intel compiler (and others). Nginx has beaten/replaced commercial web servers. Stockfish has beaten commercial chess engines and Lichess is much better than commercial chess sites.
Just 3 examples that came to my mind reading your comment.
Is this even true? My understanding is that 3D Studio and Maya used to be ahead.
really? I haven't done 3D rendering in a long time, admittedly, but back then Maya and Lightwave were miles ahead of Blender. Rhino3D too. Even 3DSMax was better. Lightwave seems to have sadly fallen off (unfortunately, IMO it was the best at one point, had excellent ray tracing). I didn't really Blender had come such a long way -- that's great.
Since you mention niches: Adobe InDesign has no OSS competition at all, and Illustrator is still much better than Inkscape.
It’s powerful and pleasant to use. Even the release marketing page is beautiful and well-made.
I like open source as much as the next guy, but outside of developer tools there is little that comes close to Blender in terms of utility and UX.
Is it funding? Specific individuals? Are there PMs and designers? Whatever it is, it’s working!
Relying on individual donations from users helps a lot with blender being aligned to the interest of its actual users. There is not one or a few corporate sponsors controlling everything.
Plus the GPL license which protects the freedom of its users.
GIMP vs Krita is a similar story. GIMP never will be the Photoshop replacement they aimed to be
The creator apparently was selling it as freemium software in 1998, and then the bubble burst and the corp shutdown in 2002. But the creator created a non-profit called the Blender Foundation, launched a Free Blender campaign [2] (the forum post is still up!) to raise money from its users and bought out the rights to the software from the investors.
[1] https://www.blender.org/about/history/
[2] https://blenderartists.org/t/free-blender-campaign-launched/...
Blender nodes have come a long way over the past decade and it's incredibly satisfying to see the care with which they have been developed. Blender's node editor is my personal favorite node editor I've ever used in any software, and I often find myself wishing other software adopted some of their UI and UX conventions.
Been a happy user since, oh, v2.75? And looking forward to being a user for many more releases to come.
Donate to Blender! [0]
[0] https://fund.blender.org
I'm very excited to see the addition of structs and closures/higher-order functions to blender nodes! (I've also glanced at the shader compiler they're using to lower it to GLSL; neat stuff!) Not only is this practically going to be helpful, the PL researcher in me is tickled by seeing these features get added to a graphical programming language.
If you haven't heard of Blender before, or if you think AI will replace all the work done in it, fair enough. But I'd still strongly suggest looking into what it is and how it works.
https://passivestar.xyz/posts/instance-scattering-in-blender...
These days I wouldn't want to bother doing manual animations or mesh creation. The computer must do this for us.
Learning the shortcuts is really the way to go though. Initially painful but 100x more productivity in the long run, and really the way Blender is meant to be used. Honestly just doing a single basic tutorial will have you learning all of them in no time.
Always nice to see these updates though, Blender has really come a long long way.
They actually announced they were dropping support in February. Nobody noticed or cared.
Now I want to look into it more, but I'd imagine that "Blackbody" and sky generation nodes might still assume a linear sRGB working space.
Since people are always asking for “real world examples”, I have to point out this is a great place to use an agent like Claude Code or Codex. Clone the source, have your coding assistant run its /init routine to survey the codebase and get a lay of the land, then turn “thinking” to max and ask it “Do the Blackbody attribute for volumes and the sky generation nodes still expect to be working in linear sRGB? Or do they take advantage of the new ACES 2.0 support? Analyze the codebase, give examples and cite lines of code to support your conclusions.”
The best part: I’m probably wrong to assert that linear sRGB and ACES 2.0 are some sort of binary, but that’s exactly the kind of knowledge a good coding agent will have, and it will likely fold an explanation of the proper mental model into its response.
If you make a color space for a display, the intent is that you can (eventually) get a display which can display all those colors. However, given the shape of the human color gamut, you can't choose three color primaries which form a triangle which precisely contain the human color gamut. With a display color space, you want to pick primaries which live inside the gamut; else you'd be wasting your display on colors that people can't see. For a working space, you want to pick primaries which contain the entire human color gamut, including some colors people can't see (since it can be helpful when rendering to avoid clipping).
Beyond that, ACES isn't just one color space; it's several. ACEScg, for example, uses a linear transfer function, and is useful for rendering applications. A colorist would likely transform ACEScg colors into ACEScc (or something of that ilk) so that the response curves of their coloring tools are closer to what they're used it (i.e. they have a logarithmic response similar to old-fashioned analogue telecine machines).
or you are saying if there is some intermediate transform that makes color go beyond P3 it will get clipped? then I understand...
Exactly! The conversion between ACES (or any working color space) and the display color space benefits from manual tweaking to preserve artistic intent.
Have we gone backwards to the point where we can’t even serve a static page now?
Seems like in 10 years AI will basically make it pointless to use a tool like this at least for people working on average projects.
What do folks in the industry think? What’s the long term outlook?
The fact that it “seems easy” is a great flag that it probably isn’t.
Really no one can predict the future.
What blender and other CGI software gets for free is continuity. The 3D model does not change without explicitly making it change.
Until we get AI which can regenerate the same model from one scene to the next, the use of AI in CGI will be severely limited.
Recent news on major AI scientists starting "world AI" companies confirm this trend.
So 3D soon will become a very important tech even compared to today.
It's like 2D art with more complexity and less training data. Non-AI 2D art and animation tools haven't been made irrelevant yet, and don't look like they will be soon.
A lot of the editing functions for 3D art play some role in achieving verisimilitude in the result - that it looks and feels believably like some source reference, in terms of shapes, materials, lights, motion and so on. For the parts of that where what you really want to say is "just configure A to be more like B", prompting and generative approaches can add a lot of value. It will be a great boost to new CG users and allow one person to feel confident in taking on more steps in the pipeline. Every 3D package today resembles an astronaut control panel because there is too much to configure and the actual productions tend to divvy up the work into specialty roles where it can become someone's job to know the way to handle a particular step.
However, the actual underlying pipeline can't be shortcut: the consistency built by traditional CG algorithms is the source of the value within CG, and still needs human attention to be directed towards some purpose. So we end up in equilibriums where the budget for a production can still go towards crafting an expensive new look, but the work itself is more targeted - decorating the interior instead of architecting the whole house.
I recently used WAN to generate a looping clip of clouds moving quickly, something that’s difficult to do in CGI and impossible to capture live action. It worked out because I didn’t have specific demands other than what I just said, and I wasn’t asking for anything too obscure.
At this point, I expect the quality of local video models (the only kind I’m willing to work with professionally) to go up, but prompt adherence seems like a tough nut to crack, which makes me think it may be a while before we have prosumer models that can replace what I do in Blender.
AI coding agents didn't make IDEs obsolete. They just added plugins to some existing IDEs and spawned a few new ones.
You are asking for industry predictions from industry professionals in an industry you know nothing about while assuming a lot about that industry.
Why do you think they should do all the heavy lifting for you?
You might as well ask ChatGPT what it thinks because it seems you already have an idea of what you want the answer to be.