After working on this problem (Making groups uniques leads to dirty things), I finally found something that is close to a bug to me.
When a user duplicate a group by using the CTRL+DRAG option or CTRL+C/CTRL+V, SU creates a new group linked to the same Component Definition (this is then close to Component use case)
When creating a Linear Dimension between two entities of these two groups (ie a dimension linked for example to a vertex on each side), SU works perfeclty by linking the dimension on each side to an entity associated with a position. Unfortunately when one of the group is made unique, then the Linear Dimension isn’t updated and looses one of its bound link, gets dirty and then is automatically deleted if a validity check is performed manually or automatically by Sketchup.
I’ve been working on this for 2 days without finding a solution to fix the corrupted dimensions myself because:
- Starting from dimentsion side, we can get the entities it’s linked to, but that’s the ones associated to a Component Definition without knowing the real group we are working with.
- Starting on the Group side, there is no other solution than parse the entire vertices positions to reassociate the group vertices positions with the dimensions linked position to find out the right vertex to relink the dimension to. But first this is really heavy and second there is a risk of missassociating the dimention with an object if vertices of two objects are overlapped.
So my conclusions are that making group uniques (which is a basic action) can really create dirty objects mainly like dimensions with no other solution than get it deleted by SU when a validity check is performed.
Does anyone knows or have spoted something that I’ve miss ?
Is that something that can be handle by the developper team ?