In summary, a user should be able to do the following to iMates inside of composite iMates:
iMates that are inside of Composite iMates should be treated almost like regular constraints. A user should be able to suppress and modify the values of an iMate. Currently, there is no way to suppress iMate constraints inside of composite iMates... not even through code. As for changing the offset value, there is no way to right click the constraint and edit its value. However, an iMate's value can be changed though the parameters but this is only a temporary solution as updating the assembly or rebuilding it causes the iMates to change back to their original values. This needs to be changed.
Furthermore, the when angle iMates are connected, the user should have the ability to add a 3rd reference angle so that the components do not flip around.
iMates should also be able to mate up with other iMates that don't possess the same offset values but do possess the same type of mate. When the two unequal iMates are matched up, a dialog box similar to the constrain command should pop up and an attempt should be made to merge the values. In this dialog box, the user would have the ability to select which iMate values to use, try and merge them, or specify their own custom ones. After confirmation and the iMates have been connected, they should function like regular constraints in that any updates to the part's iMate definition values (excluding iMate type) will not change the constraint. In other words, after confirmation, the link between iMate values is broken.
I have been able to get around this by implementing my own Add-in that converts iMate constraints to regular constraints so that the user can then edit the values. But this has some drawbacks as I mentioned in another idea.
Can't find what you're looking for? Ask the community or share your knowledge.