Live data from Hacker News

PartCAD the first package manager for CAD models

github.com

11–20 of 41 posts

Re: PartCAD the first package manager for CAD models

#11

If anyone is curious I started a discussion forum [1] with the goal of researching possible paths to good quality open source CAD, after an off-hand tweet of mine about open source CAD got significant traction on twitter. Based on what I know so far, it seems that FreeCAD might be finally getting the investment it needs to mature as a real option. There is an organization called Ondsel which is taking on a lot of UI…

I'm working on an MPL-licensed, free forever CAD environment for molecular nanotechnology. It is extremely early, indeed I hesitate to even mention it as it is currently undergoing the final stages of a rewrite to run on a game engine back-end, and it isn't much more than boilerplate at the moment. But we have a small community of people interested in this, and we are currently raising money to support further development, among other things.

The key point though is that the atomistic modeling is sort-of an add-on to a bog-standard CAD workflow. You still use boolean geometry to produce surface representations, even if those surfaces are discretized crystal structures.

I had intended that once it was up and running I would reach out to some people I know that are interested in a more modern alternative to FreeCAD. Perhaps it would make sense to combine efforts?

[1] https://github.com/atomCAD/atomCAD

Re: PartCAD the first package manager for CAD models

#12
build123d currently lists just bd-warehouse in the docs under Part Libraries: https://build123d.readthedocs.io/en/latest/external.html#par...

build123d is an open source parametric 2D and 3D CAD tool in Python that succeeds cadquery, and instead of jQuery/pyquery-like method chaining has `with:` context managers. https://build123d.readthedocs.io/en/latest/

bd-warehouse is a parametric parts library: https://bd-warehouse.readthedocs.io/en/latest/ :

> [...] With just a few lines of code, you can create parametric parts that are easily reviewable and version controlled using tools like git and GitHub. Documentation can be automatically generated from the source code of your designs, similar to the documentation you’re currently reading. Additionally, comprehensive test suites can automatically validate parts, ensuring that no flaws are introduced during their lifecycle.

> The benefits of adopting a full software development pipeline are numerous and extend beyond the scope of this text. ; git w/ tests and CI/CD

Ideas for open source (parametric) parts libraries:

- [ ] Dimensional lumber (1x4, 2x4, 2x10) and e.g. HempWood would be a great addition to a parts library.

- [ ] ldraw LEGO unofficial parts catalog: "LDraw.org Parts Update 2023-06" https://library.ldraw.org/updates?latest

- [ ] MicroBit

- [ ] RaspberryPi

- [ ] GlTF: "Google Earth 3D Models Now Available as Open Standard (GlTF)" (2023) ; land, buildings: https://news.ycombinator.com/item?id=35896176

- [ ] GlTF: planes: https://news.ycombinator.com/item?id=38268003 , trains: https://www.google.com/search?q=gltf+trains

- [ ] Humans with splines: https://github.com/killop/anything_about_game#humanstage , https://github.com/daz3d/DazToBlender ; Daz2Blender a few open source meshes

FWIW Conda-forge has signatures and build with clang in CI according to feedstock conda recipes (which have a meta.yml and optionally build.sh and/or build.bat, and a URL to watch for upstream changes).

https://SLSA.dev supports https://sigstore.dev artifact signatures.

Docker containers are ~= OCI containers which are stored in OCI container image repositories; which can host other artifacts with content signatures too.

Re: PartCAD the first package manager for CAD models

#13
Thanks for the attention to PartCAD and all the contextual information shared in this thread. It was just the initial version released a couple days ago. It doesn’t even match the OpenVMP’s internal “bill of materials” library. For sure it doesn’t yet implement all of the tool gaps discovered so far by the OpenVMP project and other robotics projects I consulted with. But PartCAD will incrementally get there. The goal is not to replace core features of other engineering tools. But to connect such core features with appropriate collaboration and data storage tools (git, cloud storages etc) while dismissing some absurd features (such as saving a design into a binary blob from CAD tools…). Have patience and consider to contribute.

Re: PartCAD the first package manager for CAD models

#14
How might this work in a GUI context? It would be absolutely amazing if there was some way to make it work on FreeCAD so we could share reusable pieces.

The one missing thing I've always wanted to see in FreeCAD is something where you draw a circle on a face as an anchor point (the same way that the hole operation works) and put a point on the circle for orientation.

Then you could export the part with it's anchor points embedded in the file, or import a part with it's anchor point fitted on an existing point (With whatever offset, inversion, etc you want).

Would this be suitable for creating this kind of system?

Re: PartCAD the first package manager for CAD models

#15

If anyone is curious I started a discussion forum [1] with the goal of researching possible paths to good quality open source CAD, after an off-hand tweet of mine about open source CAD got significant traction on twitter. Based on what I know so far, it seems that FreeCAD might be finally getting the investment it needs to mature as a real option. There is an organization called Ondsel which is taking on a lot of UI…

I'm working on an MPL-licensed, free forever CAD environment for molecular nanotechnology. It is extremely early, indeed I hesitate to even mention it as it is currently undergoing the final stages of a rewrite to run on a game engine back-end, and it isn't much more than boilerplate at the moment. But we have a small community of people interested in this, and we are currently raising money to support further develo…

