Weave and compound transformations & data trees

Dear Grasshopper! I have tried to make a script that takes a stack of paper and lays them out page by page 1-250.

The order of the stack is important as the stack gets smaller from the top to the bottom.

In the script, it looks like that order gets messed up instead of going from 1 directly to 250.

I’m confused if the problem is how I am orienting geometry or if it is a data tree problem?

Can anyone advise me on how to properly array 250 items without messing up the order ?

Attached in pagePrint 2 - it works as crvs without hole punches

in pagePrint 3 I turned the items into surfaces (trimmed with hole punch) so that I wouldn’t have to orient the curves as groups (I thought it would be easier) but it looks like the order is messed up (maybe it is because I had to produce planar surfaces instead of existing curve geometry?)

page Print2.gh (38.1 KB)
page Print3.gh (38.5 KB)



It looks like your geometry is not internalized?

Why are you using Compound transformations?

How far is this from what you want?

pages_2021_Jul31a.gh (9.1 KB)

Or are you asking about “nesting”, laying the pages out side by side instead of stacked?

P.S. With punched holes (white group):

pages_2021_Jul31b.gh (20.1 KB)

1 Like

hi Joseph! I think this is the method that produced the ‘stack of paper’ geometry. Thisrhino file should link the geometry to the initial scripts I uploaded. I tried to array the stack in the xy coordinates, to unstack each sheet of geometry across the x, or y axis.

07.29.21_LaserCut.3dm (12.1 MB)
page Print4.gh (1.8 MB)

Thank you so much for your help - the definition you wrote to produce that arrayed stack is a cleaner version of the one that was made to produce it initially as well :slight_smile:

precisely! I’m going to give it a try first I might be able to figure it out thanks to your help with the script you provided!

And yet you didn’t mention that? (or didn’t use the common term for it, “nesting”)
I can’t open your R7 .3dm file in R6. Good luck.

P.S. The cyan group does a simplistic linear layout, very far from true nesting which is an iterative process that gets complex if you want to minimize waste.

pages_2021_Jul31c.gh (26.2 KB)

02.08.21_TextDot_Organization.gh (11.4 KB)


I was never able to figure out the issue after remaking the geometry so that it is native to gh instead of being input, as the numbers would never consecutively be nested from beginning to end.

Maybe a simple example to start with, if I were making a text dot script to just number a set of 100 or so crvs, why is it that at 75 it jumps to 101 and mixes the sequence up?

I must me fundamentally missing something regarding trees?

How might I clean the list so I can select the 100 crvs and have the dots created from top to bottom of list?

this just depends on the order in which your curves are internalized (read “clicked”) inside the original “curve” parameter

as your curves are all aligned along the Y axis, one simple method to re-order them could be to take on point for each of them, and just reverse-sort them by Y value, like:

02.08.21_TextDot_Organization_Re.gh (11.9 KB)

(I also strongly suggest to use serie to create series of numbers, instead of the double range)

1 Like

@inno yes!!! This is it. Thank you for showing me this method