Trouble with dynamic components


#1

I’m trying to learn how to use dynamic components. I’ve drawn a simple frame-and-panel door, and I have tried to set the size parameters for the different parts. The style should be a fixed size on all 3 axes. The panel and the rails are constrained on the Y and Z axes, but are free to change along the X axis. But when I select all the door components and try to scale the width to 0.75% of the original size, the stiles change width. That happens whether I have all the components as part of a larger component, whether I group the components, or whether I simply select all the components.
What am I doing wrong? There should be a copy of the SU file attached.dynamic component test.skp (80.4 KB)

Thanks in advance.
dh


#2

I attach a modified version of your file. I assembled your parts into a component named “Door” and added what IMO is the minimum number of attributes and formulas to control it. Look in the Component Attributes dialog what went inside. Note that the component parts, even if similar, must be unique because their position attributes must be controlled individually. The component I made can be stretched with the Scale tool in all directions but it preserves the frame width and panel thicknesses that are set with custom attributes. Scale tool behaviour can also be limited in the component attributes but I don’t think it is necessary in this case.

Anssi

dynamic component test.skp (80.4 KB)


#3

Found a bug in the panel component Z scale formula. Corrected version here.

Anssi

dynamic component test.skp (114.1 KB)


#4

Dear Anssi,
I appreciate your help, but I can’t make the modified file do what I want. When I try to scale the door along the red axis to 0.75 of the original, the two stiles also shrink along their width by 0.75. I want their dimensions fixed on all three axes; the center panel and the rails can lengthen or shrink along the red axis. And I want to be able to scale the door as one entity. What am I still doing wrong?
Best,
dh


#5

You are probably inserting the whole “dynamic component test” file as a component into another file. The dynamic component I made and named unimaginatively “Door” is inside the file, so, if you insert the file I posted you must explode it once to get access to the dynamic properties and behaviour.

Anssi


#6

Dear Anssi,
No, I’m simply clicking once on the “Door” component in the file you created, then trying to scale that component and all the sub-components within it. The stile components scale along the X-axis, which is what I don’t want to happen. What am I doing wrong?
Thanks again for your patient help.
Best,
dh


#7

Dynamic components are very tricky. If you want to have a look at my experiments have a look at my window/doorDynamisches Fenster.skp (225.1 KB) . It’s in german but you will unterstand.


#8

You only select the parent “Door” component - do not enter inside it so that you have to select the parts individually.
For me they “scale” when I stretch the component with the Scale tool, but when I release the tool, they revert to the correct dimensions automatically. Doesn’t it do that to you? If it stays with wrong proportions you could try right-clicking on it and selecting Dynamic Component>Redraw from the context menu. I don’t know what would prevent the component from refreshing automatically. Have you installed the latest maintenance version of SketchUp 2015? Is your graphics card driver up to date?

Anssi


#9

Dear Anssi,
Dynamic Component>Redraw solved the problem! Many thanks, again, for your help.
All best,
dh