Hacker News new | past | comments | ask | show | jobs | submit login

I really do hope this finally pushes the open source community to create a viable and enjoyable to use 3D CAD modelling software. I work with code a lot but I was never really able to get into OpenSCAD, and FreeCAD crashes too often for my liking in addition to having a (in my opinion) unintuitive UI/workflow. I've moved on to Solidworks (student edition as I am a student) for now but am still keeping an eye out for alternatives.



No. A free software CAD/CAM package has been desired for a long time, and no one has ever written something that competes with commercial packages except in token form.

To create a quality 3D CAD/CAM program takes more than just competence and interest in having a free product. It takes a small core of very talented people with expertise and experience in building complex software, surrounded by a legion of supporters. Kind of like the Linux kernel project.

It's a niche software product that requires significant technical expertise in programming, mathematics, and in UI design. It's nitpicking to debug.

The closest anyone has built is Blender, but that's still a far cry from being Fusion 360 or Solidworks.

GNU has had a CAD program on their wish list for as long as I can remember... going back to 1990 or before.

Unfortunately, the removal of local simulation is more of the same from Autodesk.


The way that big FOSS apps succeed is either by...

1. Catering to the needs of developers, such that the user community is also the development community.

2. Bootstrapping off of hobbyist users and crowdfunding to keep developers on board.

The second option is how Blender happened. It started out as an in-house tool at NeoGeo[0], then got sold as a proprietary shareware app by NaN Software, which went bankrupt. The fact that it was shareware meant they had a large hobbyist fanbase - it was very cheap compared to professional tools. So people were willing to crowdfund it; they were able to buy the software copyright off of NaN's creditors; and that enthusiasm continued for multiple decades until it became the massive behemoth that it is today.

For us to get a FOSS CAD app we need hobbyist buy-in. That's arguably a far smaller audience than hobbyist CG artists. And even then we have to compete with the free tiers on modern subscription apps. Blender's only competition back in the day was pirating Maya; but FreeCAD and friends have to compete with the cut-down hobbyist license on Fusion 360.

[0] No, not that one


The 3D-printing crowd might be something though, it's getting very popular lately. They are often into open source and creating things so if you get them annoyed enough, there might be a competing product in the works :-)


Wow, that's really awesome. How much was the copyright, out of curiosity?


If I remember correctly somewhere around 100,000 euros.


Thanks for the footnote =D


Sadly, most a acceptable large consumer open source software related to a domain vertical has been basically the result of a commercial closed source company open sourcing effort before going under. Like open/libre office, blender, among others that escape me now.

The problem with Open source is that although developers are willing to share their time and skills for free, most other professionals just won't do it.


Say funding is a given, how do you attract the talent?


Pay them better than anyone else can.


The biggest thing holding the open source CAD movement back is the available geometric kernels, the core they processes the geometric operations. The most “advanced” open source kernel is OpenCascade, and is used by FreeCAD, however it’s nowhere near as capable as the commercial kernels, harder to work with, dated and buggy.

We desperately need a modern open source geometric kernel, but that would take hundreds of thousands, if not millions, of man hours to build. The “best” and most popular kernel, Parasolid, is 40 years old and had constant improvemen.

FreeCAD/OpenCascade is the best we have, and will have, without significant financial investment to fund development.


Maybe. But at a hobbyist level, is the problem really the kernel?

The problem is that OpenSCAD is easy to get started and the code-first approach is unbelievably useful - but too simplistic/limited. Meanwhile, FreeCAD is too complex, and often buggy.

There's also CADQuery, which is surprisingly good already. Don't get me wrong, the GUI (CQ-Editor) is unusably buggy. But the Jupyter notebook integration works amazingly well. If I were that project, I would work on a hot-reload, cross platform, standalone viewer only (in the same way people use OpenSCAD often). I would also pay for that, safe in the knowledge that the code produced can't be locked in so easily.

Is it a FreeCAD replacement? For better or worse, no. But it has let me avoid FreeCAD/Fusion360, while finally being free of OpenSCAD shortcomings.


