Void error (Can't cut out of its host)

Void error (Can't cut out of its host)

vincentlemstra
Explorer Explorer
802 Views
6 Replies
Message 1 of 7

Void error (Can't cut out of its host)

vincentlemstra
Explorer
Explorer

Hey!

 

I'm making a nested parametric door family. I've simplified a family for this forum post to show my problem. 

 

I have nested multiple families in the door. The door (including the grill) has parametric height and width values. 

I want to cut out a part out of the grill using a face based void. The void is locked in the same place, but the door + grill move up and down. 

 

This works fine. Until the void comes at a certain height, when the error messages pops up: "Can't cut instance(s) of x out of its host." But I want the door to be fully parametric. 

 

- Could it be related to the Cut calculation (0.79 mm)?

- Or the void itself? 

 

Love to hear solutions/workarounds!

0 Likes
803 Views
6 Replies
Replies (6)
Message 2 of 7

RDAOU
Mentor
Mentor

@vincentlemstra 

 

A face based void MUST always cut its host otherwise it will be deleted. IE: you cannot have a face based void not cutting anything

 

  1. Either have 2 Grill families ... one Cut by a face based and One not Cut and nest both into the door
    • control which is to be used using a family type 
    • You can control the nested families using a parameter based on family type and the Height parameter moving the Grill up...if > X" use uncut else use the cut
  2. OR if the above is too complicated, simply model the void directly in the Grill Family (not nested)
    • control the depth of the Void with a yes/no to cut or not cut the grill
    • After nesting into the door, associate the Y/N to  a  Y/N parameter in the door
      1. either check uncheck manually based on type
      2. or give it a formula with = Height of Grill < Z" which will extend the void to cut as long as Grill does not exceed that height

 

 

 

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


0 Likes
Message 3 of 7

vincentlemstra
Explorer
Explorer

Thanks @RDAOU for the reply! I tried 2 things on basis of your advice ("IE: you cannot have a face based void not cutting anything")  

1. made the grill overlap so that the void would always be cutting an excursion. This did not work.

2. Made a door panel excursion inside the grill family. So the door and the grill are the same family. After placed the void in the host family (inside the door panel). But this did not work either. But the void is always cutting the big excursion. 

 

Your 2 solutions:

1. I do not completely understand how I make this. Are they 2 grills overlapping each other? Or will the grill family interact based on family type.

2. If I don't nest the grill family. It slows down my model by a lot. You get the warning message from Revit: "This array contains multiple copies of some identical geometry. Performance might be improved by using a nested family and arraying copies of its instances. 

 

Thanks again and looking forward to your reply!

 

 

0 Likes
Message 4 of 7

ToanDN
Consultant
Consultant

Create a panel family without the void,  make a copy to create a panel family with the void + grill (those cane be nested or direct build), load them in the door family, but place only one in the model.  Create a Family Type parameter (label) so that you can have a drop down list to choose which panel type to show.

0 Likes
Message 5 of 7

RDAOU
Mentor
Mentor

@vincentlemstra 

 

Sorry I didn't have access to Revit earlier so I was making an assumption based on your description. I downloaded the family you have attached. I could move the face based void fine without it failing to cut. It might have been the constraints you had in the Array. I am not sure since I was unable to recreate the error.  (Watch GIF below)

 

The revised Family attached with this reply seems fine try it out.

 

Door test.gif

 

However, while at it, I did notice a couple of things (there might be more):

  1. The array you have created is lacking Constraints (fixed). 
  2. The Void family also has no ref planes to lock in parent family (fixed)
  3. The Door family is missing the Origin in Elevation. That will affect the sill height (fixed)

 

Things you might want to consider:

  • The array count is still manual...you might want to consider making that parametric maybe. This way the number will adjust when you change doo height
  • The Face Based void I did not lock ... You might want to lock to the reference plane controlling the Handle Height (ref plane and parameter already added)

 

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


0 Likes
Message 6 of 7

vincentlemstra
Explorer
Explorer

@RDAOU Thank you for taking the time to help me! Really appreciate it. 

 

Thankyou for pointing out some problems. I simplified my model for sharing purposes but still very helpful!

 

However, when I'm moving the void up I still get the error message. You see the dimension line from the RP of the handle. Is this problem due something in my settings/revit?

 

image.png

 

Thanks again for taking the time to answer my questions!

 

0 Likes
Message 7 of 7

vincentlemstra
Explorer
Explorer

@RDAOU @ToanDN 

Based on your advice to have 2 families, one with a cut (shorter) and one not. 

Now I'm trying to figure out how to properly use the formulas to swap between the shorter and the longer grill. 

What I tried:

  • Gave visibility parameters to both grills. With a Yes/No parameter. 
  • Yes/No parameter formula for the short grill: if(and(height<x,height>x),1<2,1>2)
  • But the problem is that the formula counts the total height dimension. It doesn't "run through" the height and changes the grill. 

So: what is the best way to let Revit change the grill from long to short and back?

 

Thank you so much for taking the time to answer questions!

0 Likes