Thanks for the feedback. I learned something new in your second part of the answer .realthunder wrote: ↑Mon Oct 05, 2020 10:43 pmThat Attachment6 itself is not going to be cheap to solve, probably require an actual algebra solver. Granted that solving for a single pair of parts is relatively easy, but that's against the idea of using Attachment, which just requires simple matrix operations.
I was not the intention to involve the algebra solver. The goal is indeed, to generate a fixed matrix. The difference to a standard Attachment Constraint is that the elements are not parts of the body. Your description of the additional element sketches addresses that (and has great other use cases) but requires a process that is imho too complex in practive (adds up for say 20 standard parts to be assembled for a single sub-assembly). The idea is to basically create such an additional sketch element implicitly with the assembly. It can be used for many parts that do not work with the standard Attachment Constraint directly.
For those parts its trivial to define a 'sektch' (actually a normal vector) by 3 faces on the part: the first face could describe the contact plane and normal direction, the other two are added for the origin. If you store the 2x3 defining elements in the Attachment6 constraint its the same like storing an additional custom element for each part in a Attachment constraint. So the Attachment Constraint itself does not really change, but the Elements change. Maybe a name could be "Virtual Element", because the 2x3 Elements given are only used to define 2 other elements that are used for the constraint. Its another layer of indirection if you like. That also means that the topo naming impact is the same, it just affects more faces per part.
I would expect that it is a very cheap operation and that it might even be possible to update it each time (the part changed), because finding the normal vector from the 3 defined faces a simple matrix operation. Please forget my remark about linear axes definition (last post) for now.
The advantages compared to storing an additional element with the part are
* faster and more intuitive to use
* works for multiple instances: each could use different virtual face
* more flexibe by using an attachment variant not forseen by the part creator (the example parts would need 6x5x4=120 pre-defined sketch elements to cover all variations)
PS: Maybe I am wrong , but I understand your additional element sketches as *the* counterpart to @zolkos LCS in Assembly4: they are oriented things that I can add to any part (even multiple ones per part) and reference them in an Attachment Constraint. The main difference is, that Assembly4 displays an colored tripod at each origin, yours is optional to the sketch and all green. Of course thats only a rough high-level view.