> Don't get me wrong, the GUI (CQ-Editor) is unusably buggy. But the Jupyter notebook integration works amazingly well. If I were that project, I would work on a hot-reload, cross platform, standalone viewer only (in the same way people use OpenSCAD often).

Couldn't you equivalently use any STL/STEP/AMF viewer?

Seems a good choice to me that the GUI is a separate/subordinate project. I suppose it is somewhat necessary to have it at all, easier to gain popularity if you can show screenshots and have a single app 'quickstart'.


> Couldn't you equivalently use any STL/STEP/AMF viewer?

I'm not sure. A quick feedback loop is important. With OpenSCAD and CadQuery, you write code that defines the geometry. You then want to see what the geometry looks like, and possibly debug it. For this, you generally want to be able to give certain parts a different color, or opacity, wireframe, etc.

STL is out; it has to tessellate geometry turning it into triangles. AFAIK, it only supports one object. This means a sensible wireframe is out, and so are multiple parts. AMF has similar drawbacks. STEP files might work.

Generally, my understanding is many people write OpenSCAD code in their editor of choice, and then simply save the file. When you open an existing file in OpenSCAD GUI, it monitors it for changes, and refreshes. So this is great.

That said, I misspoke a bit. CQ-Editor is definitely somewhat close to OpenSCAD. It still has a - in my view - unnecessary code editor. But the last standalone release is over a year ago, and I found it to be extremely buggy on macOS. It crashes quite often. Meanwhile, Jupyer-CadQuery [0] works great.

> Seems a good choice to me that the GUI is a separate/subordinate project. I suppose it is somewhat necessary to have it at all, easier to gain popularity if you can show screenshots and have a single app 'quickstart'.

Generally, I think this is true. My personal opinion is I can be productive with something that has a minimal set of features but is rock-solid; over something that has gobs of features but is buggy. That was my main issue with FreeCAD. Ease of installation is another big one. For all it's issues, OpenSCAD gets both of these things right.

[0] https://github.com/bernhard-42/jupyter-cadquery/


I'm not as familiar with the formats as you are, all I meant was - with the assumption that the CQ viewer is doing the same, with {stdFormat} as intermediary - surely any other viewer could be used.

Just as long as it 'hot reloads', and then you can configure editor/IDE to compile the {stdFormat} file on save.

No need for the viewer to be first-party (to the language). (If assumption valid.)


This a 3D modeling program I’m enjoying: https://solvespace.com


I wonder why brl-cad never seems to get any attention in these sorts of threads. It's open source mature CAD that has seen some serious use over its lifetime.


brl-cad doesn't use the same paradigm as Fusion360, Inventor, Solidworks, etc. brl-cad uses Constructive Solid Geometry, similar to OpenSCAD, where you declare geometric shapes with certain dimensions to exist, and boolean them together into the final shape.

Most popular engineering CAD programs are parametric -- you lay out shapes in2D or 3D, and then specify their dimensions and relationships. Parametric modelling makes it much easier to create highly-interdependent geometry, and also to understand or explore the degrees of freedom your design does and does not have.

Also, modelling in brl-cad means typing into a command prompt [1], which makes it much more difficult to figure out what you can, or should, do with it.

[1] https://www.youtube.com/watch?v=2C0fZ2iofgs


>I really do hope this finally pushes the open source community to create a viable and enjoyable to use 3D CAD modelling software.

What incentive do people have to invest years of their life to do this and then not get a dime back? There is a reason why most commercial software is better than their free, open-source counterparts.


Don't get too attached to Solidworks. It seems to be moving in the same cloud-based direction.


OpenSCAD was awesome, but crawled to a halt with any complexity as it was single-threaded. I wish I had the skill set to parallelize AST processing to contribute.


It's not just a question of performance. OpenSCAD doesn't even begin to approach a tiny fraction of Fusion 360's feature set (even if you only look at the free "hobbyist" edition).


Which ones are you contributing to?


I've been trying to understand the codebase of Solvespace in order to add a feature (combining both windows into one) but I haven't had much time.


> I haven't had much time

There lies one of the reasons it's not just a matter of "push[ing] the open source community"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: