Donate Now Goal amount for this year: 2500 USD, Received: 1627 USD (65%)

Results 1 to 8 of 8
Like Tree2Likes
  • 1 Post By elton williams
  • 1 Post By Googleye

Thread: Controlling number of array instances in family

  1. #1
    Junior Member
    Join Date
    November 15, 2017
    Posts
    42
    Current Local Time
    07:47 PM

    Controlling number of array instances in family

    I'm trying to create a simple wooden door with ribs for the door panel, think barn door but smaller. I've taken a standard family, deleted the door panel family within it and created my own.

    My door panel consists of a nested family which is basically an extrusion for the wooden rib, the size of the rib is fixed. I've loaded it into the door panel family and arrayed it but can't get it right. What I want is for the first rib to be fixed to the first reference plane(easy) and the last rib to be fixed to the last reference plane, the spacing between them varying depending on the door width but of course also adding or subtracting ribs depending on width. Is this possible? I know how to control the number of ribs but not how to make sure the last one is always in the same position.
    Attached Thumbnails Attached Thumbnails Controlling number of array instances in family-sk%E4rmklipp.jpg  
    Last edited by Googleye; April 9th, 2019 at 07:29 AM.

  2. #2
    Forum Addict elton williams's Avatar
    Join Date
    December 7, 2010
    Location
    Gold Coast
    Posts
    2,621
    Current Local Time
    03:47 AM
    1. Align and lock first and last to reference planes (In plan and elevation).
    2. Apply an integer parameter (e.g. Array Number) to the array
    3. Enter a formula to Array Number parameter such as = width / 500. Being an integer parameter will cause the formula to round to nearest integer. Of course the '500' could be another parameter name, allowing adjustable control.
    Andres Franco likes this.

  3. #3
    Junior Member
    Join Date
    November 15, 2017
    Posts
    42
    Current Local Time
    07:47 PM
    Quote Originally Posted by elton williams View Post
    1. Align and lock first and last to reference planes (In plan and elevation).
    2. Apply an integer parameter (e.g. Array Number) to the array
    3. Enter a formula to Array Number parameter such as = width / 500. Being an integer parameter will cause the formula to round to nearest integer. Of course the '500' could be another parameter name, allowing adjustable control.
    This is exactly how I've set it up. However it only works if the width of the door stays withing the margin of that exact number of array instances. If the width increases so that another wooden rib is added, the previously last rib stays locked to the ref plane and the added one ends up to the right of it on the outside. If the width decreases so that the last one is removed, the lock to the ref plane is lost.

  4. #4
    Forum Addict elton williams's Avatar
    Join Date
    December 7, 2010
    Location
    Gold Coast
    Posts
    2,621
    Current Local Time
    03:47 AM
    Quote Originally Posted by Googleye View Post
    This is exactly how I've set it up. However it only works if the width of the door stays withing the margin of that exact number of array instances. If the width increases so that another wooden rib is added, the previously last rib stays locked to the ref plane and the added one ends up to the right of it on the outside. If the width decreases so that the last one is removed, the lock to the ref plane is lost.
    Are you sure your array was made first to last? Typically 2nd is the default.
    Maybe upload your family, someone cab take a look but it's 8pm here so I won't look at it until tomorrow.

  5. #5
    Moderator Robin Deurloo's Avatar
    Join Date
    July 7, 2011
    Location
    Rotterdam, Holland
    Posts
    1,235
    Current Local Time
    07:47 PM
    So, if the width of each rib is always the same, you need to make a formula that calculates the with of each joint (inbetween the ribs) in order to get the the right door width because the number of ribs is not always the same I asume becasue the door width can vary.

    Something like
    Width/(rib width) = 10.3 (for example)
    You need to round down the 10.3 so 10
    Then calculate the total width of those 10 ribs so 10*(rib width)
    Then calculate the difference between the door width and the total rib width to get the total joint width
    Finally total joint width / (number of ribs-1) to get the width of 1 joint

    Array the ribs with the round down number
    And dimension and lock the joint width

    at certain door widths you might end up with a very small joint, but this means you either need to make a wider door or use smaller ribs, like in real life

    All from the top of my head, so I might be missing something here, but that is basically how I did something similar.
    Last edited by Robin Deurloo; April 9th, 2019 at 12:07 PM.

  6. #6
    Junior Member
    Join Date
    November 15, 2017
    Posts
    42
    Current Local Time
    07:47 PM
    Quote Originally Posted by elton williams View Post
    Are you sure your array was made first to last? Typically 2nd is the default.
    Maybe upload your family, someone cab take a look but it's 8pm here so I won't look at it until tomorrow.
    Of course the answer was something so simple, lol. Thank you!

    Quote Originally Posted by Robin Deurloo View Post
    So, if the width of each rib is always the same, you need to make a formula that calculates the with of each joint (inbetween the ribs) in order to get the the right door width because the number of ribs is not always the same I asume becasue the door width can vary.

    Something like
    Width/(rib width) = 10.3 (for example)
    You need to round down the 10.3 so 10
    Then calculate the total width of those 10 ribs so 10*(rib width)
    Then calculate the difference between the door width and the total rib width to get the total joint width
    Finally total joint width / (number of ribs-1) to get the width of 1 joint

    Array the ribs with the round down number
    And dimension and lock the joint width

    at certain door widths you might end up with a very small joint, but this means you either need to make a wider door or use smaller ribs, like in real life

    All from the top of my head, so I might be missing something here, but that is basically how I did something similar.
    Actually I just do (Door Width / (Rib Width + 10)). Since the first and last rib is locked, the spacing between them adjusts to whatever it needs to be to fulfill the condition of having the first and last locked. The whole thing turned out quite well I think.

    Attached Thumbnails Attached Thumbnails Controlling number of array instances in family-sk%E4rmklipp.jpg  
    Robin Deurloo likes this.

  7. #7
    Senior Member DavidLarson's Avatar
    Join Date
    July 10, 2015
    Location
    Boise, Idaho
    Posts
    664
    Current Local Time
    11:47 AM
    Looks good. Did you know you can apply this to making trellises?

  8. #8
    Junior Member
    Join Date
    November 15, 2017
    Posts
    42
    Current Local Time
    07:47 PM
    Quote Originally Posted by DavidLarson View Post
    Looks good. Did you know you can apply this to making trellises?
    I did not. Always do trellises and similar stuff with either curtain walls or curtain systems, might be worth a try though!

Similar Threads

  1. Cabinet Family with two configurations (instances)
    By katewood1989 in forum Architecture and General Revit Questions
    Replies: 17
    Last Post: April 9th, 2019, 01:26 PM
  2. Tip: Controlling number of Gores for a Duct Fitting automatically
    By tzframpton in forum Tutorials, Tips & Tricks
    Replies: 0
    Last Post: June 25th, 2017, 05:12 PM
  3. Replies: 0
    Last Post: June 28th, 2013, 11:45 AM
  4. Position number in array as parameter?
    By josephpeel in forum Architecture - Family Creation
    Replies: 2
    Last Post: February 10th, 2013, 09:39 PM
  5. Controlling width and length of array in line based families
    By tweg in forum Architecture - Family Creation
    Replies: 4
    Last Post: April 5th, 2011, 01:57 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •