Window DC sizing problem



I am trying to create a generic parametric window for use in my models. I have done this successfully in the past but, in my latest attempt, I have a problem I have been unable to solve. I am attaching a copy of the model to illustrate.

The model comprises a frame and a casement. The casement is made up of a number of sub elements including two stiles (vertical sides). However I construct these stiles, they do not perform in the expected manner and end up either the wrong length or position when the user controlled options are changed. Changing axis centre seems to make no difference. The length/position in the Y axis is where it goes wrong.

Can anyone spot my mistake?
DC casement window H bar 3 light.skp (306.7 KB)


you need to not just fix the sizes of the subs, but formulate their relational positions, So a stile will be position in relation to a distance from its container’s axis


Indeed pcmoor, but the position is weird and not what I would expect at all. If I force a dimension that I expect to be right, it ends up in a completely different location! I think I understand the principle and have got it to work in most cases fine, but it’s just in this particular case that I am having difficulty. I have tried deleting and recreating the element but it behaves just the same.


I think I may have homed in on where the problem lies but I still cannot seem to fix it.

If I turn on the "show axes of components option, I see there is an axis centre in a very odd place some way along the Y axis of the right hand stile of the casement. I have no idea which component it relates to nor how to move it to a more logical place. Everything I try just leaves it stubbornly in place.

The offset distance of this axis centre along the Y direction corresponds with the position of the component so I am pretty sure it is this that is causing all my woe. Can any clever person help me fix it?


I’m not terribly clever, but if you right-click a Component there is a “Change axes” option that will do just that.


Hi Simon,

I am looking at your component, and I saw a couple things that might help you. First, I would model the window vertically (right now, modeled lying down adds complexity of having axes different from the way that they will be placed in the model). I noticed that some of the Z values and X values interchange (changing the over all Z values (width of window) caused the pieces of the frame to get thinner in the Y axis).

The second thing that I would do is always have a formula or a hard coded value in every field. About half your fields are some value, but I cannot tell where those values come from.

I am still playing with it… I will try to post a cleaned up version if I can get it done today.

The issue with the vertical stiles were the axes. Everything else in the component had the axis at the lower right corner. For some reason, the stiles had the axes at the top.

I uploaded my modified version, if you want to take a look at my edits… keep in mind I don’t know exactly what you were planning, so I made assumptions.

Hope this helps!DC casement window H bar 3 light-MOD.skp (298.0 KB)



Many thanks for this.

After several hours of trial and (much) error, I think I may have cracked it. I am attaching an updated version.

What I was trying to do was to create a generic three sash window whose component parts would remain a consistent size whatever the height and width chosen - in other words, a parametric window. I think I have succeeded but maybe not in the most elegant way.

I agree that I should have modelled it with the main axes being X and Z. I would be tempted to rotate the window but don’t dare in case that throws everything out again. Would it be safe to do so?

My guess is that DCs are an evolving part of SU and that in future it may become easier to construct them. One thing that would be nice would be to have a button in each value box allowing you to delete the contents without a process of double clicking and deleting. Also, navigation is a bit of an issue if there are a lot of sub-components (what about a fixed division below the main element so that only sub components scroll?). Another idea would be to have a shortcut so that, once you have constructed all the subcomponents, you can tell SU that you want to maintain their relative positions within the component, rather than having laboriously to set each positional parameter (but still keeping each parameter editable for special cases).

If you spot any glaring errors or improvements that could be made to my model, I would welcome your advice.


DC casement window H bar 3 light.skp (486 KB)



I have just looked at your cleaned up version of my drawing. It certainly works a lot better but is actually still not quite right as the glass and the horizontal centre bar are not working right. I guess it just goes to show how fiendishly complicated this is!

I think the version I sent in my last post solves the problem. I also discovered that when you have replicating elements, it pays to use the copies option, not least to keep the number of elements efficient.

If a component can be mirrored along its centreline in one or more planes, I guess you could at least halve the number of elements by using Copies and/or Rotation. I haven’t tried that yet but a Mirror option would be even better.



Glad to hear you were able to work through it, Simon! I did not really look at the glass or center bar. You will need to be careful with copying components, though. Make sure to make the unique, or you can end up with issues of copied components taking on properties of the original!



I’m afraid I have encountered another problem I cannot solve. Just when I thought I was getting to grips with DCs!

