algorithmic modeling for Rhino

Hey there,

I'm curious if there is a way to create a twisted box array inside of a defined design space,(Inside a brep or something)

I tired using the curves of my design space to pinch an array to fit inside the desired space but it is not accurate enough.

Any tips would be much appreciated. 


Views: 2098

Replies to This Discussion

Not really, if the shape is arbitrary then what would define the array? Best you can do is either remove twisted boxes from outside of the geometry or pull the twisted box corners that hang outside of the geometry to the geometry. Also, pictures of your design space would help. 

Here is a variation of one of the example files to pull the twisted boxes to the geometry. 

Before Pull:

After Pull:

The pulling worked fantastic! The outline of my design space is much more defined. I am running into a problem now though. When I reopen the script (previously functioning) the box morph command give me an error "Solution Exception: Object reference not set to an instance of an object." Sometimes it doesn't read the error on opening, but will give it to me if I adjust the number of twisted boxes in a direction of the array. At this point the preview fails and the twisted boxes no longer populate. I can work around by unplugging the twisted box cell geometry, adjusting the number in a direction, and then reattaching the cell geometry but I would rather not do this every time I want to alter it. 


Well I don't make the box morph component so I am not sure about that error in that case as I haven't run into that before. I cannot see what is being plugged into it. Are any of your twisted boxes null by any chance? If you could attach the file with the geometry internalized it will be easier for me to see. 

Here is the file with the geometry internalized. Thanks again for all this help! 


Strangly, I cannot replicate this error no matter what values I put. I'm using Rhino5 at the moment. Are you using Rhino6? If so maybe there is some bug with Rhino6 and GH1. 

Next time it happens can you check your list of twisted boxes and see if any of them are null. And secondly check them with the twisted box volume component and see if any have zero volume (although it should not give an error in that case at least it doesn't here if I make a flat box, still worth a check.)

-Also let me know what values give you an error so I can try them also. 

I am using Rhino 6 so that may be the problem. Ill keep toying with it this weekend. 

You've been a huge help, thanks again. 

I was also curious if you thought it was possible to introduce an additional cell (one with a flat side) in order to smooth out all of the edges. Almost like a capping operation for all the extended struts. 

In the picture I attached the hypothetical new cell is the one in red. I would love to be able to attach it to all the extended struts so the outside edge didn't have any protruding extrusions. 


Yes you can, but it will be up to you to define. Essentially what you would do is, test which twisted boxes touch the design space shell, dispatch those twisted boxes into a different list, and morph your cap geometry into those twisted boxes. 

Perfect! I will give that a try. Thank you






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service