Help with Dynamic Component, Size of objects change as options turn on and off

Hi , Im James

This is my first time posting on the Community. I am learning to use Dynamic Components, I have the Basics some what covered and looking to make more advanced inputs and functions.

So My Component is Wall Panelling on a Stud-frame

Now I have returns working under the 1no user Option menu.
Menu options are : None, Left , Both , Right.

Ie, if “None” is active - Returns are hidden, If “Left” is Active - Left return shows appears, and so on.

Now my problem is the Stud-Frame , normally this is the same size as the Face Panel but
when I add a return Panel (this will be flush behind the edge of the Face Panel) I need the Frame to resize to suit the return panel if “Right”,“Left”, Or “Both” options are activated.

How do I achive this in a Dynamic Component ? or is possible ?

thanks in advance for your help.

Kind regards
James

This is the Snapshot of the Component and User Options

Can you upload a copy of your DC, not just an image?

Drag the SKP file into your open post here

1 Like

2 Panel Wall Cladding DC.skp (386.3 KB)

Slight mistake with the First model with the Stud frame thickness , fix in the attached.

You can use the choose condition to reflect the returns choice to alter the length of the frame and plinth as well as their position.

2 Panel Wall Cladding DC.skp (406 KB)

1 Like

Good morning, pcmoor

that works perfectly, took me a few min to figure what you actully did but yes that is exactly what Im looking for. thank you so much this was melting my head since monday.

Just one question, on the “choose” conditions for LenX of both the Plinth & Frame your formula is -
=WM 2 Panel Wall Cladding!LenX-choose(WM 2 Panel Wall Cladding!Returns,0,1,2,1)*(WM 2 Panel Wall Cladding!PanelThickness-LenY)

what is “2” refering to ? I dont understand how that is working ? is each selection just a multiplier for the (PanelThickness) ?

this method will help with a few other models too, thank you.

thank you so much , really appriciate it thanks.

James

figured it out thanks, pcmoor for your help, Just played with the differant options I think I understand what you did, thanks again.

Thanks John too for getting back to me.

that is true,

CHOOSE(index,value1,value2,…valueN)

choose picks what ever item index (an integer) returns
so your double reveals happen to be number 3, which picks item 3 which is 2 to be multiplied by panel thickness

1 Like

thank you pcmoor

I’m sorry I couldn’t follow up further. But @pcmoor knows far more than I do about DCs. I just thought that whoever answered would find it much easier with your model to examine.

2 Likes

Thanks john, you are correct about uploading the model and saves time

1 Like

no, Thanks you both for your input, thanks guys.

Hi Philip

sorry, but I have another Question?

is It possible to add the a second hide function to a Component ?

for example, the model you helped me with is possible to add a Hidden attribute to hide the Geometry of the added Left or Right returns ?
What im trying to achive is , in some cases the Wall cladding will not have a return but the stud may need to be stepped from the edge and the step back can determained by the thickness of the returns which could be easly added to the model.
although this would require a Left and Right return Thickness option.
which in turn will not work with the Frame auto adjusting with “Choose” Function for the Left and Right returns.

Am I being to ambitious with this Component ?

hope this makes sense
James.

I would place two dropdowns on the option dialog, one left, one right then have each end either hide, move or change to suit your needs
This is a timber frame DC that allows the same concept, howbeit no lining.

Frame.skp (189.1 KB)

with openings and other intermediate objects, I found that placing such in a scale able frame, one can adjust to suit the required outcome,

Frame wall and Opening.skp (411.9 KB)

I load, place and scale the DCs using a ruby script based on the line tool, as per attached video. So

What ever you can imagine, then at least give it a go…

2 Likes

Hi Philip

This … eh this is impressive, Not going to lie, My head exploded a little seeing that video. I need to play with this alot more, after see this I feel like I haven’t even scratched the surface for the possiblies I can do with this.

Thanks this is amazing ! thanks

I feel like I could learn so much from you, going forward do you mind if ask you questions directly?.
(no pressure, like I dont want to be annoying you).

The idea of this forum is to discuss things publicly, that way information is shared, your questions are those that others are yet to ask, or even afraid to ask. There are many good participators who have different inputs and ways of doing things, so if you can, keep to this forum. However any sensitive work related modelling should be and can be worked out in the private message area.
I am quite happy to help you build your own collection and discover the power of using Ruby, which is the logical extension to DCs.

So with your DCs keep to a standard orientation, (as you so far have) like Xaxis for the length, scale-able rather than fixed lengths, then can use a tool to “draw” them. Create them step by step, refining as you gain experience.
If you think of some thing you like your DC to do, ask, and as a team we will try to come up with a solution.

1 Like

That is a fair point, yes i get what you mean, I was initially afraid to ask questions. thank you really appriecate the help.

sorry to ask put the model for the frame DC you up loaded seems to be missing some sections (ie.endFrame options). or does that only work with your Ruby Tools ?
I only ask because I want to pull it apart and learn what you did so I can apply it to my models. if you dont want to give me the full model of the Frame I completely understand it your hard work and knowlodge that went to making it.

Hi Philip, Sorry Its ok, I started pulling your “Frame with opening” apart , tons of info on this for me to dissect, thanks agains, this is just mind boggling, the options that can be a achived with a few lines of code.