A simple way to drive definition of component off an in-model dimension?


Today i’m working on trying to eliminate the need to manually input a dimension on the end of a common component definition which I regularly use on projects.

The component in question is an equal angle brace which length varies depending on location and project. The component is then named with the c/c dimension as shown. I will then generate report on all required braces and copy the equal angle definitions into a solidworks table for our fabricator to work from.


My question relating to this brace is as so - Is there a way to automatically drive the dimension required at the end of the component definition from the changing dimension within the model? i.e when I change the brace length - thus changing the c/c dimension - can the definition also change with this?

Any advice is greatly appreciated.



Would something like this work? This is a Dynamic Component that changes the part number based on the distance between the holes which in turn is determined by the length of the bracket. I don’t believe you can change the component’s Definition Name based by @pcmoor would be better qualified to answer that.

You say, “length varies depending on location and project.”

Does this mean the lengths are an unpredictable variable?
Or, is there a predictable set of various lengths which you employ, depending on location and project?

Yes, the length is an unpredictable variable. With this component it is not suitable to employ a length from a defined set.

That could work yes, I will try with the method as detailed tomorrow when I am back in the office.
So long as I can still click in and drag the brace end to increase the c/c dimension then it may be a solution. I will have to modify my report template to include the new column but thats no big deal. Currently I only report on the definition name and qty, then copy to a BOM in excel. gain, i’m sure this can be improved upon. Baby steps …


The way I made it, the component’s length can be adjusted with the Scale tool or by entering a length in the UI. Since you didn’t indicate anything about the spacing between the central hole and the one on the left end, I made that spacing fixed. In your screen shots it appears that spacing remained the same. Tthe space between the ends of the bracket and the end holes is fixed as well. You could certainly set up the component so that the spacing between the left and central holes can be adjusted or so the central hole is always in the center of the bracket if that’s appropriate.

If the center to center distance between the holes is an attribute, you can use text functions to define the “Name” attribute - but I think it’s the instance name, not the definition name.

Then on your report, use the instance name.

You are correct that the spacing from hole centre to ends of bracket is fixed, as is the spacing between holes on the left(160mm). The only variable is the c/c dim as shown in the OP clip.

Typically I will bring in the equal angle component. Align the holes on the ‘left side’ to another generic component. Then click into the EA Brace and drag the right side until it connects to the variable component (steel beam/wall bracket etc etc)

The instance name will be an acceptable attribute to report from. Are you saying that you would set up attributes to produce the c/c dim, name etc and then use the ‘concantenate’ function to bring it all together. Then generate report on the result?

FWIW, I used the Name attribute to put the part number/name at the top of the Component Options window. I used the same formula to create a custom attribute for the Part Number to get a Part Number column in the report. The attribute is called aPartNumber so it would show first in the viewable but not user settable fields in Options. Of course the Center to Center Distance field doesn’t need to show. I put it there more as a proof for myself that it was all working as desired.

1 Like

Thanks Dave, that seems fairly clear and like it could do the trick…
I have input the data as shown.

How would I ensure that the only scalable portion is between the c/c area? So that the hole centres to the left(160mm) is fixed and so are the ends?

Since dimension changes are done by scaling and scaling the entire thing would deform the holes and change the angles of the chamfers, I made three components. The left one has the two holes with the fixed relationship. It’s position and size is set with attributes and won’t change. The right end contains the third hole and is also fixed in size but its position is adjusted with the length of the bracket. The middle component is simply a flat box that scales with the length change. I hid the joining ends of all three components so it looks solid in the model.

Obviously the closer the ends of the middle component come to the holes, the shorter the possible distance between the holes.

1 Like

In principle your method looks like it will do the trick! But I am having an issue with the middle component not scaling as it should.

Please find attached, any chance you can have a quick scan over and tell me where I have gone wrong?

EA Brace Check.skp (165.5 KB)

You have no math to establish LenX for that center component. You need to add that. Mine is like this:

I set it up so LenX for the center component is the length of the bracket minus the lengths of the left and right end components.

I also set the position of the center to be at the right end of the left component in the X position.

1 Like

Thanks Dave, its working.

Really appreciate your help. For me this side of sketchup is relatively new. Baby steps…

(Y) !! Its great that this has been solved so quickly!

1 Like

Hi Dave,

If I were to want the component c/c dimension to snap to increments of 5, where would the round function be introduced?

I had included it in the 'Center component portion but this was causing the end of said component to behave oddly - not staying joined with ‘Right Side’.

Sorry to be asking you directly but it seems as if it may be an easy one to answer from your end! :sunglasses:


I have done what I was requesting. Couldn’t see the wood from the trees initially!

1 Like

I’m glad you got it to work. I was just getting at it when I read your question and needed to get some coffee in.

So now you have the bracket’s length adjustable in 5mm increments?

Maybe it doesn’t matter since you have it sorted but is the right end hole always the same distance from the end of the bracket? I suppose it’s more like the end of the bracket is always the same distance from that hole?

1 Like

Dynamic EA Brace 1.2.skp (97.0 KB)

So the bracket length itself works as before . The part name now rounds to the nearest 5. So if the c/c dimension shows 103 then the part name states EA50_B_105.

I wasnt sure how to get the model functioning so as to snap in increments of 5 when scaling. (so the c/c dim would snap from say 97 to 95)
Even though I have found a workaround, I am curious as to how the model could function as stated above? Do you have any advice on this?

Let me get more coffee in and think about it.

1 Like