Organizing slices for laser cutting

I am attempting to do slicing in one direction for a curvy blob object. I’m using a plugin called OpenNest 1.3. I have never done front back laser engraving using lines exported from Rhino.

Let’s say there are 5 slices as of now.
We can call them A, B, C, D and E. A is at the bottom, B is at its top, then C, so on and so forth.
I want my output curve outlines for laser cutting in the following way.
The outer curve of ‘A’ should be laser cut, the profile curve B should be engraved within the top surface of piece ‘A’ if A is larger than B.
If A is smaller than B, then A curve should be engraved in the bottom of piece ‘B’.
The outer curve of ‘B’ should be laser cut, the profile curve C should be engraved within the top surface of piece ‘B’.
This should continue to happen for all the pieces.
Now the challenges are as follows.

  1. The engraved lines should be in a separate layer so that the shopkeeper can give command accordingly, the cut lines should be in a separate layer. This is manageable using the bake command, provided the final engraved and cut lines outputs on the extreme right in the Grasshopper script are separate from each other.

  2. The engraving will be done on both size of the large pieces. Hence two sets of drawings will be generated with name-tags. One set for front engraving, one set for back engraving.

How can I do this? I tried the ‘transform component’ but could not figure out the process.


Are you engraving the slices so you can line them up correctly during assembly?

If so, I would look at using dowels instead… you could cut your blob with 3 cylinders so when you create the contours there will be 3 holes on each profile. put dowels in these holes to line the slices up.

(If you don’t want dowel holes in the top slice then cut it upside down and engrave points to drill the dowel holes.)

This way you only have to laser cut each piece once without engraving.

If you want to engrave the top and bottom of each piece, how will you align them on the laser cutter when you turn them over to engrave the bottom?

Your manufacturing process would be…

  1. Engrave one side
  2. turn the whole sheet over and align it somehow
  3. engrave then cut the second side.

If you use dowels…

  1. Laser cut the pieces with dowel holes.

If you definitely want engraved profiles on the top and bottom of each slice then you probably have to look at using ShiftList component and Merge…

Take List of contours, ShiftList +1 and Merge with original list of contours to give you Contour and Previous Contour

List of Contours, ShiftList -1 and Merge with original list of contours to give you Contour and Next Contour.

As @martynjhogg suggested, using dowel joints would be much better for getting the alignment correct.

However if you really want to align by engraving:
I removed the blob from the script as it was taking too much space for me to upload.

1 Like

Thanks for this!

Yes. You’re right. I just made a script that uses dowels. Everything goes fine till the trouble that comes with open nest plugin.

I get the folllowing error.

1. System.NullReferenceException: Object reference not set to an instance of an object.
   at OpenNest.OpenNestFullComponentCleanUp.SolveInstance(IGH_DataAccess DA)

What do I do to resolve it?


So the open nest doesn’t like the grouping of the geometry
what you want to do is use the transform component and take the transformation from open nest and apply it to the circles.
Same for the text location.

Please do not send a file with bifocals in it. If the person does not have bifocals on their pc and delete a component, the text bubble still remains and is permanent.


Note that the text bubble is just a group name and you can get rid of it by ungrouping…
But, yes, please don’t send a file with bifocals in it.

Thanks a lot for this script. You’re a lifesaver!!. I wonder why Open Nest development has stopped.

Okay. My sincere apologies for doing so. I will be more careful in future and definitely delete bifocals while posting the script. Inconvenience caused is regretted.