The attached drawing of a door uses all the same principles that worked for my window. However, two peculiar things have happened. Firstly, when you scale the drawing it ignores all the set parameters and scales everything in proportion (as if no parameters had been set). Secondly, the right hand side of the door does not match the left even though it is a copy of it. If you delete it and recreate it as a copy, it comes back looking right but it can quickly go wrong again.

I have read a lot about making DCs and have watched YouTube videos but I haven’t found any really good advice about how to do it so as to avoid making stupid mistakes. I imagine that is what I must be doing.

Can you throw any light on this latest issue?

Thanks, Simon

3 3 half glazed door.skp (394.5 KB)


Hi Simon. Glad to hear you are still powering through DCs! I took a very quick look at what you have, here. The biggest issue is that DCs can only be two levels deep (main component, then components within). By breaking your door in half, you have created a component with two components within, each of which have another set of components. That’s one level too many.

While I understand what you are trying to do by mirroring the door, I think that your best bet will be to make the pieces separate, then group them into a single component.

Hope that help!


I have recently started to use mostly groups instead of subcomponents inside DCs. That way they will all be unique by default. Another thing about components is that using the same component definition both inside a DC and “freestanding” tends to break the DC at some point, especially if the component has DC properties. Dynamic subcomponents also fill your Component Browser with a zillion copies of their definition.



Good thinking. I built about a dozen components with dozens of sub-components in each one and ended up with a nightmare since I had copied components. I think that using groups would have helped me…

Live and learn… hindsight 20/20… all that…


Interesting to learn that even SU Team Members make “mistakes”! But perhaps that says less about the Team Member’s skills and more about the improvements needed to DC construction. What I have learned in the past day or two is that DCs often need more sub-elements than an ordinary Component and that each one needs to be unique and to have its own parameters set. That means that constructing even a simple thing like a door can take almost as long as it would take a joiner to make the real thing! (A simple 4 panel door I created had 25 sub-elements each requiring at least 4 parameters - so that’s 100 inputted values or formulae!) There must be ways to streamline all this, I feel.



I was speaking of learning SketchUp back before I was lucky enough to work here (Before SketchUp… the B.S. days…)

Now that I work here, I am totally infallible :wink:

In all seriousness, DCs do take some practice, but are very powerful once you learn how to use them!


I second this! I’ve just started my first fairly complex component, and am trying to use Copies and Copy to reduce the sub-component count. So far, I’ve had to manually mirror two sub-components by applying formulas with include “COPY*…” in two of the three “Rot” attributes. And that wreaks havoc with the axes of the component copies. Understanding the attribute formulas that result is … shall we say … not the easiest thing in the world!



I don’t think you’re correct on this:[quote=“TheOnlyAaron, post:11, topic:16818”]
DCs can only be two levels deep
I’ve been working on a DC that is configurable by the user through Component Options.
I started with basic metal shapes modeled as DCs:
Angle Iron.skp (27.3 KB)
Rectangular Tube Stock.skp (36.0 KB)
Both of the above have user definable parameters of Height, Width and Thickness.
Then I started building the REAL model: A trailer designed for Tiny Homes:
Test Trailer Bed.skp (96.2 KB)
When you first examine the test trailer bed, it appears to have only two layers. But Edit the component and select one of the elements, and you’ll see that their lower levels appear! So I’ve got my first pass of a component with 3 levels. Main container, individual elements, and the elements’ basic shapes.

As you look at my components, you’ll see a LOT of issues I need to work through. I know. This is just my first pass to get a working component. Cleanup comes later and will include: Making attribute names within the subcomponents unique. Cleaning up the axes. Removing unneeded attributes. Consolidating user configurable options to the top level, etc.

Then trying to sell it to the trailer manufacturer as a sales tool through placement in the 3D Warehouse!

PS: Eventually, I’ll have more basic metal stock DCs that I’ve yet to build included in this component, and I think it would be useful to publish them as a collection. Can anybody point out a quick reference as to how to publish a component collection?


Aaah… I see what you did, there! You have a DC nested in a DC! I had not thought to try that. Tricky!


I think first you should take the dimensions of the window you want to make.After that it would be easy to design and place rest of the items in the wall or nearby. I have purchased my house and thinking to change the window size because of electronic equipments of Edison hvac service to place them.