Visibility's dependent on Two Parameters | Matrix

Visibility's dependent on Two Parameters | Matrix

Anonymous
Not applicable
1,313 Views
8 Replies
Message 1 of 9

Visibility's dependent on Two Parameters | Matrix

Anonymous
Not applicable

Hello,

 

So I have two parameters at play here:

 1. PalletsPerBay

Determines no. pallets on x-axis


2. No.Beams 

Determines no. pallets on y-axis

 

I need the families two be dependent on both parameters. Please see image attached. 

 

I used a couple of if(and()) statements but this seems tedious. Is there an easier way to do this? Maybe I could create visibility parameters dependent on two conditions? 

 

(I forgot to add 01, 02, & 03 parameters to the list, but the idea remains the same) 

0 Likes
Accepted solutions (3)
1,314 Views
8 Replies
Replies (8)
Message 2 of 9

ToanDN
Consultant
Consultant
Accepted solution

Why don't you nest the pallet family in the beam family so that when you place a beam the pallet comes with it?

0 Likes
Message 3 of 9

barthbradley
Consultant
Consultant
Accepted solution

Are you Arraying in both the x and y directions simultaneously?  If so, I've accomplished something similar by nesting a parametric array into another parametric array, which in turn, is nested into a host.  

0 Likes
Message 4 of 9

Anonymous
Not applicable

Thanks for the advice guys.

 

@barthbradley, I don't believe an array will work as there could be 1 pallet per bay, and you need at least 2 for an array, correct?

 

 

@ToanDN@barthbradley

So I nested the pallets with the beams in a family: Beams&Pallets.

 

Please refer to image attached:
- Blue indicates hidden beams

- Red indicates hidden pallets

 

The nested families that are hidden are dependent only on the No.Beams visibility of host Beams&Pallets family, and therefore hide easily.

 

However:

Pallets 22, 23, 32, 33 are dependent on No.Beams in host family (Rack) and PalletsPerBeam in nested family (Beams&Pallets). Now they won't hide unless No.Beams PalletsPerBeam yes/no is false. 

 

How can I resolve this?

 

 

Thanks in advance,

Connor

0 Likes
Message 5 of 9

Anonymous
Not applicable

So as a solution:

I created instance yes/no parameters for Pallet 2 & Pallet 3 in Beams&Pallets associated to their relevant pallets.

 

Then I associated these instance parameters to equivalent yes/no parameters in the host, which I made dependent on if statement formulas. 

 

Let me know if you guys know of a better way to go about it please.

 

0 Likes
Message 6 of 9

ToanDN
Consultant
Consultant
Accepted solution
You can use array. Insert two modules in the same place, assign one with a vis param "array", one with a vis param "single". Enter a formula for "single" = not (array). Array parametrically the "array" module as usual. When you need 1 module, use a chexkbox to turn off "array" then "single" will show.
0 Likes
Message 7 of 9

Anonymous
Not applicable

Thanks man

0 Likes
Message 8 of 9

barthbradley
Consultant
Consultant

@Anonymous wrote:

 

I don't believe an array will work as there could be 1 pallet per bay, and you need at least 2 for an array, correct?

 


Actually, I have array families that have a single element state. This is easily accomplished through On/Off parameters. One  On/Off parameter controls the visibility of the element Array and another On/Off parameter controls the visibility of a single element.  So, if than number of elements is less the 2; the Array default to 2 elements and becomes invisible, and the single element becomes visible.  

 

 

 

 

Message 9 of 9

Anonymous
Not applicable

Ja, Toan did mention that. Thanks man.

0 Likes