Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What is the end result you want? If you're modeling by hand, why do you want to "program" the model later? What would that look like? What units would you operate on? What would the output be? etc.


An example would be similar to how a catalog / design table is used for generating parts procedurally in software like Catia:

Say you have a CAD model of a special bolt you have made completely from scratch and it is fully parameterized- you can edit the diameter, the shank length, the thread length and pitch, the head size and height, etc. all by changing values in the parameters linked in the design tree. Doing this automatically updates the geometry.

Now say you have a catalog of 1000 sizes of this flavor of bolt. M6 thru M14, different threads, all the dimensions change to very specific standards... and you need to generate files for all those so they can be used by your company in assemblies or sent to others, but individually. Professional tools have ways to take, say, a CSV table of all those numbers and link the CSV to the CAD, and then generate and export STEP files and save them to a disk.

I've done just this example many times over the years in Catia V5. Highly parameterized part catalogs are prevalent in automotive and aerospace companies tied very closely to their CAD and PLM solutions (and thus highly non-portable and very much proprietary...) It would be great if there was some FOSS that was lightweight and similarly capable.

Looking more into it, FreeCAD can actually do something similar, but I don't know if the parameters are accessible to rebuild the models via a Python module outside of the GUI.


> Say you have a CAD model of a special bolt you have made completely from scratch and it is fully parameterized

But what does it mean to parameterize something you made from scratch? Either you built it as a parameterized model, or you didn't. If I understand, you'd basically like to design a model manually, and magically get it parameterized? That's probably possible to design a AI model that attempts to do that.


Every modern CAD tool like those commercial ones I have mentioned automatically track the paramaters as you build a model from scratch. They are parametric models by default. At any point you can go back and edit a number in the tree and the model will attempt to update as if you have used that value in the beginning. It's hard to explain this if you are not familiar with how those programs work.

I'm not talking magic here. What I'm saying is, I'd like the ability to read the model file as text outside the CAD package, and edit and compile (update) exportables in a scripting languge. Again, what I am saying is actually already the way many tools, like Catia and NX, etc work... but they lack an external API/callable module in an external language (Catia can be scripted with VB script, blegh.) And nothing that is FOSS.




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

Search: