Scale Locking in dynamic components


#1

Many dynamic components allow scaling only in limited directions.
Handles are not displayed by the scale tool in directions which are locked.
However any scale transforms in ruby will override such locking.

For a given component instance, how do I tell in ruby which directions are allowed to be scaled?


#2

You need to get the Behavior from the ComponentDefinition, Then read the scale mask using Behavior#no_scale_mask

http://www.sketchup.com/intl/en/developer/docs/ourdoc/behavior#no_scale_mask=


#3

Thanks, Just what I needed.
How did I miss that? Because:
No mention is made anywhere in the API about “dynamic components”.
“Behavior” says it covers settings available on the edit component definition dialog, but scale mask is not there (why not?). So way back when I read that topic I never connected “behavior” to dynamic components because most everything else that dynamic components do isn’t covered here because I have to remember it’s an extension.
Meanwhile “glue to” is called "snap to"
and "2D’ (not on the dialog) means the sames as “faces camera”.

What we have with this API is a huge haystack full of small needles.
And thankfully a forum patrolled by sages like Jim with bandaged fingers.