After playing with the PanelingTools plug-in for Rhino4, I noticed its great power for mapping components on a surface efficiently. The one restraint that it has is its inability to map multiple components through conditional statements. The great thing about PanelingTools is that it allows you to access its syntax tree in RhinoScript. After gaining access to its mapping/ordering technique, I wrote a script to populate multiple surfaces with multiple components/panels. The script chooses which component is more appropriate by analyzing a point, surface, or light displacement map. This allows for performance based populations and surface mimicking populations.
Inspired by SJET and theverymany.net ‘s Tesselion.
Utilizing Rhino + PanelingTools + RhinoScript, four base components were modeled and tagged into the script according to their porosity. A “driver surface” ( that could be a height field of a heat dissipation map of the target surface) dictates which component to populate depending on the zed of the corresponding grid point of surface. Further exploration and development is coming.
One thing that should be understood is that this experiment does not clearly match the level of complexity achieved by SJET and theverymany.net!! The surface I used to populate was not a rulled surface nor a faceted surface; therefore, the individual panels are not planar as in the Tesselion. Although it is a nice feature of PanelingTools to “morph” the components to the surface grids, it is not desired for fabricating out of planar materials economically! Script will be posted after cleanup.
Very quick exploration:



3 comments
Comments feed for this article
February 23, 2009 at 4:00 pm
Henning
Hi Michael!
Great studies! I would really like to know how you were able to distribute different components using Paneling Tools, we are struggling with the same here!
February 23, 2009 at 4:10 pm
michaelgmccune
Thanks Henning,
I basically isolated paneling tools to just panel 4 grid points at a time using rhino script. I then had conditional statements choosing which component was appropriate.
Pseudo code:
get to surfaces
get x# components
generate point grid on both surfaces
run through the grid four points at a time
conditional statements:
option 1: get z coordinate of centroid
option 2: perform curvature analysis
option 3: get coordinating point on a driver surface
panel appropriate component
April 7, 2009 at 5:13 am
Charles
Michael,
Was wondering if you’ve ever posted this script up anywhere. Would be curious to test it. I’m a grad student right working on a project that involves skin exploration and this script would be pretty helpful
thanks!