<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>digital futures &#187; 3d</title>
	<atom:link href="http://www.digitalfutures.info/tag/3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.digitalfutures.info</link>
	<description>digital futures</description>
	<lastBuildDate>Sat, 24 Apr 2010 14:06:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>digital craft/Alex Roman: Exeter</title>
		<link>http://www.digitalfutures.info/1/digital-craftalex-roman-exeter /</link>
		<comments>http://www.digitalfutures.info/1/digital-craftalex-roman-exeter /#comments</comments>
		<pubDate>Thu, 07 Jan 2010 03:41:07 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3dsmax]]></category>
		<category><![CDATA[AfterEffects]]></category>
		<category><![CDATA[Alex Roman]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[digital craft]]></category>
		<category><![CDATA[Exeter]]></category>
		<category><![CDATA[Premiere]]></category>
		<category><![CDATA[Vray]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=780</guid>
		<description><![CDATA[
Screen-cast from Alex Roman that takes you through modeling, rendering ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitalfutures.info/wp-content/uploads/2010/01/df-kahn-post001.jpg"><img class="aligncenter size-full wp-image-781" title="df-kahn-post001" src="http://www.digitalfutures.info/wp-content/uploads/2010/01/df-kahn-post001.jpg" alt="df-kahn-post001" width="550" height="309" /></a></p>
<p>Screen-cast from <a href="http://vimeo.com/user1337612">Alex Roman</a> that takes you through modeling, rendering and compositing in motion graphics (3dsmax, Vray, AfterEffects and Premiere.).  <span>&#8220;A FULL-CG animated piece that tries to illustrate architecture art across a photographic point of view where main subjects are already built spaces.&#8221; </span>I am sure we will see many great things from him to come.</p>
<p>For more information on this project please visit <a rel="nofollow" href="http://www.thirdseventh.com/" target="_blank">thirdseventh.com/</a> + his <a href="http://vimeo.com/user1337612/videos">vimeo</a> page.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="549" height="309" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8217700&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="549" height="309" src="http://vimeo.com/moogaloop.swf?clip_id=8217700&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>compositing breakdown</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="549" height="309" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8200251&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="549" height="309" src="http://vimeo.com/moogaloop.swf?clip_id=8200251&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/digital-craftalex-roman-exeter /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maya SubD Workshop I: Follow-up</title>
		<link>http://www.digitalfutures.info/1/maya-subd-workshop-i-follow-up /</link>
		<comments>http://www.digitalfutures.info/1/maya-subd-workshop-i-follow-up /#comments</comments>
		<pubDate>Thu, 01 Oct 2009 03:51:05 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Computation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[parametric]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Grasshopper]]></category>
		<category><![CDATA[pratt]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhino3d]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=451</guid>
		<description><![CDATA[
Digital Futures Workshop Series
Pratt Institute
School of Undergraduate Architecture
2009.09.28
Maya SubD Workshop ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-30-at-11.15.27-PM.png"><img class="aligncenter size-full wp-image-452" title="MSDW FU001" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-30-at-11.15.27-PM.png" alt="MSDW FU001" width="575" height="370" /></a></p>
<p><strong>Digital Futures Workshop Series</strong><br />
Pratt Institute<br />
School of Undergraduate Architecture<br />
2009.09.28<br />
<strong>Maya SubD Workshop I</strong></p>
<p><strong>Overview -</strong><br />
-Differences between Meshes and Nurbs<br />
-What subD’s are and why we use them<br />
-SubD surface Workflow(s)</p>
<p><strong>Modeling in Maya –</strong><br />
<strong>-Maya Basics</strong><br />
Configuring Interface and settings<br />
Navigating in Maya<br />
Icons, Drop down menu, hotbox, shortcut keys<br />
Tool Locations</p>
<p><strong>-Polygon mesh modeling</strong><br />
Mesh primitive creation<br />
Mesh editing &amp; modifiers</p>
<p><strong>-SubD modeling</strong><br />
SubD primitive creation<br />
Converting meshes to subD<br />
SubD editing &amp; modifiers</p>
<p><strong>Mesh modeling in Rhino3D &amp; Grasshopper-</strong></p>
<p><strong>-Rhino Mesh Basics</strong><br />
Configuring settings<br />
Mesh primitives<br />
Meshes from surfaces<br />
Mesh editing and modifiers<br />
Mesh mapping and deformers</p>
<p><strong>-Meshes in grasshopper</strong><br />
Translate a component into grasshopper<br />
Mapping a parametric mesh component to a surface.<br />
Applying Data from an Image</p>
<p><strong>-Preparing for Export</strong><br />
Unifying mesh normals<br />
Joining meshes and Welding<br />
Export selected as .OBJ</p>
<p><strong>Importing Files into Maya-</strong><br />
Importing .OBJ files<br />
Troubleshooting Geometry<br />
Exporting for rendering/3D printing</p>
<p><strong>Downloads:</strong></p>
<p><span style="color: #0000ff;">documents:</span></p>
<p><a href="http://www.box.net/shared/1yaer7kiyt" target="_blank">pdf</a></p>
<p><span style="color: #0000ff;">digital files:</span></p>
<p><a href="http://www.box.net/shared/ifaebr807h">rhino</a></p>
<p><a href="http://www.box.net/shared/ey9f0z0gde">obj</a></p>
<p><a href="http://www.box.net/shared/aflmipz13r" target="_blank">maya</a></p>
<p><a href="http://www.box.net/shared/fjtao0nru8">image maps</a></p>
<p><a href="http://www.box.net/shared/szkca338ru" target="_blank">grasshopper</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/maya-subd-workshop-i-follow-up /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fundamentals of surface modeling</title>
		<link>http://www.digitalfutures.info/1/fundamentals-of-surface-modeling /</link>
		<comments>http://www.digitalfutures.info/1/fundamentals-of-surface-modeling /#comments</comments>
		<pubDate>Mon, 21 Sep 2009 04:24:47 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Analysis]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[angential continuity]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[Curvature]]></category>
		<category><![CDATA[Curvature continuity]]></category>
		<category><![CDATA[drawing]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[Positional]]></category>
		<category><![CDATA[Positional continuity]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhino3d]]></category>
		<category><![CDATA[studies]]></category>
		<category><![CDATA[surface]]></category>
		<category><![CDATA[Tangential]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=368</guid>
		<description><![CDATA[
We will be placing tutorials &#38; base files  for ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/8ContinuityTable-no-header.jpg"><img class="aligncenter size-full wp-image-365" title="8ContinuityTable-no-header" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/8ContinuityTable-no-header.jpg" alt="8ContinuityTable-no-header" width="468" height="328" /></a></p>
<div style="text-align: left;">We will be placing tutorials &amp; base files  for all <strong>7</strong> forms in the &#8220;<em>periodic table of form</em>&#8220;<strong> </strong>(located above)<strong> </strong>up on <strong><em>df</em></strong><em>. </em>The text below is an excerpt from the <a href="http://www.core77.com/blog/featured_items/a_periodic_table_of_form_the_secret_language_of_surface_and_meaning_in_product_design_by_gray_holland_12752.asp">core 77</a> article entitled<em> &#8220;</em>A Periodic Table of Form: the secret language of surface and meaning in product design&#8221;, by Gray Holland. It serves as a wonderful conceptual bootstrapping mechanism for our <a href="http://www.digitalfutures.info/1/rhino-bootcamp-level-i-workshop%20/">Rhino Boot-Camp Workshop 001</a>.</div>
<div style="text-align: left;">-</div>
<div style="text-align: left;">
<p><em>&#8220;If there is an empirical meaning behind form then, how does it manifest across the natural and into the man-made world? Going further with this notion, let&#8217;s deconstruct the meaning of form naturally, and then distill that meaning into some simplified geometric categories technically. In order to define these categories, I will ironically employ a three-level definition of surface continuity from the engineering CAD lexicon: <strong>Positional</strong>, <strong>Tangential</strong>, and <strong>Curvature </strong>continuities.</em></p>
<p><em>It&#8217;s useful to think of these three types as steps in a ladder, with each building on the definition of the last. <strong>Positional continuity [C<sup>0</sup> or G<sup>0</sup>]</strong> refers to the hard edge created when 2 surfaces intersect. <strong>Tangential continuity [C<sup>1</sup> or G<sup>1</sup>]</strong> is the next level, defined by a circular arc creating a relatively smooth transition between these surfaces. The quality of this transition is best visualized by a straight line drawn between two circles: the line&#8217;s only point of contact with each circle is tangential. This level of continuity is often described as a basic fillet in most solid modeling systems. Although smooth, there is a characteristic &#8220;break line&#8221; of tangency denoting where the circle meets the line.</em></p>
<p><em><strong>Curvature continuity [C<sup>2</sup> or G<sup>2</sup>]</strong> is a bit trickier to describe. Technically, it occurs when the rate of curvature between 2 continuous surfaces are the same. Visually, it is when one cannot tell when one surface ends and another begins. In the CAD world this is often referred to as </em><em>class A surfacing, and is the domain of surface-based modeling software like Alias, Rhino, and Catia. The primary benefit of Curvature&#8217;s quality is the ability to control smooth reflections across multiple surfaces, generating the elegant sculptural results necessary in the automotive industry. The technical renderings below illustrate these visual qualities better than any verbal description could. Please pay attention to the subtle differences, particularly the Tangential line marking the fillet&#8217;s point of contact with its adjacent surface, and how the reflections break there as well.&#8221; </em></p>
<p><em>-<br />
</em></p>
<p><em> </em>To read the rest of the article please go to <a href="http://www.core77.com/blog/featured_items/a_periodic_table_of_form_the_secret_language_of_surface_and_meaning_in_product_design_by_gray_holland_12752.asp">core 77 </a>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://s3files.core77.com/blog/images/3surface.jpg" alt="3surface.jpg" width="468" height="351" /></p>
<p style="text-align: center;">Image via core77</p>
<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/4tech.jpg"><img class="aligncenter size-full wp-image-367" title="4tech" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/4tech.jpg" alt="4tech" width="468" height="366" /></a></p>
<p style="text-align: center;">Image via core77</p>
<p>The periodic table of from was originally posted on <a href="http://www.core77.com/blog/featured_items/a_periodic_table_of_form_the_secret_language_of_surface_and_meaning_in_product_design_by_gray_holland_12752.asp">core 77 </a>.</p>
<p>Download the full size pdf of the table here&gt;&gt;&gt; <a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/PeriodicTable-Form2.pdf" target="_blank">PeriodicTable-Form</a></p>
<p><a href="../wp-content/uploads/2009/09/PeriodicTable-Form-1.pdf"></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/fundamentals-of-surface-modeling /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grasshopper Level I workshop</title>
		<link>http://www.digitalfutures.info/1/grasshopper-level-i-workshop /</link>
		<comments>http://www.digitalfutures.info/1/grasshopper-level-i-workshop /#comments</comments>
		<pubDate>Sun, 13 Sep 2009 22:42:44 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Computation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[parametric]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Grasshopper]]></category>
		<category><![CDATA[pratt]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhino3d]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=214</guid>
		<description><![CDATA[
Description: Grasshopper Level I will serve as an introduction to ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/df-grasshopper-001.jpg"><img class="aligncenter size-full wp-image-502" title="df-grasshopper-001" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/df-grasshopper-001.jpg" alt="df-grasshopper-001" width="575" height="314" /></a></p>
<p><strong>Description:</strong> Grasshopper Level I will serve as an introduction to the parametric plugin Grasshopper for Rhino3D. Participants will be exposed to beginner/intermediate level workflows and design strategies for parametric modeling. Emphasis will be placed on data flow, visualization, and analysis techniques that will provide a robust foundation for future research and development.<br />
<strong>Location</strong>:<br />
Room HHN 308<br />
<strong>Date + Time</strong>:<br />
2009.09.14 (7-10PM)<br />
<strong>Requirements</strong>:<br />
Participants are required to bring a laptop with Rhino3D (SR6<br />
9-July-2009) and Grasshopper (v0.6.0019) preinstalled.</p>
<p>Rhino3d download:</p>
<p><a href="http://download.rhino3d.com/eval/?p=25">http://download.rhino3d.com/eval/?p=25</a></p>
<p>Grasshopper links:</p>
<ul>
<li><em><a href="http://en.wiki.mcneel.com/default.aspx/McNeel/Rhino4DotNetPlugIns.html" target="_blank">Grasshopper | Dot NET SDK</a></em></li>
<li><em><a href="http://groups.google.com/group/grasshopper3d/topics?hl=en&amp;gvc=2" target="_blank">Grasshopper | Forum</a></em></li>
<li><em><a href="http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryPluginMainPage.html" target="_blank">Grasshopper | MAIN</a></em></li>
<li><em><a href="http://en.wiki.mcneel.com/default.aspx/McNeel/GrassHopperGallery.html" target="_blank">Grasshopper | Scripting Tutorials</a></em></li>
<li><em><a href="http://www.liftarchitects.com/journal/2009/3/25/the-grasshopper-primer-second-edition.html" target="_blank">LIFT | Grasshopper Primer</a></em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/grasshopper-level-i-workshop /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rhino3d Image Reader Script</title>
		<link>http://www.digitalfutures.info/1/rhino3d-image-reader-script /</link>
		<comments>http://www.digitalfutures.info/1/rhino3d-image-reader-script /#comments</comments>
		<pubDate>Thu, 10 Sep 2009 00:53:48 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Computation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[David Mans]]></category>
		<category><![CDATA[rhino]]></category>
		<category><![CDATA[rhino3d]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=190</guid>
		<description><![CDATA[
Image reader tool for rhino3d from David Mans @ neoarchaic


]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.13.54-PM.png"><img class="aligncenter size-full wp-image-188" title="Screen shot 2009-09-09 at 8.13.54 PM" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.13.54-PM.png" alt="Screen shot 2009-09-09 at 8.13.54 PM" /></a></p>
<p>Image reader tool for rhino3d from David Mans @ <a href="http://neoarchaic.net/archives/649">neoarchaic</a></p>
<div><div class="wp-synhighlighter-expanded"><a name="#codesyntax1"></a><a style="wp-synhighlighter-title" href="#codesyntax1"  onClick="javascript:wpContainer=this.parentNode.parentNode.getElementsByTagName('div')[1];	if(wpContainer.style.display=='none') {wpContainer.style.display=''; this.parentNode.className='wp-synhighlighter-expanded'} 	else {wpContainer.style.display='none'; this.parentNode.className='wp-synhighlighter-collapsed'}">Code</a></div><div class="wp-synhighlighter-inner"><pre class="vb" style="font-family:monospace;"><ol start="0"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Option</span> <span style="color: #000080;">Explicit</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Script written by &lt;David Mans&gt;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'adapted from work by Che Wei Wang</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'www.cwwang.com</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Script copyrighted by &lt;NeoArchaic Studio&gt;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Script version Tuesday, March 18, 2008 7:40:18 AM</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Main()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Sub</span> Main()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> rows, cols, tol, height,unit</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> arrItems, arrValues, arrResults</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrItems = array(&quot;columns&quot;,&quot;rows&quot;,&quot;tolerance&quot;,&quot;maximum_height&quot;,&quot;unit_width&quot;)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrValues = array(10,10,0,10,10)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrResults = Rhino.PropertyListBox (arrItems, arrValues ,,&quot;Image Parameters&quot;)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">CDbl</span>(arrResults(0))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">CDbl</span>(arrResults(1))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CDbl</span>(arrResults(2)) &gt; 1 <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tol = 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tol = <span style="color: #000080;">CDbl</span>(arrResults(2))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">height = <span style="color: #000080;">CDbl</span>(arrResults(3))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unit = <span style="color: #000080;">CDbl</span>(arrResults(4))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> arrImg, arrExist, strInput</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrImg = arrImageSample(cols,rows)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">' image outputs (0)red(1)green(2)blue(3)alpha(4)hue(5)saturation(6)luminance</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">strInput = Rhino.GetString(&quot;Select Image Reading Method&quot;,&quot;Normalized_Pannel&quot;,array(&quot;Banding&quot;,&quot;Segments&quot;,&quot;Cylinders&quot;,&quot;Horizontal_Plates&quot;,&quot;Faceted&quot;,&quot;Normalized_Pannel&quot;,&quot;Surface&quot;,&quot;PointCloud&quot;))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> isNull(strInput) <span style="color: #000080;">Then</span> <span style="color: #000080;">Exit</span> <span style="color: #000080;">Sub</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.EnableRedraw(<span style="color: #000080;">False</span>)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Banding&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = banding(arrImg(6),tol,height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Segments&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = segments(arrImg(6),tol,height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Cylinders&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = cylinders(arrImg(6),tol,height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Horizontal_Plates&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = plates(arrImg(6),tol,height,unit)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Faceted&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = loftPannels(arrImg(6),tol,height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Normalized_Pannel&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = uniformPannels(arrImg(6),tol,height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;Surface&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = surface(arrImg(6),height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">CStr</span>(strInput) = &quot;PointCloud&quot; <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrExist = cloud(arrImg(0),arrImg(1),arrImg(2),arrImg(6),height,unit)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.EnableRedraw(<span style="color: #000080;">True</span>)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Sub</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> arrImageSample(cols, rows)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrImageSample = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Instantiate the RhPicture Object</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> RhPicture : <span style="color: #000080;">Set</span> RhPicture = Rhino.GetPlugInObject(&quot;RhPicture&quot;)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> IsNull(RhPicture) <span style="color: #000080;">Then</span> <span style="color: #000080;">Exit</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Load an arbitrary image</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> <span style="color: #000080;">Not</span> RhPicture.LoadImage() <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.<span style="color: #000080;">Print</span>(&quot;Image <span style="color: #000080;">not</span> loaded&quot;)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Exit</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Get the width and height</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> w : w = RhPicture.Width()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> h : h = RhPicture.Height()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> IsNull(w) <span style="color: #000080;">Or</span> IsNull(h) <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.<span style="color: #000080;">Print</span>(&quot;No valid image data&quot;)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Exit</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> x, y, i,j</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> r, g, b, a, hu, s, u</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> r(rows), g(rows), b(rows), a(rows), hu(rows), s(rows), u(rows)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> rValSet, gValSet, bValSet, aValSet, hValSet, sValSet, uValSet</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> rValSet(cols), gValSet(cols), bValSet(cols), aValSet(cols), hValSet(cols), sValSet(cols), uValSet(cols)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">'Sample Image returning all values between zero and one</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">x = int(w/cols)*i</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">y = int(h/rows)*j</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> x&gt;w <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">x = w</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> y&gt;h <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">y = h</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r(j) = RhPicture.Red(x,y)/255</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">g(j) = RhPicture.Green(x,y)/255</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">b(j) = RhPicture.Blue(x,y)/255</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">a(j) = RhPicture.Alpha(x,y)/255</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hu(j) = RhPicture.Hue(x,y)/360</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">s(j) = RhPicture.Saturation(x,y)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">u(j) = RhPicture.Luminance(x,y)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rValSet(i) = r</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gValSet(i) = g</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bValSet(i) = b</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">aValSet(i) = a</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hValSet(i) = hu</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sValSet(i) = s</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">uValSet(i) = u</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Set</span> RhPicture = <span style="color: #000080;">Nothing</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">' image outputs (0)red(1)green(2)blue(3)alpha(4)hue(5)saturation(6)luminance</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrImageSample = array(rValSet,gValSet,bValSet,aValSet,hValSet,sValSet,uValSet)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> plates(arrInput,min,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">plates = Null</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,r,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane,plate()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> plate(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mvPlane = Rhino.MovePlane(Rhino.WorldXYPlane(),array(spacing*i,spacing*j,max*arrInput(i)(j)))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> plate(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">plate(r) = Rhino.AddPlaneSurface(mvPlane, spacing, spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r =r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">plates = plate</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> cylinders(arrInput,min,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cylinders = Null</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,r,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane,plate()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> plate(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mvPlane = Rhino.MovePlane(Rhino.WorldXYPlane(),array(spacing*i,spacing*j,0))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> plate(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">plate(r) = Rhino.AddCylinder(mvPlane(0), array(mvPlane(0)(0),mvPlane(0)(1),mvPlane(0)(2)+max*arrInput(i)(j)), spacing*.5)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r =r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cylinders = plate</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> banding(arrInput,min,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">banding = Null</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,r,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane, pSet(),band()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> band(cols)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mvPlane = Rhino.MovePlane(Rhino.WorldXYPlane(),array(spacing*i,spacing*j,max*arrInput(i)(j)))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r) = mvPlane(0)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r =r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">band(i) = Rhino.AddInterpCurve(pSet)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">banding = band</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> surface(arrInput,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">surface = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,r,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane, pSet()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mvPlane = Rhino.MovePlane(Rhino.WorldXYPlane(),array(spacing*i,spacing*j,max*arrInput(i)(j)))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r) = mvPlane(0)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r =r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.AddSrfPtGrid(array(cols,rows),pSet,array(3,3))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">surface = array()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> segments(arrInput,min,max,spacing)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">segments = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,k,r,s,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane, pSet(),band()</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> trFa(),arrTrFa()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> band(cols),trFa(rows),arrTrFa(cols)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">True</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r) = array(i*spacing,j*spacing,max*arrInput(i)(j))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">False</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrTrFa(i) = trFa</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> ptGroup(),ptSet(),arrPts(),crvVal(),crvBln</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> arrPts(cols),crvVal(cols)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">s = 0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i)(0) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(1) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> ptGroup(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ptGroup(r) = array(i*spacing,0*spacing,max*arrInput(i)(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 1 <span style="color: #000080;">To</span> rows-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j+1) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j-1) = <span style="color: #000080;">False</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> ptGroup(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ptGroup(r) = array(i*spacing,j*spacing,max*arrInput(i)(j))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j-1) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> ptGroup(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ptGroup(r) = array(i*spacing,j*spacing,max*arrInput(i)(j))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j+1) = <span style="color: #000080;">False</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> ptSet(s)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ptSet(s) = ptGroup</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">s = s+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> s = 0 <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">crvBln = <span style="color: #000080;">False</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">crvBln = <span style="color: #000080;">True</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrPts(i) = ptSet</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">crvVal(i) = crvBln</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> cntA,bandSet()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">s=0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> crvVal(i) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cntA = <span style="color: #000080;">uBound</span>(arrPts(i))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> cntA <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> band(r)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">band(r) = Rhino.AddCurve(arrPts(i)(j))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> bandSet(s)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bandSet(s) = band</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">s = s+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">segments = bandSet</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> uniformPannels(arrInput,min,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">uniformPannels = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,k,r,s,cols,rows</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> pSet()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> trFa(),arrTrFa()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> band(cols),trFa(rows),arrTrFa(cols)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">True</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r) = array(i*spacing,j*spacing,max*arrInput(i)(j))</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">False</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrTrFa(i) = trFa</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> tempSrf,srfPlane()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tempSrf = Rhino.AddSrfPt(array(array(-spacing*.5,-spacing*.5,0),array(-spacing*.5,spacing*.5,0),array(spacing*.5,spacing*.5,0),array(spacing*.5,-spacing*.5,0)))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 1 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 1 <span style="color: #000080;">To</span> rows-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i-1)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j-1) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> srfPlane(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">srfPlane(r)= Rhino.OrientObject (tempSrf, array(array(0,0,0),array(1,0,0),array(0,1,0)), array(array(i*spacing,j*spacing,max*arrInput(i)(j)), array((i-1)*spacing,j*spacing,max*arrInput(i-1)(j)), array(i*spacing,(j-1)*spacing,max*arrInput(i)(j-1))), 1)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.DeleteObject(tempSrf)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">uniformPannels = srfPlane</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> loftPannels(arrInput,min,max,spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">loftPannels = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,k,r,s,cols,rows</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInput)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInput(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> pSet()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> trFa(),arrTrFa()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> band(cols),trFa(rows),arrTrFa(cols)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrInput(i)(j) &gt; min <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">True</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r) = array(i*spacing,j*spacing,max*arrInput(i)(j))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trFa(j) = <span style="color: #000080;">False</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrTrFa(i) = trFa</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> srfOutput()</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 1 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 1 <span style="color: #000080;">To</span> rows-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrTrFa(i-1)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i-1)(j-1) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j) = <span style="color: #000080;">True</span> <span style="color: #000080;">And</span> arrTrFa(i)(j-1) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> srfOutput(r)</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">srfOutput(r) = Rhino.AddSrfPt(array(array((i-1)*spacing,j*spacing,max*arrInput(i-1)(j)),array((i-1)*spacing,(j-1)*spacing,max*arrInput(i-1)(j-1)),array(i*spacing,(j-1)*spacing,max*arrInput(i)(j-1)),array(i*spacing,j*spacing,max*arrInput(i)(j))))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r=r+1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">loftPannels = srfOutput</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Function</span> cloud(arrInputX,arrInputY,arrInputZ,arrInputR,spacing,rad)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cloud = Null</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> i,j,r,cols,rows</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cols = <span style="color: #000080;">uBound</span>(arrInputX)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rows = <span style="color: #000080;">uBound</span>(arrInputX(0))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Dim</span> mvPlane, arrbln, pSet()</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">arrbln = Rhino.GetBoolean(&quot;Type of Data Representation&quot;,array(&quot;Representation&quot;,&quot;points&quot;,&quot;spheres&quot;),array(<span style="color: #000080;">False</span>))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r = 0</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">To</span> cols-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">For</span> j = 0 <span style="color: #000080;">To</span> rows-1 <span style="color: #000080;">Step</span> 1</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">ReDim</span> <span style="color: #000080;">Preserve</span> pSet(r)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pSet(r)    = array(arrInputX(i)(j)*spacing,arrInputY(i)(j)*spacing,arrInputZ(i)(j)*spacing)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">If</span> arrbln(0) = <span style="color: #000080;">True</span> <span style="color: #000080;">Then</span></div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.addsphere(pSet(r),arrInputR(i)(j)*rad)</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Else</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Call</span> Rhino.AddPoint(pSet(r))</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">If</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">r =r+1</div></li><li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">Next</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cloud = pSet</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></li></ol></pre></div></div></p>
<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.42.13-PM.png"><img class="aligncenter size-full wp-image-194" title="Screen shot 2009-09-09 at 8.42.13 PM" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.42.13-PM.png" alt="Screen shot 2009-09-09 at 8.42.13 PM" /></a></p>
<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.13.43-PM.png"><img class="aligncenter size-full wp-image-189" title="Screen shot 2009-09-09 at 8.13.43 PM" src="http://www.digitalfutures.info/wp-content/uploads/2009/09/Screen-shot-2009-09-09-at-8.13.43-PM.png" alt="Screen shot 2009-09-09 at 8.13.43 PM" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/rhino3d-image-reader-script /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideo labs: 3D immersion technology</title>
		<link>http://www.digitalfutures.info/1/ideo-labs-3d-immersion-technology /</link>
		<comments>http://www.digitalfutures.info/1/ideo-labs-3d-immersion-technology /#comments</comments>
		<pubDate>Sun, 23 Aug 2009 06:18:04 +0000</pubDate>
		<dc:creator>RSarrach</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[applied]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[simulating]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[ideo labs]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[stereoscopic]]></category>

		<guid isPermaLink="false">http://www.digitalfutures.info/?p=64</guid>
		<description><![CDATA[
A simple, featherweight headset, a 10&#8242; x 10&#8242; x 10&#8242; ...]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="430" height="242" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4177769&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="430" height="242" src="http://vimeo.com/moogaloop.swf?clip_id=4177769&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>A simple, featherweight headset, a 10&#8242; x 10&#8242; x 10&#8242; white room, and $600,000 worth of projector and computer equipment, combined with the smarts of the folks at Eon Reality, results in one insanely real experience.<span id="more-64"></span></p>
<p><a href="http://www.digitalfutures.info/wp-content/uploads/2009/08/Picture-3.png"><img class="aligncenter size-full wp-image-68" title="Picture 3" src="http://www.digitalfutures.info/wp-content/uploads/2009/08/Picture-3.png" alt="Picture 3" width="499" height="296" /></a></p>
<p>The cave (or iCube, as we’re told they would prefer we call it) is comprised of three white walls and a floor, all about 10′ x 10′ in size. Onto each surface is projected a high-resolution, stereoscopic image. A viewer stands in the room wearing polarized 3D glasses — like you might use in a 3D movie — with small markers that stick out a bit from the frames.</p>
<p>The markers are illuminated by IR LED floodlights located on the perimeter of the room, and IR-sensitive cameras use those positions to determine the precise location of each eye within the room. From those positions, stereo images for each projector are calculated and rendered on the fly, and the result is absolutely amazing.</p>
<p><em>Text description from ideo labs +</em> for more info visit <a rel="nofollow" href="http://labs.ideo.com/" target="_blank">labs.ideo.com</a></p>
<p>originally posted on <a href="http://www.core.form-ula.com/2009/04/25/ideo-labs-3d-immersion-technology/" target="_blank">core.form-ula</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalfutures.info/1/ideo-labs-3d-immersion-technology /feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
