That said as a mechanical engineer for going on two decades now, I really get no value from this kind of mechanical design. I grew up on Solidworks and now use OnShape. That kind of physical modeling is very important. Being able to click on a face and sketch some geometry and then extrude it really feels like the right modality for me. I’d really love to see more investment in that kind of parametric visual CAD.
EDIT: An example of one of my recent projects: https://twitter.com/TLAlexander/status/1450001567088713730
Direct manipulation/GUI will always be faster at producing content. It worth exploring how much the two can we wedded with code synthesis. I get that code synthesis attempts normally produce poor quality code, but maybe a hybrid work flow could work between using the GUI and fixing up code.
It's a shame that the current CodeCAD tools have very little interaction with he part viewer.
https://www.youtube.com/watch?t=290&v=jC2_O5Jh_Rg&feature=yo...
I suck at 3d modeling, so I evaluate tools from a “how much value can a noob get” point of view.
Honestly CAD is very complex software and is not well suited to a single engineer working in their hobby time. I think a huge reason Blender has been successful is that they built a sustainable crowd funding system. They currently pull in $166k each month with that system: https://fund.blender.org/
I am pleased to see also Godot engine (a similar type of tool) pulling in over $7k/month (last I checked) on Patreon.
Anyway there is a “business model” for open source projects even if they don’t sell anything. Call it a funding model. I think open source projects need to get a handle on that for anything that exceeds a very small team.
I am trying to build this kind of sustainable funding for my own open source farming robot (link in profile) and I think we’re going to go with Open Collective at least as a front end.
For fiscal hosting we’ve applied to the Open Collective Foundation and the Software Freedom Conservancy.
I think open source CAD really needs a funding plan like this. It’s a very large software project and we’ve seen how Blender and Godot are able to actually get traction and produce a compelling program with resources like that.
https://twitter.com/TLAlexander/status/1450001567088713730
I will check out those videos when I get a chance.
> Howdy! Well we absolutely need more open source CAD tools.
Please, no. We need one (or two for competition) really good open source solid modeling CAD tools with parametric and other interfaces. We do not need a dozen competing tools with varying feature overlap that need to be meticulously vetted before committing to one. Not to mention wasted dev time as each tool implements similar features in different ways, wasting very limited open source dev time.Often I feel like FreeCAD is "getting there" but it's nowhere near "there" yet.
Has You tried SolveSpace app?
[1] https://git.io/SolveSpace3x (latest nightly builds + various useful resources)
EDIT: I see you linked some tutorials so I will have to check those out!
What I desparately want though is an on-disk format that's plaintext, makes sense, and results in reasonable diffs so that I can use git for version control.
I just don't understand, being familiar with git, how people can work with 'save and mark new version' style 'version control' that's so prevalent among tools that have anything at all.
In software we solved this with code style guides and later code formatting tools. I would be surprised if e.g. a Python script could not format the STEP files to a "canonical" representation before committing the file to version control.
[1] https://files.pine64.org/doc/datasheet/pinephone/PinePhone%2...
I'm sorry but this is probably not a good idea. A typical PDM/PLM implements many things that don't exist or are not in the spirit of git, including but not limited to:
- Per-object security, lifecycle-dependent security (e.g. an object that is Work in Progress may be editable, but it becomes read-only when Released), groups and roles (per-object groups), LDAP / Active Directory integration, ITAR compliance.
- Object lifecycle (Work in Progress / Released / Obsolete etc.), driven by workflow graph that can be adjusted for the specific customer. Ability for one or more engineers to vote to accept or reject a transition from one lifecycle state to another.
- Revisioning: automatic generation of initial revision in prescribed format, automatic increment which follows the lifecycle (e.g. when transitioning from Released back to Work in Progress).
- Part numbers: automatic generation in prescribed format, alternate part numbers (e.g. when a supplier uses a different number for the same part).
- BOMs, including support for family tables.
- Custom attributes, search, "copy structure", viewable (usually PDF) generation, integration/customization API and many many other "small" details...
Yes, please!
I'm really bullish on software driven CAD, myself and other CadHub volunteers talk regularly about a future in which Mechanical Engineering and design is very similar to software engineering.
I'll be the first person it admit that some of the current CodeCAD tools aren't production ready, OpenSCAD for example I can't imagine being used by mechanical engineers. So the idea is mostly about unifying the community with a website dedicated to this paradigm, and if we're lucky we play a small role in promoting more development and better tools in the future.
Some of the reasons it's got potential:
- 3d-diffs on pull requests [1]
- Automated FEM, CFD etc simulations akin to CI/CD [2]
- PLM managed through git
- plus git in general is such a good way for teams to work together
[1] https://learn.cadhub.xyz/blog/3d-diffs/
[2] https://learn.cadhub.xyz/blog/testing-code-cad/