Replication guides changed behaviour?


#1

I’m wondering if anyone can help me with this, or experienced the same? I’m trying to pair (override graphics) a nested list of model curves derived from exploded dynamo polycurves with a corresponding list of colors. I’m quite certain that I used to be able to do things like this by typing: elem<1>.OverrideColorInView(clr); However it doesn’t produce the result I’m after, they all get green… Any clues?


#2

Assuming you have 72 sets of model curves and 72 colors, I think you can avoid Replication guides


#3

yep, I tried that but doesn’t work on my part. Are you using 0.9.0? Or dailies? regardless of the case above it seems that replication guides have changed somewhat in 0.9.1 onwards that I’m not aware of? If you got any insight I would be very thankful!


#4

I used one of the more recent dailies

To obtain the same first result in 0.9.1 I had to use Repliction guides differently.

 


#5

Hi,

I told Jostein that I would have some kind of reply this weekend describing the new behavior, but I don’t yet have the specific text. I can say a little about the general behavior changes, specifically, that Replication guides are getting simplier and have better, more forgiving states by default. More to come on this, and in language that is a little less viscous, but the pithy center is :

Each replication guide level (<>) represents a nested loop level. Iterate each level, for arguments with same replication guide values, zip replication applies; otherwise cartesian replication applies.

For example: for each x, y in xs, ys // level 1, xs<1><1><1>, ys<1><2>

for each z in zs // levle 1, zs<2>

for each ix in x // level 2, xs<1><1><1>

for each iy in y // level 2, ys<1><2>

for each iix in x // level 3, xs<1><1><1>

func(iix, iy, z)

(I told you we weren’t quite ready yet! :slight_smile: )

We held close to this behavior before, but NOT QUITE everywhere and there were other exceptions that were made. There were lots of other considerations that went into it, and the above represents a simplification. The practical and much more readable outcome of these changes is that many many situations that used to require List.Combine and List.Map or special work with Replication Guides now “just work”.

For instance, many cases don’t even need Map, Combine, or special replication guides at all:

 

A big shout out to Yu Ke for all the hard work he’s doing deep inside the DesignScript engine.

Again, more information to come on these 1.0 behavioral changes this week.

 


#6

Wow, Zach, if you had seen the amount of information that just blew over my head right now… My understanding of replication guides have been on a much more pragmatic level if you will. Anyways,this is good news!