Opennest: Nesting with Basepoint

Hi there,
@Petras_Vestartas, I have a kind of special situation when using opennest…

I have to process a lot of panels panels that have a certain pattern on them.
First the panels are determined with their “basepoint” in relation to the pattern and are organized properly in blocks.

Now when I wanna nest them I definitely have to respect this point.
In the settings in opennest I use 0 rotations to prevent roatations.
But is there a way to respect the location in relation to the “baseline/basepoint” as well?
I fear it is not possible right? If not, could you think of any workaround?

Thanks,
T.

Hi,

No, not really.

Maybe try box packing. But it will also first sort elements based on area.

You can also try to write a custom script:)

@Petras_Vestartas
The scripting part… You mean to access OpenNests code?

Or (more likely) to add enough tolerance/space to the nested parts, so that later, once the nesting is done I can align the blocks Y-coordinate back to a specfici raster…

is your pattern repetition relevant in 1D (for instance along axis X) or 2D (like X and Y) ?

because this maybe can be thought more like sorting on a grid, where the grid cell-size is defined by the pattern-unit bounding rectangle

@inno
It is relevant in 1D (Y-axis to be more specific).

You mean it would be sensible to add a contour to the geometry that saves the space for the “offset”, so it’ll always be placed correctly on the grid, right?

thinking of a method that “might” work with standard nesting, the only way that I can imagine is to extend the theoretical rectangular_outline of each shape -for instance- to the bottom, until each shape includes the length of a full extra pattern_phase

a sort of 1D Minkowsky that, wherever the nesting algorithm will place your “extended shape”, you will have enough play to re-orient the real outline inside of this rectangle in order to get pattern-phase-alignment

with pattern_phase I mean the length by which the pattern repeats itself again

for instance, something like this:

theres a minor drawback lol to this :smiley: for each nested part you are going to throw away a portion of sheet that is as wide as the part itself, and as tall as the pattern_phase… so I would consider this fine if and only if the pattern_phase is very small compared to the size of the shapes to cut

[edit] in practice, something like this:

  1. extend shapes vertically by pattern-phase-length

  2. nest those extended outlines instead, together with their alignment points and original shapes as attributes:

  3. pull each reference point to the closest pattern-phase-line, and move the original shapes by the same amount:

I didn’t think that it might be a shape gets pulled up, like in case of shape#0 which invades shape#5 that luckily was also pulled up… that’s something to take into account… anyways, just a dirty sketch (and a lot of waste…)

Nesting_with_1Dimensional_phase_dirty_sketch.gh (34.0 KB)