4 ms·
There are a few problems with making new CAD, especially open source: - CAD math is hard and severely limits contributors. Unlike many open source projects, yo
by nickpinkston 5y ago
There are a few problems with making new CAD, especially open source:
- CAD math is hard and severely limits contributors. Unlike many open source projects, you need a pretty big core team to make something worth using. FreeCAD/OpenCASCADE, etc. have remained hobbyist CAD, where we've seen the success of open source in software.
- Another core problem is that MechE's can't easily edit the tool they're using when they run into a bug/feature they want to work on, unlike open source software where the users can more easily be contributors.
- High switching costs: there are four big CAD companies: Dassault, Autodesk, Siemens, PTC, and once a company commits to one ecosystem, it's very hard to change. Ex: Boeing isn't putting the CAD for the 787 in OnShape - ever. There also aren't that many new huge hardware companies, meaning that folks like OnShape get SMEs, but virtually all enterprise is taken. This has essentially led to an oligopoly in mechanical CAD, and slow pace of innovation in the space. I believe CAD tools have 50x less $ investment (including big companies) than software dev tools.
- InterOp is also hard, file formats are complex/proprietary/inconsistently implemented. There are kernels like ParaSolid with import/export/conversion systems, but they're not trustworthy enough to really put the 787 into new CAD without so many bugs that you'd lose a year fixing them and likely be paranoid forever wondering if you got them all.
- Folks like nTopology have done a good job side stepping these concerns as they built a CAD tool that does a specific function (generative design) that can't be done in traditional CAD kernels and can be sold for very high value-add situations - ie designs that need very high performance from the uniquely optimized geometries that they're able to generate, and export files that play nice with regular CAD. This means Boeing can have some fancy nTopology-created parts in their planes without having to blow up their CAD/PLM systems.
- jbay808 5y agoSometimes closed source software gets open sourced for business reasons, and backed by a big consortium, rather than being written from the ground up by hobbyists. I wonder if big aerospace and defense companies like Boeing, and automakers, and heavy industry, and so on, might decide it's in their interests to collectively buy and open-source an existing commercial CAD package rather than risk being held hostage to the vendors that gatekeep their engineering.
- paddy_m 5y agoDassault Systems was spun off from the european fighter plane manufacturer with the same name. They bought up solidworks and Catia and runs as a standalone business. https://en.wikipedia.org/wiki/Dassault_Syst%C3%A8mes https://en.wikipedia.org/wiki/Dassault_Syst%C3%A8mes
- nickpinkston 5y agoYea, I believe most (all?) CAD systems are spin outs from industrial programs. Pierre Bezier (of the curve) was actually an automotive engineer at Renault as they were trying to better define shapes.
- agumonkey 5y agohere's a short but fun bit with bezier unisurf system https://www.youtube.com/watch?v=c0_a6r2JaWQ https://www.youtube.com/watch?v=c0_a6r2JaWQ
- nickpinkston 5y agoI think the companies want an independent for-profit maintaining the business because they don't trust the dynamics of open source / non-profit to actually provide good products/services. Which I think is actually a reasonable argument given the issues in my OP. I wish the FTC, etc. tweaked how the CAD industry was handled to increase competition / decreasing switching costs, etc. This relates to them preventing people from being in their equivalent of the "app store" which Dassault has been particularly aggressive about.
- cogburnd02 5y agoBRL-CAD was created by the US Army Research Laboratory (then the Ballistic Research Laboratory, hence 'BRL') and was released in 1984, and became free software in 2004. https://en.wikipedia.org/wiki/BRL-CAD https://en.wikipedia.org/wiki/BRL-CAD
- zokier 5y ago
- carabiner 5y agoAnother blocker is that CAD is a relatively small part of mechanical engineering. Pretty much all software engineers use version control, but depending on subfield/company, maybe 20-50% of mechanical engineers will use CAD significantly. Mostly the design guys. The engineers in test, analysis, materials will barely touch it.
- nickpinkston 5y agoThough interestingly if you look at the numbers there are more CAD seats than MechE's, so I'm guessing a lot of other engineers, technicians, etc. are using it. Test folks have totally different systems like LabView for data logging and analysis that don't really talk to the simulation tools, CAD, etc. - very fragmented dev tools. I really like Bret Victor's "Seeing Spaces" vision for a more integrated hardware dev environment where it integrated software and workshop into an real-world "dev environment": http://worrydream.com/SeeingSpaces/ http://worrydream.com/SeeingSpaces/
- analog31 5y agoI can confirm that. While it's true that the MechE's at my workplace all have CAD seats, we also have a number of floating seats that get used by a variety of people. There are things you can do in the CAD tool, but not in the free "viewer" tool, so we provide CAD seats to our manufacturing engineers, who also use CAD to design things like jigs and fixtures. I believe it actually takes a bigger and more hierarchical engineering organization to have MechE's who are not busy at the CAD terminal a lot of the time. In addition, our machinist has a CAD seat, the machine shops that we use all have CAD seats. And while optical engineering is a small field, most OE's have CAD skills.
- SAI_Peregrinus 5y agoPeter of Edge Precision recently released a video on the CAD and CAM he does in a typical machining job[1]. The video of him turning the part[2] is also good. Machinists running any sort of CNC machine will need both CAD & CAM seats. [1] https://www.youtube.com/watch?v=yPtoxEgzrhE https://www.youtube.com/watch?v=yPtoxEgzrhE [2] https://www.youtube.com/watch?v=3-jT3HrSHjE https://www.youtube.com/watch?v=3-jT3HrSHjE
- frontiersummit 5y agoThis hits the nail on the head. All of the CAD kernels basically date from the 1980s. The mathematics involved in extending them is not widely taught, and while this knowledge still lives in books, it is not finding its way into minds.
- Animats 5y agoCAD math is hard and severely limits contributors. Yes. Autodesk used to have a staff geometer, and probably still does. Constructive solid geometry is hard, because you can use complex forms to cut into complex forms, and have to represent the result. A typical exercise in a good CSG program is to model a bolt. You start with a cylinder. Then you draw and dimension a thread cross section. Then you extrude the thread cross section along a spiral, subtracting that from the cylinder, to cut the threads. Then, at the end of the bolt, you cut a chamfer by extruding a triangle around a circle and subtracting that from the bolt. The CAD program must correctly and precisely describe what happens to the thread as it is cut by the chamfer. You can zoom way in and take a close look. You might have a design constraint that the chamfered thread can never be thinner than some specified width, to avoid bits of metal flaking off as the bolt is tightened. Most of the free CAD programs bail before they deal with problems that hard.
- nickpinkston 5y agoAnd the BREP math is even worse... And the implementations are pretty dirty too Also, good to see you John :-)
- regularfry 5y agoI'm not certain about that very last constraint (the chamfered thread not being thinner than X) but other than that, precisely what you describe is a workflow I've been following for the past couple of months in FreeCAD: not for metal threads, for plastic, printed ones, but the workflow is the same. They added helical cuts and additions in the most recent version, but even before that you could get the same effect with a helical path (so a few more steps for the same result, essentially).
- Animats 5y agoOh, good, FreeCAD is catching up. It's been a few years since I tried it.
- regularfry 5y agoYeah. 0.19.2 is good, at least for the stuff I need; 0.20 is shaping up to be full of good stuff too (and hopefully won't take as long as the 0.18->0.19 cycle did). On-topic, though, if you're doing threads and gears, it gets slow quickly. It doesn't take very much for me to start needing to switch parts of the design off for the UI to stay usable because recalculations kick in that I know shouldn't be needed, but the dependency tree isn't detailed enough to filter out.
- adfm 5y agoI'm surprised the article doesn't mention Rhino/Grasshopper, considering how prevalent it is.
- baybal2 5y ago3D modelling !== solid modelling.
- starky 5y agoBecause they are programs used to do industrial design and general aesthetic 3D modeling, they aren't CAD programs.
- adfm 5y agoA b-rep is a b-rep. It's not Solidworks, but it's also not trying to be. It'll spit out a STEP file or a set of plans like anything else. Consider a second look.