Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Contain/Trim Array in Revit Family

josh.hafel
Enthusiast

Contain/Trim Array in Revit Family

josh.hafel
Enthusiast
Enthusiast

I made a family that has a channel structure and is infilled with a standing seam roof. It doesn't need to be super accurate, so I don't mind if it cuts a sliver of the last standing seam panel or if it cuts the last one in half, but I want to contain the array inside of the channel structure that surrounds it. The width is variable therefore, the 'Array Number' parameter is variable as well. I tried to use a void form, but it didn't seem to do anything to the array. Any ideas? See below.

 

I would like to cut any part of the last array that is outside of the red dashed lineI would like to cut any part of the last array that is outside of the red dashed lineThis is how I was determining the array number based on the width parameter.This is how I was determining the array number based on the width parameter.Thanks in advance for the help!

0 Likes
Reply
Accepted solutions (2)
1,262 Views
7 Replies
Replies (7)

barthbradley
Consultant
Consultant

Array a Void only?  Or, Array an Element that had been cut by a Void?  

 

...you know, it might be easier to follow you if you can post the family?  Want to? 

0 Likes

josh.hafel
Enthusiast
Enthusiast

Sorry, I wasn't clear. I made a sweep that is the Standing seam panel, then I arrayed said sweep to fill the width. The issue though is when the array becomes wider than the width, the last standing seam panel sticks out of the structure. I just want to trim the last panel within the array to fit. Ignore the ci=omment about the void form, all I was saying was I tried to use a void to trim the last panel and it didn't do anything. The family is attached.Annotation 2019-06-26 090540.jpg

 

0 Likes

dferreira-blackwell
Collaborator
Collaborator

instead of void try to use solid mass and cut tool then hide the mass. see if it works.

0 Likes

barthbradley
Consultant
Consultant
Accepted solution

First of all, it's better to Array a nested family. The nested Family would have Instance Parameters controlling its sizing, and Parameters would be associated to Host Parameters.  With that said, I believe the fix here is easy if the last Panel was not part of the Array. That last Panel would automatically flex its width (driven by a simple formula) based on the "leftover" space.   No Void; no cutting  is necessary.  Last Panel is sized to fit the condition. 

0 Likes

barthbradley
Consultant
Consultant
Accepted solution

Here's a quickie example (see attached) of what I'm talking about. There are other formulas/parameters needed to meet other conditions -- namely what happens when the Array count is less than 2 -- but this is the basic concept applied. 

 

Play with the "Overall Length" parameter to see what's happening.  

 

0 Likes

josh.hafel
Enthusiast
Enthusiast

That is a good idea! I was getting kind of frustrated with not being able to do anything with the last array, but removing the last array and having a filler element/buffer at the end is smart. Thank you!

matinmehrpooyaNT4A9
Participant
Participant

If a "rounddown" is added in the option for the number of the formula, all copies will work completely correctly and automatically a last element will be removed and with the formula for lastLength, the last spacing will also be filled.


just like in the screenshot

0 Likes