GH) > then define (still in GH) some instance definition (or many: case variants) > then place it according some "policy" (3d point grid and the likes). Note: Only doable with code, mind (C# in my case).
Obviously you can skip the creation part and instruct GH to deal with instance definitions already listed in the Block Manager (say: find the block named "cell666_B3" blah, blah) ... but that means that you can only use them (meaning a rather "limited" parametric approach) and not make them from scratch (meaning a true parametric approach).
But I guess that you've tried the block way in the Rhino environment already. That said I use rather solely this approach in GH and yields quite manageable object collections - I would say "real-time" response (up to 20K instances) but I use dedicated Xeon E5 1630 V3 workstations (with NVida Quadros K4200 and up for the graphic response part of the equation) so the "performance" is rather a subjective thing.
Modifications:
easily doable with GH (on instance definitions at placing time: since you need only to scale them and not vary their topology).
Anyway post a portion of the R file.…
FORE MeshMachine (rather better) or after
BTW: For a mesh with 7M points ... well... you'll need some proper CPU to deal in a reasonable amount of time (what about a Xeon E5 1630 V3?).
Alternatively find a friend who knows very well Modo ... and see first hand what the US Movie Industry is all about.…
ven if the number of panels inside each cell varies. The current solution works when the number of panels inside each cell is always two or other same numbers, but it wouldn't work if the number of panels inside frames are different in each cell. It would be perfect, if numbering of panels are automatically added correctly next to the cell number based on the number of panel division instead of feeding the fixed number.
To take an example, let's assume that the cell #80 has three panels and the #81 has two ones. In this case, three panels within the cell #80 would be numbered like 80-1, 80-2, 80-3, while two panels within the #81 would be numbered such as 81-1 and 81-2 automatically. …
exact formula is inside /lib/skybright.cal if this can help you to find the name.
{ RCSid: $Id$ } { Sky brightness function for sunny and cloudy skies.
Additional arguments required for calculation of skybright:
A1 - 1 for CIE clear, 2 for CIE overcast, 3 for uniform, 4 for CIE intermediate A2 - zenith brightness A3 - ground plane brightness A4 - normalization factor based on sun direction A5,A6,A7 - sun direction }
cosgamma = Dx*A5 + Dy*A6 + Dz*A7;
gamma = Acos(cosgamma); { angle from sun to this point in sky }
zt = Acos(A7); { angle from zenith to sun }
eta = Acos(Dz); { angle from zenith to this point in sky }
wmean(a, x, b, y) : (a*x + b*y) / (a + b);
skybr = wmean((Dz+1.01)^10, select(A1, sunnysky, cloudysky, unifsky, intersky), (Dz+1.01)^-10, A3);
sunnysky = A2 * (.91 + 10*exp(-3*gamma) + .45*cosgamma*cosgamma) * if( Dz - .01, 1.0 - exp(-.32/Dz), 1.0) / A4;
cloudysky = A2 * (1 + 2*Dz)/3;
unifsky = A2;
intersky = A2 * ( (1.35*sin(5.631-3.59*eta)+3.12)*sin(4.396-2.6*zt) + 6.37 - eta ) / 2.326 * exp(gamma*-.563*((2.629-eta)*(1.562-zt)+.812)) / A4;
…