I personally don’t think FreeCAD needs an alternative. It’s good enough for most needs and it’s maturing. But it needs to be used for what it is good for: visual workflows. FreeCAD and all other CAD tools (that might be needed or preferred for some workflows) need to get out of the business of storing CAD data in proprietary binary files that are no good for any collaboration. Instead, either natively or through plugins, they need to import/export code. Once the design is stored like code, regular coding techniques kick in. And don’t just mean merging. Linting, code coverage, the whole shebang. That’s the kind of workflow that PartCAD aims to facilitate.

Re: PartCAD the first package manager for CAD models

#16

How might this work in a GUI context? It would be absolutely amazing if there was some way to make it work on FreeCAD so we could share reusable pieces. The one missing thing I've always wanted to see in FreeCAD is something where you draw a circle on a face as an anchor point (the same way that the hole operation works) and put a point on the circle for orientation. Then you could export the part with it's anchor po…

I believe you mentioned two orthogonal features. 1) Import/export from CAD tools. Absolutely. That’s one of the main goals. PartCAD will be the persistence layer for parts I create in FreeCAD. (Whole OpenVMP was designed in FreeCAD.) In another channel I’m trying to convince the author of similar plugins to join PartCAD. 2) Enrich the model metadata with anchor/relative position/orientation. Absolutely. This will be required to enable replacement/alternative parts maintained by different parties. We can come up with a convention how to define such metadata in FreeCAD so that PartCAD is able to recognise it, until FreeCAD supports it natively.

Re: PartCAD the first package manager for CAD models

#17

How might this work in a GUI context? It would be absolutely amazing if there was some way to make it work on FreeCAD so we could share reusable pieces. The one missing thing I've always wanted to see in FreeCAD is something where you draw a circle on a face as an anchor point (the same way that the hole operation works) and put a point on the circle for orientation. Then you could export the part with it's anchor po…

I believe you mentioned two orthogonal features. 1) Import/export from CAD tools. Absolutely. That’s one of the main goals. PartCAD will be the persistence layer for parts I create in FreeCAD. (Whole OpenVMP was designed in FreeCAD.) In another channel I’m trying to convince the author of similar plugins to join PartCAD. 2) Enrich the model metadata with anchor/relative position/orientation. Absolutely. This will be…

That is exactly what I was hoping for! 3DP/CAD is still one of the most exciting areas in FOSS and it's really cool to see this kind of thing moving forward.

Re: PartCAD the first package manager for CAD models

#18

Earlier quoted context omitted.

I'm working on an MPL-licensed, free forever CAD environment for molecular nanotechnology. It is extremely early, indeed I hesitate to even mention it as it is currently undergoing the final stages of a rewrite to run on a game engine back-end, and it isn't much more than boilerplate at the moment. But we have a small community of people interested in this, and we are currently raising money to support further develo…

I personally don’t think FreeCAD needs an alternative. It’s good enough for most needs and it’s maturing. But it needs to be used for what it is good for: visual workflows. FreeCAD and all other CAD tools (that might be needed or preferred for some workflows) need to get out of the business of storing CAD data in proprietary binary files that are no good for any collaboration. Instead, either natively or through plug…

I understand and agree with that. But to push back on the first sentence, I really don't think FreeCAD is acceptable. It's clunky, it's notorious for crashing on large models, its user interface is antiquated and really difficult to learn, and the code base is a monstrosity.

Re: PartCAD the first package manager for CAD models

#19
I looked at the post, I feel like we're missing dinner context here, because what it looks like it's doing seems very naive. As far as I know, Onshape is the only CAD product that has true git style branching and merging versioning.

Unfortunately every successful startup in this space gets bought out by the competition. After buy out, the CAD product gets cut down and real development stops. First they loose their agnostic features (spaceclaim); if they used to be compatible with a whole range of upstream and downstream products, all support for competitors products is dropped. Then they stop the real innovation, to keep the space open for their flagship products (onshape), or give their product a chance to catch up.

Re: PartCAD the first package manager for CAD models

#20

Earlier quoted context omitted.

I'm working on an MPL-licensed, free forever CAD environment for molecular nanotechnology. It is extremely early, indeed I hesitate to even mention it as it is currently undergoing the final stages of a rewrite to run on a game engine back-end, and it isn't much more than boilerplate at the moment. But we have a small community of people interested in this, and we are currently raising money to support further develo…

I personally don’t think FreeCAD needs an alternative. It’s good enough for most needs and it’s maturing. But it needs to be used for what it is good for: visual workflows. FreeCAD and all other CAD tools (that might be needed or preferred for some workflows) need to get out of the business of storing CAD data in proprietary binary files that are no good for any collaboration. Instead, either natively or through plug…

Well, as a professional mechanical engineer with 20 years of cad experience, I disagree that FreeCAD is “good enough for most needs”. It didn’t even have assembly support until a preview of that feature was added to a fork a month or so ago, and it was a non-starter before that. I currently believe FreeCAD is the best hope we have but there’s a long road ahead before it is “good enough”.

As far as storing cad files as you describe, how does that interface with OpenCASCADE file formats? The data storage is related to the CAD kernel I think, so it might be difficult to move to a “store models as code” storage model.

Post reply on HN