kbwbe wrote: ↑Mon Dec 17, 2018 6:47 pm
@Zolko: Perhaps i do not get behind the hidden secrets of your proposals and you have to explain it more detailed to me.
Zolko wrote:
Later, it should be possible to define degrees of freedom in the LCS and develop constraints to solve them (for example you can leave the rotation around an axis free, or a translation...). The number of degrees of freedom would be limited to those expressly authorised, thus the solver much simpler than having to solve all 6 degrees of freedom for all parts. This can be implemented at a later stage to provide a full assembly functionality that wouldn't lag the leading CAD systems.
A solver needed ? This differs from threads topic.
I said "
later", meaning that doing assembly like I propose is not a dead end, it can later evolve to something more sophisticated, even if it begins very simple. I tried to anticipate remarks.
Zolko wrote:
For example, if you want to insert a screw, you define an LCS at the hole, an LCS at the neck of the screw, and you're done.
A constraint is something like a local LCS, combined already with the degrees of freedom. A constraint takes reference points, some axis and (Edit: each half of it) is moved with the body, where it has been defined. OK, it is attached to geometry and cannot be defined without. Where is the advantage of the new proposal ? I do not get it. (no offense, but please explain)
OK, I'll try. Take my example of a hole and a screw. You have made a plate with a simple hole, and inserted a screw into your assembly placing it concentric with the edge of the hole. Nice. Later, you refine your design and you have put a chamfer at the entrance of the hole: PAF, the geometrical reference for the placement has disappeared.
But if you had defined an LCS in the file of your plate, at the edge of that hole, the LCS will not disappear when you add later a chamfer, because it has been defined after the hole, but before the chamfer, therefore, your screw will not see any difference with or without chamfer. This is what actually happens all the time with constraint-driven assemblies.
Another example is if you design a complex mechanics, and you know you'll have a rotation somewhere, but you don't know yet if your axis will be moving or fixed, if you do it with a protrusion or an added part, or whatever. But you know you'll have a rotation. Well, easy: you create there an LCS (with 1 degree of freedom may-be) and you build your assembly with that. If your axis is part of the fixed root assembly, or part of the moving part, you don't have to care: you attach the moving part to the LCS.
Another thing is that even if a constraint is sort-of an LCS, if it's a proper LCS it's a mathematically inversible problem, you don't have to solve, to detect, or anything: it's there, explicitely.