Dynamic cabinets
-
Hi all
I am new to dynamic componets and have made a cabinet
with adjustable shelves in it but i am wondering if there is an easier way to do the following code as its a little confusing to work out probs when it didnt work ?Im am also trying to make a draw unit aswell but this is proving to be much harder,
Parts of the cabinet I would like to be adjusable
-the draw box height )(between 3 std blum tandem box heights)
-the draw front heights (a defalut of equal unless some one enters a specific size)
-the draw box depth
-cabinet width
-cabinet height
-cabinet depth
and if possblie an opption to add internal draws behind one main front"shelf code"
=IF(STD CABINET!SHF_QTY>=1,IF(STD CABINET!SHF_QTY>=2,IF(STD CABINET!SHF_QTY>=3,IF(STD CABINET!SHF_QTY>=4,IF(STD CABINET!SHF_QTY>=5,IF(STD CABINET!SHF_QTY=6,STD CABINET!LenZ/7-STD CABINET!CARCASS_MAT/7, STD CABINET!LenZ/6-STD CABINET!CARCASS_MAT/6),STD CABINET!LenZ/5-STD CABINET!CARCASS_MAT/5,0),STD CABINET!LenZ/4-STD CABINET!CARCASS_MAT/4,0),STD CABINET!LenZ/3-STD CABINET!CARCASS_MAT/3,0),STD CABINET!LenZ/2-STD CABINET!CARCASS_MAT/2,0),STD CABINET!LenZ/2-STD CABINET!CARCASS_MAT/2,0)
thanks for any help
-
Hey, it looks great and it works great too. The drawers open nice and smoothly. Great job!
Chris
-
Thanks Chris
Im still trying to work out an easy way to add the adjustable draw fronts
so .....more head scratching, but if anyone would like to help......please -
Hi
I thought i would add an update as to the draw cabinet i have been working on
Its working but still needs some tweeks
I have not yet allowed for any 3mm gaps between draw fronts,
and the other more major prob is that........I would like the draw fronts to be adjustable by user imput but
- say the cabinet has 3 draws and the used wants the bottom draw to be 500mm high i want to be able to get the other two draws to divide the left over space equaly
Any ideas on how to do this easily would be great
I have attached the a model of the draw unit im working on
and also some pics
-
Yeah, here's a quick idea.
So the user can change the height of the bottom drawer. And you know what the total height of the unit is. Lets assign some values. Say the Unit is 1 meter tall. And the bottom drawer is 500mm tall. You have 500mm left for the 2 drawers. So their height should equal 250mm each. This is how to set that up mathematically:
LenZ=(Cabinet!LenZ-LowerDrawer!LenZ)/2
That resolves down to:
LenZ=(1000mm-500mm)/2 which equals 250mm.
So that is how you would set the LenZ for the 2 drawers. Whatever the bottom drawer is set at, the 2 drawers will split the difference.
Hope that gives you a starting point.
Chris
-
@kaptin ooono said:
Hi
...
I have not yet allowed for any 3mm gaps between draw fronts...This modified version puts gaps between drawers, but not on the top drawer. I didn't make the drawers equal heights, the top drawer is taller by the gap.
-
@unknownuser said:
kaptin ooono wrote:
Im still trying to work out an easy way to add the adjustable draw fronts
so .....more head scratching, but if anyone would like to help......pleaseMaybe it help you to add more fronts!Colors added by layer.Luukkapp mel riiulid.skp
BUDLA -
Hi
Thanks all for your help i worked last night on it and sorted the 3mm gap issue as below
(box height) - (top gap) - (3mm gaps (this number changes depending on how many draws there are)) /(the number of draws)
code :
"=IF(STD_DW_CAB!DRAW_QTY=1,STD_DW_CAB!LenZ-STD_DW_CAB!DOOR_T_GP,IF(STD_DW_CAB!DRAW_QTY=2,(STD_DW_CAB!LenZ-DRAW 1!DOOR_T_GP-0.3)/2,IF(STD_DW_CAB!DRAW_QTY=3,(STD_DW_CAB!LenZ-DRAW 1!DOOR_T_GP-0.6)/3,IF(STD_DW_CAB!DRAW_QTY=4,(STD_DW_CAB!LenZ-DRAW 1!DOOR_T_GP-0.9)/4,IF(STD_DW_CAB!DRAW_QTY=5,(STD_DW_CAB!LenZ-DRAW 1!DOOR_T_GP-1.2)/5,0)))))"
This is for the bottom draw so it has to work and have different heights for 1,2,3,4 & 5 draws
Chris
That code you suggested to use i will have to fit into the code above
so that will be the difficult part
i will work on that soon.......... -
Isn't that code just:
=(STD_DW_CAB!LenZ-DRAW 1!DOOR_T_GP-(0.3*(STD_DW_CAB!DRAW_QTY-1)))/STD_DW_CAB!DRAW_QTY
?
I may have missed something, but if I am right I think it would be considerably easier dealing with an equation like that than the huge number of IF statements. Much easier to make changes, too.
And I think the top equation simplifies to:
=(STD_CABINET!LenZ-STD_CABINET!CARCASS_MAT)/(STD_CABINET!SHF_QTY+1)
Is this right? Does it help at all?
-
Hi James
thanks heaps i will try that when i get back to work tomorrow
and thats exactly what i was after a simple way to do it
so much less confusing ...... yaaay
i will post back tomorrow to let you now how it goeson a slighty different note if i have the following
a draw bottom thats inside a draw
& the draw is in a draw box
& the draw is in a cabinethow can i get the draw bottom to read a parameter on the draw box
to sum up i would like to now the chain of comand in order to refer back to other componets ?
but again thanks james and all that have helped
-
Happy to help
Because a component can only read an attribute from its parent, a sibling or a child, if you want to read an attribute more levels away than that you have to have something to pass the message along.
Generally I just use a custom attribute on the levels in between, which is defined as a direct copy of the attribute you are after.
For example, if your drawer bottom needed to know LenX for the cabinet, I would do it as follows:
Cabinet:
LenXDrawer:
cabDepth=parent!LenXDrawer_Bottom
attr=parent!cabDepthI use things like that to pass the message along the line, cabDepth could be called whatever you want and you could use Cabinet! and Drawer! in place of the parent! bits, but I like using parent.
I hope that makes sense.
-
Could it really be that silly?
that there is no way to call an attibute from a parents parent (grandparent! )?
a string equal to the file path version of ../ would make life so much easier.D.
-
Yes, that could make sense to do that. At this point though, you have to pass it through each level manually
Chris
Advertisement