points by samwillis 3 years ago

> My brain hurts from how it goes against all programming principles about DNRY, modularity, and composability.

This is really interesting point, and I understand how you feel like that, however I completely disagree.

I have both a software/programming and industrial/product design background with extensive experience of professional CAD tools such as SolidWorks and Creo(Pro/E).

Parametric CAD, in my view, is a perfect example of "visual programming", you have variables, iteration/patterning reducing repetition, composability of objects/sketches again reducing repetition, modularity of design though a hierarchy of assemblies. The alignment between programming principles and CAD modelling principles, while not immediately obvious, are very much there. An elegantly designed CAD model is just as beautiful (in its construction) as elegantly written code.

Also just as in software where there are "methodologies" and techniques such as TDD, with cad there are methodologies to constructing a model, such as "top down", "bottom up" and "skeleton modelling". All about ensuring your design intent is captured, the models are maintainable and will update successfully with parametric changes.

When modelling with parametric CAD you are not only designing the object, you are designing a cad model that represents the design intent in an elegant and maintainable way.

> So far my experience with both SolveSpace and FreeCAD have been: Even if you can reuse a part of your design multiple times (and even this is a nontrivial problem), you surely can't do that with different parameters!

True SolveSpace and FreeCAD can't do this, however all professional CAD packages can and it's an important feature of them. In SolidWorks they are called "configurations" and can be driven by an excel spreadsheet, you can literally create thousands of variations from a single model.

phkahler 3 years ago

>> I have both a software/programming and industrial/product design background with extensive experience of professional CAD tools such as SolidWorks and Creo(Pro/E).

We can use more people with both backgrounds to work on Solvespace ;-)

freeopinion 3 years ago

There are ways to do this in FreeCAD. Including spreadsheets.