OpenNest for Rhino8 - plugin update

Hi,

Rhino 8 changed from .NET framework to .NET Core. It means some plugins have to be updated. One of them is OpenNest. I took this chance to update and clean up the code.

There are a few points to mention.

Operating system for OpenNest2:

  • Windows 11 AnyCPU, Rhino version 8.8 or newer
  • Mac Arm64 AnyCPU, Rhino version 8.7 or newer

Installation:

  • Use package manager.
  • Examples are in food4rhino

Interface:

  • Sheets and Nest Geometry was separated from the main component. This was due to multiple questions how to create sheets in specific ways, and how to simplify curves for a faster nesting process.
  • Sheets can takes holes. And support data-tree as an input.
  • Elements can be copied while nesting.
  • Support for Rhino objects is better, since additional objects can be nested by simply selecting all the geometry at once. You just need to place closed outlines into a specific layer.
  • Before using the plugin please check the example files one by one.
  • Several nesting optimization options were added to the nest component.
  • After nesting you can see nest index.
  • Other components stayed more or less the same, except of Box Packing, that had a bug that is now fixed.


Rhino attributes are kept before and after nesting with detection of outlines with holes. The outlines must be stored in a layer defined in a grasshopper component:

17 Likes

Hi Petras,
first of all many thanks for your amazing work!
I was wondering, is it possible in some ways to split the results following the original layers of the objects?
I mean… I need to nest multiple layers together, but once nesting is done and I bake the results everything goes on a single layer and i have to change this by hand, is it possible somehow to avoid this?

Many Thanks

open_nest_test.3dm (1.2 MB)

opennest2_1_nest_rhino_objects.gh (25.0 KB)

Did you try to reference objects by guid and on the nest component click “insert”?
It should keep the layer attribute.

Hi,
Thanks for your fast answer!
Ah… I was baking the “all_geo” instead of the whole nest component!
This is awesome! Great improvements since perevious version! Congrats!

Thanks a lot Petras!!!

1 Like

Nice that it worked! This was the reason to split into two components, to carry attributes more easier.

Hi Petras, thanks for this update. I have some questions maybe you can answer.

I used to use transform component to move all objects from a group based on how the proxy curve is transformed by opennest. The xforms output from 2.0 however seem to not work for this, putting everything all over the place, despite the geo output from the nest component itself working fine. How do I use this new xforms output?


It is being in progress to solve this. In the next release it is going to be fixed.

2 Likes

Hi Petras, how’s it going, any updates on the fix?

I was excited to see that this plug-in could be updated, so I updated my Windows system to win11 and then installed the plug-in,Rhino version is 8.9. But when I ran it, it didn’t work.I don’t know where the problem lies.

Will try to spend this weekend to fix it.

1 Like

Hmmm, windows 11 should be fine.

Do you have any other OpenNest version installed on your computer?
I am wondering if there is any conflict with previous version.

Can you provide information about installation? E.G. the contents of the installed folder and any other existing opennest version there.

I installed this on my Windows 10 pc and have just noticed that it requires Win11.
It seemed to work but I only checked out the examples, I didn’t get chance to put it to good use.
Should I use an older version on Rhino 7 instead?

In my experience with OpenNest2 in R8 on Win11, yes, until the dust settles.

1 Like

I uninstalled all plugins except OpenNest before, but it never worked. Your reply reminds me that I turned on Grasshopper Developer Settings when I was learning to write plug-ins in C#. Then I closed GrasshopperDeveloperSettings and after I opened Rhino8 again, it worked. Thank you very much for developing this plugin, it is very helpful for my work


1 Like

Oh, that thing… Developer settings. Great it worked.

Update.

Since in most cases attribute geometry is transformed. I added this “attribute” input for nest geo component:


If attributes are not used the outlines can be placed as a simple flat list:
Then only the outlines are transferred.


Transform still works as in the first version:


Ok still some quite some stuff needs to be done. Because there are number of other ways you can make the input. If there are other request abouts transforms let me know.

2 Likes

This is an option for multiple copies with attributes:

If you select nest component and hit “Insert” button, geometry is baked with attributes,

All these objects are placed into Rhino Groups after “baking” with insert:

2 Likes

Sheets with holes is supported, I think in the previous version this was missing:

2 Likes

Added a time option to run the solver.
User can input number of seconds the solver will iterate.

This option is activated when the time is given as a parameter.
It is double checked with the user to avoid any “Crash” situations:

Rhino command line will print the fitness of nesting:
image

1 Like

@Yifu_Ding @Joseph_Oster

Could you please try the current version to check if it works?
After hearing your comments, I will update mac version.

Version 2.1.0 is on PackageManager.
Examples are here: OpenNest | Food4Rhino

After this one the next step will be cross mac architecture compilation. Let’s see how can I do this in cmake.

1 Like