First I want to say that designing cabinets and making adjustments with rhino is way easier now that there is solidptcontrol and gumball.

One thing where I constantly run into a small headache is arraying doors with equal gaps. It's doable, but is also very manual and I need help from the trusty ol' casio for this. I'm aware that this is a parametric issue for a non-parametric tool. I'm also willing to script this if someone is willing to help..

I've tried all of the arrays, divisions, mirroring.. no cigar.

Example (facing front of cabinets):

I have a row of 6 cabinets, each 600mm wide. Along the sides and top of this cabinet row there is a trim that overlaps the front by 19mm which is also the sheet material thickness for the doors. The purpose of the trim i purely visual and functions as a "frame" for the whole.

What I want is an equal gap of 3mm going between all doors and trim.

What I could do is model one door (taking into account 3mm gaps) for the first cabinet from the left and then array that door six times to the right. Now I should have six doors with 3mm gaps all around..?

No. I have 3mm gaps between doors and trim but 6mm gaps between each door.

Using the array tool for this does not work because it does not take into account gaps.

An array function where you could define an objects starting base point and an ending base point could work, if there was one, but there is'nt.

I'm nitpicking but doing this on an almost daily basis it tends to get frustrating.

So that's that. Just asking if there's an easier way to do this.

Let me know if you need example files and whatnot..

Thanks in advance!

Views: 1752

Replies to This Discussion

Good morning Stefan,

have you considered the possilbity of using the RhinoParametrics plug-in ?
If this is of interest, you can find the demo and more information on - :-)
nick danese


Yes, I've considered it. It's just the $1000 price keeping me from using it..

Is there a student version available?

Yes there is a student version, if you are an attending student that is.

Otherwise, the trial license is valid 30 days, you can dowload it from

Note that unlike other plug-ins, RhinoParametrics uses Rhino objects, and not all objects in your model need to be loggd to the parametric environment, so your model can comprise a mixof parametric and non-parametric objects.

You can also take a Rhino object and parametrize it (if Rhino exposes the needed information, which it does for most objects), etc. etc.

My recommendation is to start small, and only parametrize a few objects.  There are a number of tutorial / demonstration videos available, hopefully they do their job :-), but questions are always welcome.

Thank you! I will look into it for sure. Where can I find more information on prices for educational versions? Rhinoparametrics search on google brings diffuse results..

The student version is free of charge, but proof of attendance is required - download and install the full version, then we just send you the license code.

The RP web site is down due to an unfortunate fumble by directors and provider, we have been trying to get it back up for 3 weeks . . .  not a good show, I'll agree

If you are doing similar types of things, it would probably be worth it to develop a Grasshopper definition of this - for objects composed of simple flat panels it's relatively straightforward.  Then all you would have to do is regulate the height/width/depth, panel thicknesses, number of doors, door gaps etc. with sliders and the shelves will design themselves.  Hit "Bake" and your project is done.

Just a thought...


Grasshopper is a big step dude! My cabinets will look like spaceships and tagliatelle pasta! I'm not sure I can handle it..

Here's a Grasshopper definition that will build your cabinet system complete with correct door gaps.  It has an allowance for a back panel.  The Rhino file is attached just to show you a result which was baked from the definition.  None of the geometry in that file is required to use the GH definition.  You should probably hide the cabinet geometry before you open the definition so it doesn't add any confusion to your efforts to manipulate the GH sliders.  The sliders are all together on the left hand side of the definition and the output geometry is all on the right hand side.  If you haven't used Grasshopper before just put the cursor over the numbers on the sliders then left-click-drag to move the cursor to change the numbers.  Once you've manipulated the geometry to your liking window select all of the components in the blue box on the right hand side of the definition and then with cursor out on the canvas space right-click to open the context menu and choose Bake.  This will put the selected geometry into the Rhino workspace.  You can hide the GH geometry by toggling the visibility icon in the Canvas toolbar.  It looks like a paint can with a black eye underneath it.  When you want the GH geometry back toggle the red paint can.



Wow. Thanks for your effort! I'll look into it more in depth during the weekend. Seems a bit confusing for now but I'm sure I'll get the hang of it.

I'll do a screencast if I get a chance but it's really quite simple.  Ignore the center part with all of the sphagetti.  Even that's simple but I didn't spend anytime making it easily readable for someone else.  The logic of it is just a simple creation and layout of the necessary panels using reference points and simple math.  If the definition needs any tweaking to accommodate some aspect of your design let me know and I'll add it in.  I was thinking it might benefit from having a kick plate added.

Here's a link to a screencast showing you how to use the GH definition.

Thanks Chris!

Very useful!



© 2018   Created by McNeel Admin.   Powered by

Badges  |  Report an Issue  |  Terms of Service