I am having trouble with sizing attributes in Dynamic Components


Hello, I am having trouble with the sizing attributes of the dynamic components. I have made a simple bookshelf made up of five components all of 1" thickness (the top, bottom, right side, and left side, and a middle shelf). I then selected all the components that made up the bookshelf and made that a component.

This is where the trouble comes, I added the sizing attributes XYZ to the bookshelf and applied the “Users can edit as a text box” option. This does almost exactly what I want it to do which is to change the sizes of the bookshelf but leave everything in proportion. But when I change the length of the bookshelf from 24" to 36" the left and right side panel increase in thickness from 1" to 1 1/2" and I do not want that. I want the dimensions to stay fixed while it changes the overall dimension. The same thing happens if I change the height but instead of the right and left sides its the bottom, top, and middle shelf.

What is it that i need to do so that the sub-components don’t change in size when I modify the main component? Thanks in advance.


you need to add size attributes to the subcomponents and assign a hard value to the ones needing it.

if the panel is always to be 1" thick along the x axis then you’ll need LenX =1


To add details to Jeff’s answer:
You should give size attribute to each panel in your book case, Right panel, left panel, shelf, etc.
The dynamic option you are providing to the user will be for the overall size.
Overall size: 24" -> 36"
Left panel Len X = 1"
Shelf Len X = Parent size (24") - 2"
Right panel Len X= 1"
…So when the dynamic option becomes 36, the shelf will automatically become 34"

You’re next issue will be positioning…but we’ll get there if that becomes an issue for you.


i could upload the .skp but since you’re learning DC, it’s probably better for you to type it in :wink:

notice the =1 entries

(the axis of each subcomponent is at the default location… front/left/bottom… or the vertical one is at the origin and the shelf is at (1,0,0) )


Thanks guys for the help, that pic with the info really helped me out. I’m going to continue playing around with it and see how I can apply this to a more complex model.