Distribute "import 3DM" along arrayed objects in Grasshopper


I’m developing 3D modules for kitchen interiors using Grasshopper, as I want to be able to quickly adjust dimensions without loosing the correct proportions between framework and drawer fronts etc. To learn Grasshopper more quickly, I started out with one of the more complex drawer modules, where the number of drawers are different on each level, as seen in the image below:

While my poor Grasshopper skills have lead to the file being ridiculously messy, it works as I wish - I can with simple slides change the number of drawers on each level as well as change the total width of the whole module.

Now I’m trying to find a good way to also place handles (seen in green below) to each drawer (also in green below), by inserting a handle previously drawn in Rhino via the “import 3DM” command. But how can I position a handle at the middle of each drawer, while the width of the drawer fronts are flexible? What I’d like is to make the handle relate to each front’s middle, and not to a fixed point. The fronts have been spread out via array command…

Any ideas on this, or do I even make myself clear enough? :smile:

Hello Josua,

If you can select the front cover (surface) of the drawer… then with the area component you can locate the centroid of that surface. If you have the centroid of each front cover, you can, by using the orient component, to place the handles to the centroids.
Maybe you can incorporate the handle in the array component (like the way you did with the drawers). that way you only have to orient one handle to one drawer

/\ Matthijs

Hmm, I think integrating the handles to the array in the first place might be the best option. But, how can I combine the two objects (front + handle) into something I can put into the same array component? Or can I somehow plug both objects separately into same array?

As it is now I have a “Domain box” moved with “move” component and an “Import 3DM” moved with “move” component. So basically I have two “Move” components which are positioned correctly, but I don’t know how to merge them together into one component, or how I can plug them both into the same array…

This is how I’d get the handles onto the drawers… and yes I know these handles would be hard to grip, let’s just say it’s Memphis style.

Array_on_array_BrianJ.gh (11.8 KB)

You’re probably beyond this by now but here’s a video tutorial that’s somewhat related as well…

Thanks Brian, that helped!

However, I’d still be curious about my previous question, if it would be possible to combine the handle and the front while in position and then array them with the same array component. Could be useful later on :smile:

Sure, just use a brep component to combine them and shuffle the order like this…