What's new

Odd assembly behavior?

Ken226

Alibre Super User
A video is probably easier for describing this behavior than text. Anyone seen this before?

Is this something simple that I am overlooking, or some kind of bug?

 

Ken226

Alibre Super User
It was very easy to resolve by just deleting the part, then reinserting and reconstraining it.

I'm just curious, wondering if there's something I am doing wrong thats causing this? Or perhaps its some kinda feature, with a button somewhere that I inadvertently clicked?
 

idslk

Alibre Super User
I looks like a interdesign relation.
Have you tried to regenerate your subassembly?

1659543780889.png

Regards
Stefan
 

Ken226

Alibre Super User
I looks like a interdesign relation.
Have you tried to regenerate your subassembly?

View attachment 36720

Regards
Stefan

Yes, if you mean the regenerate button, I regenerated it several times. I also tried a complete PC shutdown and reboot. None of that made a difference.

Deleting the part altogether and reinserting/reconstraining it completely solved the issue.

I'm not very knowledgable about interdesign relationships. I'll educate myself on the subject so that I can better anticipate, control and diagnose these type of issues.

It actually looks like it could be a very useful tool after I learn how to use it.
 

Max

Administrator
Staff member
Yes, if you mean the regenerate button, I regenerated it several times. I also tried a complete PC shutdown and reboot. None of that made a difference.
Note that Regenerate in assembly regenerates the Assembly only. This may seem obvious but it refreshes only assembly-specific things, like constraints, patterns, etc. It does not go into each part and regenerate individual components. However, since interdesign relations are part of assembly definitions, it will update those within parts as needed. Just something to keep in mind.

You are definitely dealing with an interdesign relationship here. This happens when you design a new part within the assembly and insodoing you reference an existing part in some way, typically by:
1) Projecting some edge of another part into a sketch of the new part and check on Maintain Association
2) Sketch directly on a flat face of another part
3) Create reference geometry in your new part using another part's geometry or reference geometry as an input. For example, as the center of a circular pattern you click a cylindrical face of another part.

Etc. The common theme here is that you're using a persistent reference of another part in your new part.

Generally speaking this behavior can be useful or maddening depending on your intent. The most unpredictable part (if you don't know what's happening) occurs when you move components in the assembly. If you sketch on a part's XY plane and extrude ToGeometry and you pick the face of another part in the assembly, it will work. And if you then move your new part away, it still going "ToGeometry" and will make the extrusion longer because it doesn't care how long it is, only that it goes all the way to the target.

The same is true when projecting edges / faces of Part A into the sketch of Part B and enabling Maintain Associativity. And many other examples.

When in doubt, and especially if you have decided "I never want to mess with these types of things", look at the Interdesign Relations node in the Assembly Explorer from time to time. If you do any of these actions listed above, a new subnode will appear. You can right-click them and delete them. Typically this will stop whatever behavior you are finding unpredictable.

To avoid getting into this scenario, if in fact you do intend not to, try:
1) Always sketching on the core planes, versus plopping your first sketch on the flat face of another part. You will then likely have to position it through 3D constraints, but will avoid interdesign relations.
2) If you project, disable maintain associativity. Instead, consider using Global Parameters. For example, if you have 20 plates that fit on top of eachother and they all have a 1" hole 2.5" apart, make a global parameter called "HoleDiameter" and "Hole Offset" and you can reference those in each sketch of each part.
3) Take care when defining inputs in general, for example the center of a circular pattern or the direction of a linear feature pattern. If those inputs to that kind of thing belong to other parts, an interdesign relation is made.
 

Ken226

Alibre Super User
Note that Regenerate in assembly regenerates the Assembly only. This may seem obvious but it refreshes only assembly-specific things, like constraints, patterns, etc. It does not go into each part and regenerate individual components. However, since interdesign relations are part of assembly definitions, it will update those within parts as needed. Just something to keep in mind.

You are definitely dealing with an interdesign relationship here. This happens when you design a new part within the assembly and insodoing you reference an existing part in some way, typically by:
1) Projecting some edge of another part into a sketch of the new part and check on Maintain Association
2) Sketch directly on a flat face of another part
3) Create reference geometry in your new part using another part's geometry or reference geometry as an input. For example, as the center of a circular pattern you click a cylindrical face of another part.

Etc. The common theme here is that you're using a persistent reference of another part in your new part.

Generally speaking this behavior can be useful or maddening depending on your intent. The most unpredictable part (if you don't know what's happening) occurs when you move components in the assembly. If you sketch on a part's XY plane and extrude ToGeometry and you pick the face of another part in the assembly, it will work. And if you then move your new part away, it still going "ToGeometry" and will make the extrusion longer because it doesn't care how long it is, only that it goes all the way to the target.

The same is true when projecting edges / faces of Part A into the sketch of Part B and enabling Maintain Associativity. And many other examples.

When in doubt, and especially if you have decided "I never want to mess with these types of things", look at the Interdesign Relations node in the Assembly Explorer from time to time. If you do any of these actions listed above, a new subnode will appear. You can right-click them and delete them. Typically this will stop whatever behavior you are finding unpredictable.

To avoid getting into this scenario, if in fact you do intend not to, try:
1) Always sketching on the core planes, versus plopping your first sketch on the flat face of another part. You will then likely have to position it through 3D constraints, but will avoid interdesign relations.
2) If you project, disable maintain associativity. Instead, consider using Global Parameters. For example, if you have 20 plates that fit on top of eachother and they all have a 1" hole 2.5" apart, make a global parameter called "HoleDiameter" and "Hole Offset" and you can reference those in each sketch of each part.
3) Take care when defining inputs in general, for example the center of a circular pattern or the direction of a linear feature pattern. If those inputs to that kind of thing belong to other parts, an interdesign relation is made.


Yes, that's exactly how I created that part. After Stefan's advice, I was able to find and delete the interdesign relationships and all is well now.

Now that I've figured out how it works and what was happening, I doubt I'll have any more trouble out of that.

Thanks
 
Top