<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1165521512258457120</id><updated>2011-11-14T01:44:16.634+01:00</updated><category term='Grasshopper'/><category term='Beginner_level'/><category term='texture'/><category term='tensegrity'/><category term='intro'/><category term='self learning'/><category term='Paneling Tools'/><category term='tesselation'/><category term='fun'/><category term='Easter'/><category term='Tips and Tricks'/><category term='honeycumb'/><category term='RhinoScript'/><category term='evolution'/><category term='hexagons'/><title type='text'>diG.T.A</title><subtitle type='html'>diGital Generative Tools for Architecture. A playgorund for the seminar held at the University of Bologna about Rhinoscript &amp;amp; Grasshopper.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-4739379839990913712</id><published>2009-11-02T20:04:00.007+01:00</published><updated>2009-11-05T01:17:45.105+01:00</updated><title type='text'>L-system [test]</title><content type='html'>&lt;span style="font-size:100%;"&gt;Working on the same principles of my last post I realized a new script based on self-learning system.&lt;br /&gt;The concept is easy. A simple L-system start to grown randomly from a seed, and after every generation it try to touch other L-systems, that are growing from different one seed.&lt;br /&gt;&lt;br /&gt;[edit]&lt;br /&gt;I forgot to explain some aspects. In this script singles L-system recive a feedback from others, because configuration of every generation depend on configuration of previous one.&lt;br /&gt;Unlike my previous script there isn't only one final perfect configuration, but infinity ones... because every random event of system "A" affects other systems in next generation, thus itself in following one.&lt;br /&gt;[/edit]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yzerz_nPP8I/Su8v-jHQ8sI/AAAAAAAAAB8/3F-7f9f91Tg/s1600-h/L-System_013_scheme.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 635px; height: 211px;" src="http://4.bp.blogspot.com/_yzerz_nPP8I/Su8v-jHQ8sI/AAAAAAAAAB8/3F-7f9f91Tg/s320/L-System_013_scheme.png" alt="" id="BLOGGER_PHOTO_ID_5399587229864620738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Option Explicit&lt;br /&gt;'      Script written by Alessandro Zomparelli&lt;br /&gt;'          alessandro.zomparelli@gmail.com&lt;br /&gt;'          http://alessandrozompa.altervista.org/&lt;br /&gt;'      Script version domenica 1 novembre 2009 14.40.18&lt;br /&gt;&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt; 'picking seed points&lt;br /&gt; Dim arrSeed, arrSub&lt;br /&gt; ReDim arrSeed(0)&lt;br /&gt; arrSeed(0)=Rhino.GetObjects("pick seed points",1)&lt;br /&gt;&lt;br /&gt; 'defining number of branch&lt;br /&gt; Dim dblBrN&lt;br /&gt; dblBrN=Rhino.GetInteger("number of branches",2,1)&lt;br /&gt;&lt;br /&gt; 'defining number of branch generation&lt;br /&gt; Dim dblBranch&lt;br /&gt; dblBranch=Rhino.GetInteger("number of branch generation",3,1)&lt;br /&gt; ReDim Preserve arrSeed(dblBranch)&lt;br /&gt;&lt;br /&gt; Dim arrData, dblVote, arrVote&lt;br /&gt; ReDim arrData(dblBranch), arrVote(0)&lt;br /&gt;&lt;br /&gt; 'defining number of generations and amount of mutation between following generations&lt;br /&gt; Dim dblGen, dblMut, strLine&lt;br /&gt; dblGen=Rhino.GetInteger("set number of generations",100,2,10000)&lt;br /&gt; dblMut=Rhino.GetReal("set mutation value",2,0.1,100)&lt;br /&gt;&lt;br /&gt; Call Rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt; 'starting evolution system&lt;br /&gt; Dim i,j,z,k,y,m,a&lt;br /&gt;&lt;br /&gt; Dim dblDis, arrDist, strC1, strC2&lt;br /&gt; ReDim arrDist(0)&lt;br /&gt;&lt;br /&gt; 'generation of different layers&lt;br /&gt; Dim strL1: strL1="lines"&lt;br /&gt; Call Rhino.AddLayer(strL1)&lt;br /&gt;&lt;br /&gt; 'evaluation of distance between seed points for a better L-System scale    &lt;br /&gt; dblDist=Rhino.Distance(Rhino.PointCoordinates(arrSeed(0)(0)),Rhino.PointCoordinates(arrSeed(0)(1)))&lt;br /&gt; For i=0 To ubound(arrSeed(0))&lt;br /&gt;     For j=0 To ubound(arrSeed(0))&lt;br /&gt;         If i&lt;&gt;j Then&lt;br /&gt;             If Rhino.Distance(Rhino.PointCoordinates(arrSeed(0)(i)),Rhino.PointCoordinates(arrSeed(0)(j)))&lt;dbldist then="" dbldist="Rhino.Distance(Rhino.PointCoordinates(arrSeed(0)(i)),Rhino.PointCoordinates(arrSeed(0)(j)))" end="" next="" recording="" random="" data="" first="" generation="" for="" to="" dblbranch="" redim="" if="" i="0"&gt;&lt;&gt;0 Then        &lt;br /&gt;         arrSeed(i)=arrSub&lt;br /&gt;     End If&lt;br /&gt;     arrData(i)=arrSub&lt;br /&gt;     For j=0 To ubound(arrSeed(i))&lt;br /&gt;         arrData(i)(j)=array(0,array(0,0,0),array(0,0,0),dblDis)&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; For z=0 To dblGen-1&lt;br /&gt;     Call Rhino.Print(int(z*100/(dblGen-1))&amp;amp;"%")&lt;br /&gt;     For i=1 To dblBranch        &lt;br /&gt;         'generation of branches&lt;br /&gt;         For j=0 To ubound(arrSeed(i-1))&lt;br /&gt;         &lt;br /&gt;             For y=0 To dblBrN-1&lt;br /&gt;                 'defining vector scattering direction&lt;br /&gt;                 arrData(i)(j*(dblBrN)+y)(2)=array(arrData(i)(j*(dblBrN)+y)(1)(0)+dblMut*(dblGen-z)/dblGen*(rnd-rnd),arrData(i)(j*(dblBrN)+y)(1)(1)+dblMut*(dblGen-z)/dblGen*(rnd-rnd),arrData(i)(j*(dblBrN)+y)(1)(2)+dblMut*(dblGen-z)/dblGen*(rnd-rnd))&lt;br /&gt;             &lt;br /&gt;                 'propotional scaling factor&lt;br /&gt;                 arrData(i)(j*(dblBrN)+y)(2)=Rhino.VectorUnitize(arrData(i)(j*(dblBrN)+y)(2))&lt;br /&gt;                 arrData(i)(j*(dblBrN)+y)(2)=Rhino.VectorScale(arrData(i)(j*(dblBrN)+y)(2),arrData(i)(j*(dblBrN)+y)(3)/i/3)&lt;br /&gt;                 arrSeed(i)(j*(dblBrN)+y)=Rhino.CopyObject(arrSeed(i-1)(j),arrData(i)(j*(dblBrN)+y)(2))&lt;br /&gt;             &lt;br /&gt;                 'drawing last generation&lt;br /&gt;                 If z=dblGen-1 Then&lt;br /&gt;                     strLine=Rhino.AddLine(Rhino.PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)))&lt;br /&gt;                     Call Rhino.objectlayer(strLine,strL1)&lt;br /&gt;                     If i=1 Then                        &lt;br /&gt;                         strC1=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i-1)(j)(3)/20/i)&lt;br /&gt;                     Else                        &lt;br /&gt;                         strC1=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i-1)(j)(3)/40/(i-1))&lt;br /&gt;                     End If&lt;br /&gt;                     strC2=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i)(j*(dblBrN)+y)(3)/40/i)&lt;br /&gt;                     Call Rhino.AddLoftSrf(array(strC1,strC2))&lt;br /&gt;                     If i=1 Then&lt;br /&gt;                         Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i-1)(j)(3)/20/i)&lt;br /&gt;                         'Else&lt;br /&gt;                         '    Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i-1)(j)(3)/30/(i-1))&lt;br /&gt;                     End If&lt;br /&gt;                     Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),arrData(i)(j*(dblBrN)+y)(3)/40/i)&lt;br /&gt;                     Call Rhino.DeleteObjects(array(strC1,strC2))&lt;br /&gt;                 End If&lt;br /&gt;             &lt;br /&gt;                 'for display colors of different generation&lt;br /&gt;                 'If z/10=int(z/10) Then&lt;br /&gt;                 '    strLine=Rhino.AddLine(Rhino.PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i)(j*2+y)))&lt;br /&gt;                 '    Call Rhino.ObjectColor(strLine, RGB(255-255/dblGen*z,0,255/dblGen*z))&lt;br /&gt;                 'End If&lt;br /&gt;             Next&lt;br /&gt;         Next&lt;br /&gt;     &lt;br /&gt;         'recordn data of individual branches        &lt;br /&gt;         For j=0 To ubound(arrSeed(i-1))&lt;br /&gt;             For y=0 To dblBrN-1&lt;br /&gt;                 a=-1                &lt;br /&gt;                 'defining votes for branches generated from different seeds&lt;br /&gt;                 For k=0 To ubound(arrSeed(i-1))                    &lt;br /&gt;                     If int(k/(dblBrN^(i-1)))&lt;&gt;int(j/(dblBrN^(i-1))) Then        &lt;br /&gt;                         For m=0 To dblBrN-1&lt;br /&gt;                             a=a+1&lt;br /&gt;                             ReDim Preserve arrVote(a), arrDis(a+1)&lt;br /&gt;                             'defining a vote for element efficiency&lt;br /&gt;                             arrVote(a)=(Rhino.Distance(PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i-1)(k)))-Rhino.Distance(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),Rhino.PointCoordinates(arrSeed(i-1)(k))))&lt;br /&gt;                             'recording distance from detected points&lt;br /&gt;                             arrDist(a)=Rhino.Distance(PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i-1)(k)))&lt;br /&gt;                         Next&lt;br /&gt;                     End If&lt;br /&gt;                 Next&lt;br /&gt;                 dblVote=Rhino.Max(arrVote)&lt;br /&gt;             &lt;br /&gt;                 'recording dist for nearest point&lt;br /&gt;                 For k=0 To ubound(arrVote)&lt;br /&gt;                     If arrVote(k)=dblVote Then&lt;br /&gt;                         arrDist(a+1)=arrDist(k)&lt;br /&gt;                     End If&lt;br /&gt;                 Next&lt;br /&gt;                     &lt;br /&gt;                 'recording data about the new element&lt;br /&gt;                 If dblVote&gt;arrData(i)(j*(dblBrN)+y)(0) Then&lt;br /&gt;                     arrData(i)(j*(dblBrN)+y)(0)=dblVote&lt;br /&gt;                     arrData(i)(j*(dblBrN)+y)(1)=arrData(i)(j*(dblBrN)+y)(2)&lt;br /&gt;                     arrData(i)(j*(dblBrN)+y)(3)=arrDist(a+1)&lt;br /&gt;                 End If&lt;br /&gt;             Next&lt;br /&gt;         Next&lt;br /&gt;     &lt;br /&gt;     Next&lt;br /&gt;     For i=1 To dblBranch&lt;br /&gt;         Call Rhino.DeleteObjects(arrSeed(i))&lt;br /&gt;     Next&lt;br /&gt;         &lt;br /&gt; Next&lt;br /&gt; Call Rhino.LayerVisible(strL1,False)&lt;br /&gt; Call Rhino.EnableRedraw(True)&lt;br /&gt; Call Rhino.Print("100%")&lt;br /&gt;&lt;br /&gt;End Sub&lt;/dbldist&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-4739379839990913712?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/4739379839990913712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/11/working-on-same-principles-of-my-last.html#comment-form' title='39 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/4739379839990913712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/4739379839990913712'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/11/working-on-same-principles-of-my-last.html' title='L-system [test]'/><author><name>zompa</name><uri>http://www.blogger.com/profile/02309550360705712750</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='12' height='32' src='http://2.bp.blogspot.com/_yzerz_nPP8I/ShqN69MaSUI/AAAAAAAAAAM/Swp7oTRwUhU/S220/mydeath_.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yzerz_nPP8I/Su8v-jHQ8sI/AAAAAAAAAB8/3F-7f9f91Tg/s72-c/L-System_013_scheme.png' height='72' width='72'/><thr:total>39</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-3646782935316203119</id><published>2009-10-31T17:52:00.016+01:00</published><updated>2009-10-31T23:38:14.278+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='self learning'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><title type='text'>it's evolution, baby!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daily.swarthmore.edu/static/uploads/by_date/2009/02/19/evolution.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 430px; height: 324px;" src="http://daily.swarthmore.edu/static/uploads/by_date/2009/02/19/evolution.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;span style="font-size:100%;"&gt;The purpose of this script is twofold: to study emergent systems based on simple elements, and to build a code for a self-learning system.&lt;br /&gt;&lt;br /&gt;Imagin a family of worms sorted on a path. Every worm move randomly from previous one. This worm recive a vote based on approach to the target specified.&lt;br /&gt;Coding this script I follow a very simple rule: worms that gain better vote may proliferate replacing themselves in next generations.&lt;br /&gt;Every generation manifest mutation like in Darwin's theory of evolution, and environment rules define if this mutations are good or not for species.&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yzerz_nPP8I/Sux0OihzZpI/AAAAAAAAAB0/R43-mPiLUak/s1600-h/ES_003.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 473px; height: 256px;" src="http://4.bp.blogspot.com/_yzerz_nPP8I/Sux0OihzZpI/AAAAAAAAAB0/R43-mPiLUak/s320/ES_003.png" alt="" id="BLOGGER_PHOTO_ID_5398817846445958802" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;Like human body and ant colony, later generations reduce scattering for a more accurate configuration. Studying countless generations, the family should reach the target specified.&lt;br /&gt;&lt;br /&gt;Specifying different rules for worms should be possible to study emergent systems whose behavior is not predictable from the study of individual elements, like organic complexity L-systems.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Option Explicit&lt;br /&gt;'      Script written by Alessandro Zomparelli&lt;br /&gt;'          alessandro.zomparelli@gmail.com&lt;br /&gt;'          http://alessandrozompa.altervista.org/&lt;br /&gt;'      Script version venerdì 30 ottobre 2009 16.59.03&lt;br /&gt;&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt;Dim strTarget, arrFamily, arrTarget, n&lt;br /&gt;n=Rhino.GetInteger("set number elements",20,2,100)&lt;br /&gt;&lt;br /&gt;ReDim arrFamily(n), arrTarget(2)&lt;br /&gt;arrFamily(0)=Rhino.GetObject("pick starting point")&lt;br /&gt;'check for starting point&lt;br /&gt;If Rhino.IsPoint(arrFamily(0))=False Then&lt;br /&gt;Exit Sub&lt;br /&gt;End If&lt;br /&gt;strTarget=Rhino.GetObject("pick target point")&lt;br /&gt;'check for target point&lt;br /&gt;If Rhino.IsPoint(strTarget)=False Then&lt;br /&gt;Exit Sub&lt;br /&gt;End If&lt;br /&gt;arrTarget=Rhino.PointCoordinates(strTarget)&lt;br /&gt;&lt;br /&gt;Dim dblDist&lt;br /&gt;dblDist=Rhino.Distance(Rhino.PointCoordinates(arrFamily(0)),arrTarget)&lt;br /&gt;&lt;br /&gt;'defining number of generations and amount of mutation between following generations&lt;br /&gt;Dim dblGen, dblMut&lt;br /&gt;dblGen=Rhino.GetInteger("set number of generations",100,2,1000)&lt;br /&gt;dblMut=Rhino.GetReal("set mutation value",2,0.01,100)&lt;br /&gt;&lt;br /&gt;'defining an array to collect data about different family&lt;br /&gt;Dim arrData&lt;br /&gt;ReDim arrData(n)&lt;br /&gt;&lt;br /&gt;'defining a value for better step-element of different family&lt;br /&gt;Dim dblVote&lt;br /&gt;&lt;br /&gt;'defining counters, array for data recording and an array for scattering direction&lt;br /&gt;Dim i, j, arrVect, arrVect0, arrRec&lt;br /&gt;ReDim arrVect(2), arrVect0(2), arrRec(1)&lt;br /&gt;&lt;br /&gt;'defining random data for first generation&lt;br /&gt;For j=1 To n&lt;br /&gt;arrVect=array(rnd-rnd,rnd-rnd,rnd-rnd)&lt;br /&gt;dblVote=0&lt;br /&gt;arrData(j)=array(dblVote,arrVect)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;Dim strLine&lt;br /&gt;&lt;br /&gt;'starting evolution system&lt;br /&gt;For i=0 To dblGen-1&lt;br /&gt;&lt;br /&gt;Call Rhino.EnableRedraw(False)&lt;br /&gt;'starting family growning&lt;br /&gt;For j=1 To n&lt;br /&gt; arrRec=arrData(j)&lt;br /&gt; arrVect0=arrRec(1)&lt;br /&gt; arrVect=array(arrVect0(0)+dblMut*(dblGen-i)/dblGen*(rnd-rnd),arrVect0(1)+dblMut*(dblGen-i)/dblGen*(rnd-rnd),arrVect0(2)+dblMut*(dblGen-i)/dblGen*(rnd-rnd))&lt;br /&gt; arrVect0=Rhino.VectorUnitize(arrVect)&lt;br /&gt; arrVect=Rhino.VectorScale(arrVect0,dblDist/n)&lt;br /&gt; 'generation of new element of the family&lt;br /&gt; arrFamily(j)=Rhino.CopyObject(arrFamily(j-1),arrVect)&lt;br /&gt; strLine=Rhino.AddLine(Rhino.PointCoordinates(arrFamily(j-1)),Rhino.PointCoordinates(arrFamily(j)))&lt;br /&gt; Call Rhino.ObjectColor(strLine, RGB(255-255/dblGen*i,0,255/dblGen*i))&lt;br /&gt;&lt;br /&gt; If Rhino.Distance(Rhino.PointCoordinates(arrFamily(j)),arrTarget)&lt;rhino.distance(rhino.pointcoordinates(arrfamily(j-1)),arrtarget) then="" defining="" a="" vote="" for="" efficiency="" recording="" data="" about="" the="" new="" element="" if="" dblvote="1/Rhino.Distance(Rhino.PointCoordinates(arrFamily(j)),arrTarget)"&gt;arrRec(0) Then&lt;br /&gt;         arrData(j)=array(dblVote,arrVect)&lt;br /&gt;     End If&lt;br /&gt; End If&lt;br /&gt;Next&lt;br /&gt;For j=1 To n&lt;br /&gt; Call Rhino.DeleteObject(arrFamily(j))&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;Call Rhino.EnableRedraw(True)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;End Sub&lt;/rhino.distance(rhino.pointcoordinates(arrfamily(j-1)),arrtarget)&gt;&lt;/span&gt;                                &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-3646782935316203119?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/3646782935316203119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/10/its-evolution-baby.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3646782935316203119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3646782935316203119'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/10/its-evolution-baby.html' title='it&apos;s evolution, baby!'/><author><name>zompa</name><uri>http://www.blogger.com/profile/02309550360705712750</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='12' height='32' src='http://2.bp.blogspot.com/_yzerz_nPP8I/ShqN69MaSUI/AAAAAAAAAAM/Swp7oTRwUhU/S220/mydeath_.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yzerz_nPP8I/Sux0OihzZpI/AAAAAAAAAB0/R43-mPiLUak/s72-c/ES_003.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-2833363942092607345</id><published>2009-06-12T01:56:00.006+02:00</published><updated>2009-06-12T02:12:20.100+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tesselation'/><category scheme='http://www.blogger.com/atom/ns#' term='tensegrity'/><title type='text'>tens.tesselation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SjGdTMK4UJI/AAAAAAAAAFg/rL-atp2sUmo/s1600-h/tensecomplete123.jpg"&gt;&lt;/a&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;i&gt;Here some other surface tesselation experiments, I have already posted the first one but now it is fixed (no more Rhino.command!). Anyway there is not a relevant physics accuracy in both scripts, take them just as tries&lt;/i&gt;&lt;/span&gt;&lt;i&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia;color:#0000EE;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YLv1_pGBEP8/SjGbdmGEx9I/AAAAAAAAAFY/QW-w9F1oMX0/s1600-h/tensecomplete123.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YLv1_pGBEP8/SjGaIq2nvnI/AAAAAAAAAFQ/lw4qAjb0oY0/s1600-h/tensecomplete12+copia.jpg"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SjGdTMK4UJI/AAAAAAAAAFg/rL-atp2sUmo/s1600-h/tensecomplete123.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SjGdTMK4UJI/AAAAAAAAAFg/rL-atp2sUmo/s400/tensecomplete123.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5346227185675423890" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 400px; height: 279px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YLv1_pGBEP8/SjGbdmGEx9I/AAAAAAAAAFY/QW-w9F1oMX0/s1600-h/tensecomplete123.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;' CASE 10 SURFSTARS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Sub surfstars(strsurf,upar,vpar)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;upar = upar*5&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;vpar = vpar*5&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim dblheight : dblheight = rhino.getreal("extrusion height?" ,.05)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If isnull (dblheight) Then Exit Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim attrpoint : attrpoint = rhino.getobject("point attractor",1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim arrpoint : arrpoint = rhino.PointCoordinates(attrpoint)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.enableredraw(False)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim i, j&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim uvalone(1), uvaltwo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim arrUone, arrVone&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim arrpttemp, pointtwo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim pt1, pt2, pt3, pt4, pt5, pt6, PT7, Pt8, pt5b, pt6b, pt7b, pt8b, ptc1, ptc2, pt1c, pt2c, pt3c, pt4c&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ReDim matrix (upar, vpar)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim tempt&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arruone = array (0,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrVone = array (0,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim strcell, arrct, arrptsurf, arrnorm, arrnormend,arrnormenddown, arrline, strcell2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim pt1b,pt2b,pt3b,pt4b&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If rhino.IsSurface(strsurf) Then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arruone = rhino.surfacedomain(strsurf,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrVone = rhino.surfacedomain(strsurf,1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;End If&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For i=0 To upar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For j=0 To vpar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;matrix(i,j) = arrpttemp&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim oct1, oct2, oct3, oct4, arrlinehuge, arrel1, arrel2, arrdom, midplane, midcircle1, midcircle2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim rn, crvtemp, dbldist&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial;font-size:85%;"&gt;&lt;span class="Apple-style-span"  style="font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For i = 1 To upar-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For J=0 To vpar-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt1 = matrix(i,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt2 = matrix(i+1,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt3 = matrix(i,j+1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt4 = matrix(i+1,j+1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt5 = array( (pt1(0)+pt2(0))/2,(pt1(1)+pt2(1))/2,(pt1(2)+pt2(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt6 = array( (pt2(0)+pt4(0))/2,(pt2(1)+pt4(1))/2,(pt2(2)+pt4(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt7 = array( (pt3(0)+pt4(0))/2,(pt3(1)+pt4(1))/2,(pt3(2)+pt4(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt8 = array( (pt1(0)+pt3(0))/2,(pt1(1)+pt3(1))/2,(pt1(2)+pt3(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptc1 = array( (pt5(0)+pt7(0))/2,(pt5(1)+pt7(1))/2,(pt5(2)+pt7(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptc2 = array( (pt6(0)+pt8(0))/2,(pt6(1)+pt8(1))/2,(pt6(2)+pt8(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist = rhino.Distance(ptc1,arrpoint)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist = Rhino.Log10 (dbldist*3)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If dbldist&lt;1 dbldist =""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt5b = array( pt5(0)+(ptc1(0)-pt5(0))/(dbldist),pt5(1)+(ptc1(1)-pt5(1))/(dbldist),pt5(2)+(ptc1(2)-pt5(2))/(dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt6b = array( pt6(0)+(ptc2(0)-pt6(0))/(dbldist),pt6(1)+(ptc2(1)-pt6(1))/(dbldist),pt6(2)+(ptc2(2)-pt6(2))/(dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt7b = array( pt7(0)+(ptc1(0)-pt7(0))/(dbldist),pt7(1)+(ptc1(1)-pt7(1))/(dbldist),pt7(2)+(ptc1(2)-pt7(2))/(dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt8b = array( pt8(0)+(ptc2(0)-pt8(0))/(dbldist),pt8(1)+(ptc2(1)-pt8(1))/(dbldist),pt8(2)+(ptc2(2)-pt8(2))/(dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddCurve(array(pt1,pt2,pt4,pt3,pt1),1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcell = rhino.addcurve(array(pt1,,pt5b, pt2,pt6b, pt4, pt7b,pt3,pt8b,pt1),1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrct = array( (pt4(0)+pt1(0))/2,(pt4(1)+pt1(1))/2,(pt4(2)+pt1(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnormenddown = rhino.Pointsubtract(arrct,arrnorm)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt1,arrnormend,pt5b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt5b,arrnormend,pt2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt2,arrnormend,pt6b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt6b,arrnormend,pt4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt4,arrnormend,pt7b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt7b,arrnormend,pt3))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt3,arrnormend,pt8b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt8b,arrnormend,pt1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt1,arrnormenddown,pt5b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt5b,arrnormenddown,pt2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt2,arrnormenddown,pt6b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt6b,arrnormenddown,pt4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt4,arrnormenddown,pt7b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt7b,arrnormenddown,pt3))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt3,arrnormenddown,pt8b))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;crvtemp = rhino.AddSrfPt(array(pt8b,arrnormenddown,pt1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrline = rhino.AddLine(pt1,pt2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrdom=rhino.CurveDomain(arrline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(arrline,arrdom(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle1=rhino.AddCircle(midplane,0.09)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(arrline,arrdom(1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle2=rhino.AddCircle(midplane,0.09)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrline = rhino.AddLine(pt3,pt4)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrdom=rhino.CurveDomain(arrline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(arrline,arrdom(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle1=rhino.AddCircle(midplane,0.09)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(arrline,arrdom(1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle2=rhino.AddCircle(midplane,0.09)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.deleteobject(strsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.EnableRedraw(True)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;'----- CASE 11 SURFholetens -----&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Sub SURFholetens (strsurf,upar,vpar)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim dblheight : dblheight = rhino.getreal("elements height?" ,.6)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim attrpoint : attrpoint = rhino.Getobject("attractor",1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim attrpointcoord : attrpointcoord= rhino.pointcoordinates(attrpoint)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If isnull (dblheight) Then Exit Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.enableredraw(False)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim i, j&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim uvalone(1), uvaltwo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim arrUone, arrVone&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim arrpttemp, pointtwo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim pt1, pt2, pt3, pt4, pt5, pt6, pta, ptb, ptc,ptd&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ReDim matrix (upar, vpar)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim tempt&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arruone = array (0,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrVone = array (0,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim  arrct, arrptsurf, arrnorm, arrnormend, arrline&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If rhino.IsSurface(strsurf) Then&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arruone = rhino.surfacedomain(strsurf,0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrVone = rhino.surfacedomain(strsurf,1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;End If&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For i=0 To upar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For j=0 To vpar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;matrix(i,j) = arrpttemp&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim dbldist&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim strquad1,strcentr,strquad2,strcell, midline,midcircle1,midcircle2, midplane,arrdom,ptmid&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim midp1,midpoint1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Dim midp2,midpoint2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For i = 1 To upar-2 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For J=0 To vpar-2 Step 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt1 = matrix(i,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt2 = matrix(i+1,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt3 = matrix(i+2,j+1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt4 = matrix(i+1,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt5 = matrix(i,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt6 = matrix(i-1,j+1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pta = matrix(i-1,j)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptb = matrix(i+2,j)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptc = matrix(i+2,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptd = matrix(i-1,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcell = rhino.AddCurve(array(pt6,pt1,pt2,pt3,pt4,pt5,pt6),2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strquad1 = rhino.AddCurve(array(pta,ptb,ptc,ptd,pta),1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.objectcolor(strquad1,rgb(255,255,255))'bianco&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist=rhino.Distance(arrct,attrpointcoord)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist = Rhino.Log10 (dbldist*7)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If dbldist &lt; dbldist =""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcell = rhino.scaleobject(strcell,arrct,array(0.95/dbldist,0.95/dbldist,0.95/dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrline = rhino.AddLine(arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf(array(strcell,strquad1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strquad2=rhino.copyObject(strquad1,arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcentr=rhino.copyobject(strcell,arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strquad2,strcentr))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strquad2,strquad1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strcentr,strcell))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp1 = array((ptd(0)+ptc(0))/2,(ptd(1)+ptc(1))/2,(ptd(2)+ptc(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp2 = array((pta(0)+ptb(0))/2,(pta(1)+ptb(1))/2,(pta(2)+ptb(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptmid= array((arrct(0)+arrnormend(0))/2,(arrct(1)+arrnormend(1))/2,(arrct(2)+arrnormend(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midpoint1=rhino.addpoint(midp1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midpoint2=rhino.AddPoint(midp2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.MoveObjects(array(midpoint1,midpoint2),arrct,ptmid)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp1=rhino.PointCoordinates(midpoint1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp2=rhino.PointCoordinates(midpoint2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midline = rhino.AddLine(midp1,midp2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrdom=rhino.CurveDomain(midline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(midline,arrdom(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle1=rhino.AddCircle(midplane,dblheight/6)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(midline,arrdom(1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle2=rhino.AddCircle(midplane,dblheight/6)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.DeleteObjects (array(arrline,strquad1,strcentr,strquad2,strcell,midpoint1,midpoint2,midline,midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For i = 2.5 To upar-2 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;For J=2 To vpar-2 Step 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt1 = matrix(i,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt2 = matrix(i+1,j)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt3 = matrix(i+2,j+1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt4 = matrix(i+1,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt5 = matrix(i,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pt6 = matrix(i-1,j+1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;pta = matrix(i-1,j)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptb = matrix(i+2,j)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptc = matrix(i+2,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptd = matrix(i-1,j+2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcell = rhino.AddCurve(array(pt6,pt1,pt2,pt3,pt4,pt5,pt6),2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strquad1 = rhino.AddCurve(array(pta,ptb,ptc,ptd,pta),1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.objectcolor(strquad1,rgb(255,255,255))'bianco&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist=rhino.Distance(arrct,attrpointcoord)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;dbldist = Rhino.Log10 (dbldist*7)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;If dbldist &lt; dbldist =""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcell = rhino.scaleobject(strcell,arrct,array(0.95/dbldist,0.95/dbldist,0.95/dbldist))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrline = rhino.AddLine(arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf(array(strcell,strquad1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strquad2=rhino.copyObject(strquad1,arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;strcentr=rhino.copyobject(strcell,arrct,arrnormend)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strquad2,strcentr))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strquad2,strquad1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.addloftsrf(array(strcentr,strcell))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp1 = array((ptd(0)+ptc(0))/2,(ptd(1)+ptc(1))/2,(ptd(2)+ptc(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp2 = array((pta(0)+ptb(0))/2,(pta(1)+ptb(1))/2,(pta(2)+ptb(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;ptmid= array((arrct(0)+arrnormend(0))/2,(arrct(1)+arrnormend(1))/2,(arrct(2)+arrnormend(2))/2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midpoint1=rhino.addpoint(midp1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midpoint2=rhino.AddPoint(midp2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.MoveObjects(array(midpoint1,midpoint2),arrct,ptmid)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp1=rhino.PointCoordinates(midpoint1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midp2=rhino.PointCoordinates(midpoint2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midline = rhino.AddLine(midp1,midp2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;arrdom=rhino.CurveDomain(midline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(midline,arrdom(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle1=rhino.AddCircle(midplane,dblheight/6)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midplane=rhino.CurvePerpFrame(midline,arrdom(1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;midcircle2=rhino.AddCircle(midplane,dblheight/6)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.DeleteObjects (array(arrline,strquad1,strcentr,strquad2,strcell,midpoint1,midpoint2,midline,midcircle1,midcircle2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Next &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.DeleteObject(strsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Call rhino.EnableRedraw(True)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-2833363942092607345?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/2833363942092607345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/06/tenstesselation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2833363942092607345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2833363942092607345'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/06/tenstesselation.html' title='tens.tesselation'/><author><name>Vink</name><uri>http://www.blogger.com/profile/16940668537328782292</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://3.bp.blogspot.com/_YLv1_pGBEP8/TOLKbzWDgPI/AAAAAAAAA-8/6r6xSMzmMfQ/S220/photo%2Bbw%2Blow10.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_YLv1_pGBEP8/SjGdTMK4UJI/AAAAAAAAAFg/rL-atp2sUmo/s72-c/tensecomplete123.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-4036060058954785642</id><published>2009-05-31T21:10:00.005+02:00</published><updated>2009-12-07T20:04:12.182+01:00</updated><title type='text'>[Wip] Grasshopper definition in rose curvature way</title><content type='html'>&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xk7BY_IpIG8/SiLfGyXt2OI/AAAAAAAAAHw/iFykySBMW00/s1600-h/winrend.jpg"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 197px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5342077415708285154" border="0" alt="" src="http://1.bp.blogspot.com/_xk7BY_IpIG8/SiLfGyXt2OI/AAAAAAAAAHw/iFykySBMW00/s400/winrend.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;This definition create a serie of soft curves, from rose curvatures, along a base curve, related with an analisys surface on top of all&lt;br /&gt;&lt;br /&gt;I applied it to obtain a relationship between lines of force fields and the surface derivated from my ambiental analisys diagram&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img3.imageshack.us/my.php?image=wingsf.png" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_xk7BY_IpIG8/Sx1Rcu8XXXI/AAAAAAAAAJE/vsjoFh5eb4M/s1600-h/ghxxx.gif"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5412571881248611698" border="0" alt="" src="http://1.bp.blogspot.com/_xk7BY_IpIG8/Sx1Rcu8XXXI/AAAAAAAAAJE/vsjoFh5eb4M/s400/ghxxx.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;(img updated)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-4036060058954785642?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/4036060058954785642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/wip-grasshopper-definition-in-rose.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/4036060058954785642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/4036060058954785642'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/wip-grasshopper-definition-in-rose.html' title='[Wip] Grasshopper definition in rose curvature way'/><author><name>VitrArtiV</name><uri>http://www.blogger.com/profile/13427030328422018699</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_xk7BY_IpIG8/SO9fan7FWeI/AAAAAAAAACI/92xTc3zy724/S220/eye001bn.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xk7BY_IpIG8/SiLfGyXt2OI/AAAAAAAAAHw/iFykySBMW00/s72-c/winrend.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-5563962682344284857</id><published>2009-05-31T20:17:00.014+02:00</published><updated>2009-06-12T02:07:51.268+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tesselation'/><category scheme='http://www.blogger.com/atom/ns#' term='tensegrity'/><title type='text'>tensegrity - surfacex10</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SiPQfPk2fcI/AAAAAAAAAFI/-5JElXzhigA/s1600-h/tensegrity2.jpg"&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SiLKnHZ7veI/AAAAAAAAAEo/3e7-Zyv2_tg/s1600-h/tensegrity+experiments+copia.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SiLKnHZ7veI/AAAAAAAAAEo/3e7-Zyv2_tg/s400/tensegrity+experiments+copia.jpg" alt="" id="BLOGGER_PHOTO_ID_5342054881366359522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;While I am studying tensegrity structure for my thesis (&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Tensegrity"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://en.wikipedia.org/wiki/Tensegrity&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;), and building weird models like the one up here, I have written a simple script you can implement in my last post collection (just adding another "case" to the nine alredy there, so they are ten now!).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The scripts takes a surface and tesselates it with x-elements (I consider these as tensioned elements) and pipe elements (compressed ones). X-elements are scaled in proximity to an attractor point. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;It is very simple so here it is&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SiPQfPk2fcI/AAAAAAAAAFI/-5JElXzhigA/s1600-h/tensegrity2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SiPQfPk2fcI/AAAAAAAAAFI/-5JElXzhigA/s400/tensegrity2.jpg" alt="" id="BLOGGER_PHOTO_ID_5342342818167160258" style="margin: 0px 10px 10px 0px; float: left; cursor: pointer; width: 400px; height: 272px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; CASE 10 SURFSTARS&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;Sub surfstars(strsurf,upar,vpar)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; upar = upar*5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; vpar = vpar*5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim dblheight : dblheight = rhino.getreal("extrusion height?" ,.05)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; If isnull (dblheight) Then Exit Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim attrpoint : attrpoint = rhino.getobject("point attractor",1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim arrpoint : arrpoint = rhino.PointCoordinates(attrpoint)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Call rhino.enableredraw(False)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim i, j&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim uvalone(1), uvaltwo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim arrUone, arrVone&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim arrpttemp, pointtwo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim pt1, pt2, pt3, pt4, pt5, pt6, PT7, Pt8, pt5b, pt6b, pt7b, pt8b, ptc1, ptc2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; ReDim matrix (upar, vpar)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim tempt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; arruone = array (0,0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; arrVone = array (0,0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim strcell, arrct, arrptsurf, arrnorm, arrnormend,arrnormenddown, arrline, strcell2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; If rhino.IsSurface(strsurf) Then&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  arruone = rhino.surfacedomain(strsurf,0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  arrVone = rhino.surfacedomain(strsurf,1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; End If&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; For i=0 To upar&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  For j=0 To vpar&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   matrix(i,j) = arrpttemp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim oct1, oct2, oct3, oct4, arrlinehuge, arrel1, arrel2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Dim rn, crvtemp, dbldist&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; For i = 1 To upar-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  For J=0 To vpar-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt1 = matrix(i,j)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt2 = matrix(i+1,j)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt3 = matrix(i,j+1) &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt4 = matrix(i+1,j+1) &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt5 = array( (pt1(0)+pt2(0))/2,(pt1(1)+pt2(1))/2,(pt1(2)+pt2(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt6 = array( (pt2(0)+pt4(0))/2,(pt2(1)+pt4(1))/2,(pt2(2)+pt4(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt7 = array( (pt3(0)+pt4(0))/2,(pt3(1)+pt4(1))/2,(pt3(2)+pt4(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt8 = array( (pt1(0)+pt3(0))/2,(pt1(1)+pt3(1))/2,(pt1(2)+pt3(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   ptc1 = array( (pt5(0)+pt7(0))/2,(pt5(1)+pt7(1))/2,(pt5(2)+pt7(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   ptc2 = array( (pt6(0)+pt8(0))/2,(pt6(1)+pt8(1))/2,(pt6(2)+pt8(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   dbldist = rhino.Distance(ptc1,arrpoint)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   dbldist = Rhino.Log10 (dbldist*7)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   If dbldist&lt;1.1 dbldist=""&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt5b = array( pt5(0)+(ptc1(0)-pt5(0))/(dbldist),pt5(1)+(ptc1(1)-pt5(1))/(dbldist),pt5(2)+(ptc1(2)-pt5(2))/(dbldist))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt6b = array( pt6(0)+(ptc2(0)-pt6(0))/(dbldist),pt6(1)+(ptc2(1)-pt6(1))/(dbldist),pt6(2)+(ptc2(2)-pt6(2))/(dbldist))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt7b = array( pt7(0)+(ptc1(0)-pt7(0))/(dbldist),pt7(1)+(ptc1(1)-pt7(1))/(dbldist),pt7(2)+(ptc1(2)-pt7(2))/(dbldist))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   pt8b = array( pt8(0)+(ptc2(0)-pt8(0))/(dbldist),pt8(1)+(ptc2(1)-pt8(1))/(dbldist),pt8(2)+(ptc2(2)-pt8(2))/(dbldist))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   Call rhino.AddCurve(array(pt1,pt2,pt4,pt3,pt1),1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   strcell = rhino.addcurve(array(pt1,,pt5b, pt2,pt6b, pt4, pt7b,pt3,pt8b,pt1),1) &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrct = array( (pt4(0)+pt1(0))/2,(pt4(1)+pt1(1))/2,(pt4(2)+pt1(2))/2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrnormenddown = rhino.Pointsubtract(arrct,arrnorm)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt1,arrnormend,pt5b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt5b,arrnormend,pt2))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt2,arrnormend,pt6b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt6b,arrnormend,pt4))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt4,arrnormend,pt7b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt7b,arrnormend,pt3))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt3,arrnormend,pt8b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt8b,arrnormend,pt1))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt1,arrnormenddown,pt5b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt5b,arrnormenddown,pt2))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt2,arrnormenddown,pt6b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt6b,arrnormenddown,pt4))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt4,arrnormenddown,pt7b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt7b,arrnormenddown,pt3))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt3,arrnormenddown,pt8b))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   crvtemp = rhino.AddSrfPt(array(pt8b,arrnormenddown,pt1))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrline = rhino.AddLine(pt1,pt2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   Call rhino.selectobject (arrline)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   rhino.Command "_pipe " &amp;amp; ".02 " &amp;amp; ".02 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   rhino.UnselectAllObjects &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   arrline = rhino.AddLine(pt3,pt4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   Call rhino.selectobject (arrline)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   rhino.Command "_pipe " &amp;amp; ".02 " &amp;amp; ".02 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;   rhino.UnselectAllObjects &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;  Next &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Next &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Call rhino.deleteobject(strsurf)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt; Call rhino.EnableRedraw(True)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-5563962682344284857?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/5563962682344284857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/tensegrity-surfacex10.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5563962682344284857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5563962682344284857'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/tensegrity-surfacex10.html' title='tensegrity - surfacex10'/><author><name>Vink</name><uri>http://www.blogger.com/profile/16940668537328782292</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://3.bp.blogspot.com/_YLv1_pGBEP8/TOLKbzWDgPI/AAAAAAAAA-8/6r6xSMzmMfQ/S220/photo%2Bbw%2Blow10.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_YLv1_pGBEP8/SiLKnHZ7veI/AAAAAAAAAEo/3e7-Zyv2_tg/s72-c/tensegrity+experiments+copia.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-83388467764574939</id><published>2009-05-25T15:42:00.009+02:00</published><updated>2009-06-04T03:01:56.291+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hexagons'/><category scheme='http://www.blogger.com/atom/ns#' term='RhinoScript'/><category scheme='http://www.blogger.com/atom/ns#' term='honeycumb'/><title type='text'>honeycumb</title><content type='html'>&lt;span style="font-size:85%;"&gt;Hi guys! Before studying Vink's exeples about texturing I tryed to create an honeycumb surface. It is only a simple test and probably I didn't follow the better way for create an Hexagon grid. In future I'll optimize this, may be using rules like attractors or surface curvature...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(sorry for comments, but is only a draft, and coding is simple to understand)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yzerz_nPP8I/ShqmMYnjHbI/AAAAAAAAAA4/v2ypwiqOOz0/s1600-h/Exagon.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_yzerz_nPP8I/ShqmMYnjHbI/AAAAAAAAAA4/v2ypwiqOOz0/s400/Exagon.jpg" alt="" id="BLOGGER_PHOTO_ID_5339763039898115506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;[EDIT]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;well, I modified the code revising some errors (like problems with closed surfaces, not completly solved). I also insert comments. I hope it's clear now... ;-)&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;[/EDIT]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;[EDIT]&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yzerz_nPP8I/Sh0ujopTGYI/AAAAAAAAABA/e8Z2VvCcOsM/s1600-h/Hexagons_Scheme.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 306px;" src="http://1.bp.blogspot.com/_yzerz_nPP8I/Sh0ujopTGYI/AAAAAAAAABA/e8Z2VvCcOsM/s320/Hexagons_Scheme.jpg" alt="" id="BLOGGER_PHOTO_ID_5340475922872211842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;I also added a diagram for better explain meaning of formulas with &lt;span style="color: rgb(153, 153, 153);"&gt;sin()&lt;/span&gt; and &lt;span style="color: rgb(153, 153, 153);"&gt;cos()&lt;/span&gt;  ;-)&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;[/EDIT]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Option Explicit&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'      Script written by Alessandro Zomparelli&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'          alessandro.zomparelli@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'          http://alessandrozompa.altervista.org/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'      Script version sabato 9 maggio 2009 17.11.41&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt;Call Rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt;Dim strSrf, u, v, arrParC, arrUdom, arrVdom, s, u1, v1&lt;br /&gt;ReDim arrParC(1)&lt;br /&gt;strSrf = Rhino.GetObject("pick target surface")&lt;br /&gt;u1 = Rhino.GetInteger("number of U subdivision", 10, 2)&lt;br /&gt;v1 = Rhino.GetInteger("number of V subdivision", 10, 2)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'we are trying to define a grid for drawing hexagons,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;   'For Do this we need to define the unit parameter to whom refer coordinates:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;   'For example I choose the radius of circle in whom hexagon is inscribed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;   'Now we evaluate the number of radius needed for drawing the choosen number of hexagons&lt;/span&gt;&lt;br /&gt;v = v1*2*sin(ToRadians(60))&lt;br /&gt;u = u1*(1+cos(ToRadians(60)))&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'Here we ask to user the scale of holes&lt;/span&gt;&lt;br /&gt;s = Rhino.GetReal("scale value for holes", 0.5, 0.1, 1)&lt;br /&gt;&lt;br /&gt;arrUdom = Rhino.SurfaceDomain(strSrf, 0)&lt;br /&gt;arrVdom = Rhino.SurfaceDomain(strSrf, 1)&lt;br /&gt;&lt;br /&gt;Dim arrPts, i, j, arrPtsE, arrPtM&lt;br /&gt;ReDim arrPts(3), arrPtsE(6), arrPtM(2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'now I define the parameter to use for conversion from xy units to uv&lt;/span&gt;&lt;br /&gt;Dim parU, parV&lt;br /&gt;parU=(arrUdom(1)-arrUdom(0))/u&lt;br /&gt;parV=(arrVdom(1)-arrVdom(0))/v&lt;br /&gt;&lt;br /&gt;For i=0 To u1/2-1&lt;br /&gt;   For j=0 To v1-1&lt;br /&gt;  &lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;           'center of  hexagon A&lt;/span&gt;&lt;br /&gt;       arrParC(0) = 2*i*parU*(1+cos(ToRadians(60)))&lt;br /&gt;       arrParC(1) = j*parV*2*sin(ToRadians(60))&lt;br /&gt;  &lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;           'drawing hexagon&lt;/span&gt;&lt;br /&gt;       Call Hexagon(strSrf, parU, parV, arrParC, arrPtsE)&lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;'creating panels&lt;/span&gt;&lt;br /&gt;       Call Panel (strSrf, arrParC, arrPtsE, s)&lt;br /&gt;             &lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;'center of hexagon B&lt;/span&gt;&lt;br /&gt;       arrParC(0) = 2*(i+0.5)*parU*(1+cos(ToRadians(60)))&lt;br /&gt;       arrParC(1) = (j+0.5)*parV*2*sin(ToRadians(60))&lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;'drawing hexagon&lt;/span&gt;&lt;br /&gt;       Call Hexagon(strSrf, parU, parV, arrParC, arrPtsE)&lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;'creating panels&lt;/span&gt;&lt;br /&gt;       Call Panel (strSrf, arrParC, arrPtsE, s)&lt;br /&gt;   Next&lt;br /&gt;Next&lt;br /&gt;Call Rhino.DeleteObject(strSrf)&lt;br /&gt;Call Rhino.EnableRedraw(True)&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub Hexagon (strSrf, parU, parV, arrParC, arrPtsE)&lt;br /&gt;Dim i, strExa&lt;br /&gt;ReDim arrPtsE(6)&lt;br /&gt;For i=0 To 6&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;       'coordinates of vertex related to local center&lt;/span&gt;&lt;br /&gt;   arrPtsE(i)=Rhino.EvaluateSurface(strSrf, array(arrParC(0)+cos(i*ToRadians(60))*parU,arrParC(1)+sin(i*ToRadians(60))*parV))&lt;br /&gt;Next&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub Panel (strSrf, arrParC, arrPtsE, s)&lt;br /&gt;Dim strExa, strIn, arrPtM, arrPlane&lt;br /&gt;strExa=Rhino.AddPolyline(arrPtsE)&lt;br /&gt;strIn=Rhino.AddPolyline(arrPtsE)&lt;br /&gt;arrPlane=Rhino.SurfaceNormal(strSrf,arrParC)&lt;br /&gt;If isnull (arrPlane) Then Exit Sub      &lt;br /&gt;arrPtM=Rhino.EvaluateSurface(strSrf,arrParC)&lt;br /&gt;Call Rhino.ScaleObject(strIn, arrPtM, (array(s,s,s)))&lt;br /&gt;Call Rhino.MoveObject(strIn,arrPlane)&lt;br /&gt;Call Rhino.AddLoftSrf(array(strExa,strIn))&lt;br /&gt;Call Rhino.DeleteObjects(array(strExa,strIn))&lt;br /&gt;End Sub&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-83388467764574939?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/83388467764574939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/hi-guys-before-studying-vinks-exeples.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/83388467764574939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/83388467764574939'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/hi-guys-before-studying-vinks-exeples.html' title='honeycumb'/><author><name>zompa</name><uri>http://www.blogger.com/profile/02309550360705712750</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='12' height='32' src='http://2.bp.blogspot.com/_yzerz_nPP8I/ShqN69MaSUI/AAAAAAAAAAM/Swp7oTRwUhU/S220/mydeath_.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yzerz_nPP8I/ShqmMYnjHbI/AAAAAAAAAA4/v2ypwiqOOz0/s72-c/Exagon.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-2017179947676646874</id><published>2009-05-14T15:55:00.005+02:00</published><updated>2009-05-14T16:03:23.504+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grasshopper'/><title type='text'>The Grasshopper website!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hGmdFDwgk6A/SgwjyDYIgyI/AAAAAAAAAb0/EspA6-OCHDk/s1600-h/GH_head.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 34px;" src="http://3.bp.blogspot.com/_hGmdFDwgk6A/SgwjyDYIgyI/AAAAAAAAAb0/EspA6-OCHDk/s400/GH_head.jpg" alt="" id="BLOGGER_PHOTO_ID_5335679001334154018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Bob McNeel announced on the &lt;a href="http://groups.google.com/group/grasshopper3d/browse_thread/thread/8ac8d0503491c33d/a7a4a887984f7980?show_docid=a7a4a887984f7980&amp;amp;pli=1"&gt;Grasshopper Google Group&lt;/a&gt; that the &lt;a href="http://www.grasshopper3d.com/"&gt;Official Grasshopper site&lt;/a&gt; has finally open! Downloads, tutorials, gallery, tips &amp;amp; tricks, videos... all in one place.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.grasshopper3d.com/"&gt;http://www.grasshopper3d.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-2017179947676646874?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/2017179947676646874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/grasshopper-website.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2017179947676646874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2017179947676646874'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/grasshopper-website.html' title='The Grasshopper website!'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_hGmdFDwgk6A/SgwjyDYIgyI/AAAAAAAAAb0/EspA6-OCHDk/s72-c/GH_head.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-8443075504775055360</id><published>2009-05-12T16:32:00.009+02:00</published><updated>2009-06-12T02:08:28.096+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='texture'/><category scheme='http://www.blogger.com/atom/ns#' term='tesselation'/><title type='text'>CHAPTER 1 - Textures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YLv1_pGBEP8/SgmJY5XsgLI/AAAAAAAAADk/Kf0d2AuURtY/s1600-h/intesta+copia.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 212px;" src="http://3.bp.blogspot.com/_YLv1_pGBEP8/SgmJY5XsgLI/AAAAAAAAADk/Kf0d2AuURtY/s400/intesta+copia.jpg" alt="" id="BLOGGER_PHOTO_ID_5334946294407135410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Once upon a time and a very good time it was there was a moocow coming down along the road and&lt;/span&gt; &lt;span style="font-style: italic;"&gt;this moocow that was coming down along the road met a nicens little boy named baby tuckoo..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;..by the way, after applying a lot on scripting I finally start making some render and put some&lt;br /&gt;pieces together.&lt;br /&gt;For this part I took inspiration from the book "Design and visual communication" written by Bruno Munari and his studies about textures (organic or geometric, how to treat a surface to make variations on it but preserving its uniformity, rarefaction and thickening&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;).&lt;br /&gt;First of all I made two grids one with squares and one with triangles and three kind of modules (squares, circles, triangles) and their submodules (in geometric progression). Then I started trying "without thinking".&lt;br /&gt;I also watched at some natural configurations and tried with them.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SgmPybaXnFI/AAAAAAAAADs/-x13CJsjgxk/s1600-h/organic.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 117px;" src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SgmPybaXnFI/AAAAAAAAADs/-x13CJsjgxk/s400/organic.jpg" alt="" id="BLOGGER_PHOTO_ID_5334953330111650898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;Then I selected some configurations and I tried to put them on a script. &lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;For this part David Rutten and Theverymany examples were vital.&lt;br /&gt;&lt;br /&gt;I thought that best way to deal with textures, their &lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;rarefaction and thickening , was to make an application were you can build surfaces (based on &lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;based on z = f(x,y[,d,a]) equation&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;) and decide dimension and number of subdivisions (but you can also select an existing surface).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[the only problem is that in this manner I have linked dimension and subdivision, if you want to split them you have firstly to generate the surface and then rerun the script only to tasselate it. But I'll fix it soon, so don't worry]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After that I grouped 9 kind of tesselation I have developed, more or less complex, you&lt;br /&gt;just simple have to set the different parameter and see what you get.  It is likely to view how texture changes when you increase o decrease one or both u-v params. And I found that sometimes textures have a good-looking backside lol..&lt;br /&gt;Post it if something nice comes out!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SgmT0IZIh0I/AAAAAAAAAD0/T250lFPr5Dg/s1600-h/texttotallast2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 235px;" src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SgmT0IZIh0I/AAAAAAAAAD0/T250lFPr5Dg/s400/texttotallast2.jpg" alt="" id="BLOGGER_PHOTO_ID_5334957757412443970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:georgia;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Next step is to see how textures interact with both the surface they are subdividing and the environmental conditions (I tried something about differentiation, attractors, L-system, cellula automata), and also how do they organize in three-dimensional forms and structures... And also something architectural finally... See you soon then!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[&lt;span style="font-size:78%;"&gt;p.s.Vray for rhino sucks!&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:78%;"&gt;Option Explicit&lt;br /&gt;'             . Script written by Vincenzo Reale&lt;br /&gt;'             . univin@libero.it&lt;br /&gt;'Script version sabato 11 maggio 2009 05.02.28&lt;br /&gt;&lt;br /&gt;Call SurfacesEditor()&lt;br /&gt;&lt;br /&gt;Sub SurfacesEditor()&lt;br /&gt;&lt;br /&gt; Dim arrparam, arrresults, arrvalues&lt;br /&gt; Dim strsurf&lt;br /&gt; Dim arrchoose&lt;br /&gt; arrchoose = (array("1° SURFHONEY","2° SURFHEXAGON", "3° SURFGRID","4° SURFRND","5° SURFBOX","6° SURFWAVES","7° SURFBOXHOLE","8° SURFPYRAMID","9° SURFCURVES"))&lt;br /&gt; If isnull (arrchoose) Then Exit Sub&lt;br /&gt;&lt;br /&gt; arrparam = array("create surfaces from equation? (Y/N)","equation surfaces z = f(x,y[,D,A])", "u subdivisions (&gt;1)","v subdivisions (&gt;1)")&lt;br /&gt; arrvalues = array("Y","cos(sqr(x^2 + y^2))","5","5")&lt;br /&gt; arrchoose = Rhino.ListBox (arrchoose, "choose!", "SURFACE")&lt;br /&gt; arrresults = rhino.propertylistbox(arrparam, arrvalues,"Parameters","Vink's Surface Editor")&lt;br /&gt;&lt;br /&gt; Dim upar, vpar&lt;br /&gt; upar = CInt (formatnumber (arrresults(2)))&lt;br /&gt; If isnull(upar) Then Exit Sub&lt;br /&gt; vpar = CInt (formatnumber (arrresults(3)))&lt;br /&gt; If isnull (vpar) Then Exit Sub&lt;br /&gt;&lt;br /&gt; If isarray(arrresults) Then&lt;br /&gt;     Select Case Ucase (arrresults(0))&lt;br /&gt;         Case "Y"&lt;br /&gt;             strsurf = createsurface(arrresults(1), upar,vpar)&lt;br /&gt;         Case "N"&lt;br /&gt;             strsurf = rhino.getobject("Select surface to texturize",8+16+32,True,True)&lt;br /&gt;     End Select&lt;br /&gt;&lt;br /&gt;     Select Case Ucase (arrchoose)&lt;br /&gt;         Case "1° SURFHONEY"&lt;br /&gt;             Call surfhoney(strsurf,upar,vpar)&lt;br /&gt;         Case "2° SURFHEXAGON"&lt;br /&gt;             Call surfhexagon (strsurf,upar,vpar)&lt;br /&gt;         Case "3° SURFGRID"&lt;br /&gt;             Call surfgrid (strsurf,upar,vpar)&lt;br /&gt;         Case "4° SURFRND"&lt;br /&gt;             Call surfrnd(strsurf,upar,vpar)&lt;br /&gt;         Case "5° SURFBOX"&lt;br /&gt;             Call surfbox (strsurf,upar,vpar)&lt;br /&gt;         Case "6° SURFWAVES"&lt;br /&gt;             Call surfwaves (strsurf,upar,vpar)&lt;br /&gt;         Case "7° SURFBOXHOLE"&lt;br /&gt;             Call surfboxhole(strsurf,upar,vpar)&lt;br /&gt;         Case "8° SURFPYRAMID"&lt;br /&gt;             Call surfpyramid (strsurf,upar,vpar)&lt;br /&gt;         Case "9° SURFCURVES"&lt;br /&gt;             Call surfcurves(strsurf,upar,vpar)&lt;br /&gt;     &lt;br /&gt;     End Select&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;End Sub&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CREATE SURFACE -----&lt;br /&gt;&lt;br /&gt;Function createsurface (streq, upar,vpar)&lt;br /&gt; Dim arrCount(1), nCount, x, y, z&lt;br /&gt; Dim intstart, intEnd&lt;br /&gt; intstart = -5&lt;br /&gt; intEnd = -5&lt;br /&gt;&lt;br /&gt; arrCount(0) = upar&lt;br /&gt; arrCount(1) = vpar&lt;br /&gt;&lt;br /&gt; nCount = 0&lt;br /&gt; Dim arrpoints()&lt;br /&gt; &lt;br /&gt; For x = intstart To arrCount(0) + sgn(intstart) * (abs(intstart)+1)&lt;br /&gt;     For y = intend To arrCount(0) + sgn(intend) * (abs(intend)+1)            &lt;br /&gt;         z = solveequation(streq,x,y)&lt;br /&gt;         ReDim Preserve arrpoints(ncount)        &lt;br /&gt;         arrPoints(nCount) = Array(x, y, z )&lt;br /&gt;         nCount = nCount + 1    &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; createsurface = Rhino.AddSrfPtGrid (arrCount, arrPoints)&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function solveequation( ByVal strfunction, ByVal x, ByVal y)&lt;br /&gt; Dim z&lt;br /&gt; Dim D, A, Angledata&lt;br /&gt;&lt;br /&gt; D = rhino.Hypot(x,y)&lt;br /&gt; angleData= rhino.Angle(array(0,0,0), array(x,y,0))&lt;br /&gt;&lt;br /&gt; '    0    The X,Y angle In degrees.&lt;br /&gt; '    1    The elevation.&lt;br /&gt; '    2    The  delta In the X direction.&lt;br /&gt; '    3    The  delta In the Y direction.&lt;br /&gt; '    4    The  delta In the Z direction.&lt;br /&gt;&lt;br /&gt; If isnull (angledata) Then&lt;br /&gt;     A = 0.0&lt;br /&gt; Else&lt;br /&gt;     A = Rhino.ToRadians(Angledata(0)) 'l'angolo in coordinate polari&lt;br /&gt; &lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; On Error Resume Next&lt;br /&gt; Execute("z =" &amp;amp; strfunction)&lt;br /&gt;&lt;br /&gt; If err.number = 0 Then&lt;br /&gt;     solveequation = z&lt;br /&gt; Else&lt;br /&gt;     solveequation = 0.0&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;-----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 1 SURFHONEY -----&lt;br /&gt;&lt;br /&gt;Sub surfhoney(strsurf,upar,vpar)&lt;br /&gt; upar = upar*10&lt;br /&gt; vpar = vpar*10&lt;br /&gt; Dim dblheight : dblheight = rhino.getreal("extrusion height?" ,.3)&lt;br /&gt; If isnull (dblheight) Then Exit Sub&lt;br /&gt;&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt; Dim i, j&lt;br /&gt; Dim uvalone(1), uvaltwo&lt;br /&gt; Dim arrUone, arrVone&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4, pt5, pt6&lt;br /&gt; ReDim matrix (upar, vpar)&lt;br /&gt; Dim tempt&lt;br /&gt;&lt;br /&gt; arruone = array (0,0)&lt;br /&gt; arrVone = array (0,0)&lt;br /&gt; Dim strcell, arrct, arrptsurf, arrnorm, arrnormend, arrline, strcell2&lt;br /&gt;&lt;br /&gt; If rhino.IsSurface(strsurf) Then&lt;br /&gt;     arruone = rhino.surfacedomain(strsurf,0)&lt;br /&gt;     arrVone = rhino.surfacedomain(strsurf,1)&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; For i=0 To upar&lt;br /&gt;     For j=0 To vpar&lt;br /&gt;         uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;br /&gt;         matrix(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Dim oct1, oct2, oct3, oct4, arrlinehuge, arrel1, arrel2&lt;br /&gt; Dim rn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; For i = 1 To upar-2 Step 4&lt;br /&gt;&lt;br /&gt;     For J=0 To vpar-2 Step 2&lt;br /&gt;         pt1 = matrix(i,j)&lt;br /&gt;         pt2 = matrix(i+1,j)&lt;br /&gt;         pt3 = matrix(i+2,j+1)&lt;br /&gt;         pt4 = matrix(i+1,j+2)&lt;br /&gt;         pt5 = matrix(i,j+2)&lt;br /&gt;         pt6 = matrix(i-1,j+1)&lt;br /&gt;         strcell = rhino.AddCurve(array(pt1,pt2,pt3,pt4,pt5,pt6,pt1),1)&lt;br /&gt;         arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;br /&gt;         arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;br /&gt;         rn = rnd&lt;br /&gt;     &lt;br /&gt;         strcell2 = rhino.ScaleObject(strcell,arrct,array(0.5,0.5,0.5),True)&lt;br /&gt;     &lt;br /&gt;         arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;br /&gt;         arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;br /&gt;         arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;br /&gt;         arrline = rhino.AddLine(arrct,arrnormend)&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;         Call rhino.SelectObject (strcell)&lt;br /&gt;         rhino.Command("-patch " &amp;amp; "enter")&lt;br /&gt;         oct1=rhino.FirstObject&lt;br /&gt;         rhino.UnselectAllObjects&lt;br /&gt;     &lt;br /&gt;         rhino.SelectObject (strcell2)&lt;br /&gt;         rhino.Command("-patch " &amp;amp; "enter")&lt;br /&gt;         oct2=rhino.FirstObject&lt;br /&gt;         rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt;         oct3 = rhino.ExtrudeSurface(oct1,arrline)&lt;br /&gt;         arrlinehuge = rhino.ExtendCurveLength(arrline,0,1,40)&lt;br /&gt;         oct4 = rhino.ExtrudeSurface(oct2,arrlinehuge)&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;         rhino.MoveObject oct4, arrnormend,arrct&lt;br /&gt;         arrel1 = (array(oct3))&lt;br /&gt;         arrel2 = (array(oct4))&lt;br /&gt;     &lt;br /&gt;         rhino.BooleanDifference arrel1,arrel2&lt;br /&gt;     &lt;br /&gt;         Call rhino.DeleteObject (arrline)&lt;br /&gt;         Call rhino.DeleteObject (oct1)&lt;br /&gt;         Call rhino.DeleteObject (oct2)&lt;br /&gt;&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 3 To upar-2 Step 4&lt;br /&gt;     For J=1 To vpar-2 Step 2&lt;br /&gt;         pt1 = matrix(i,j)&lt;br /&gt;         pt2 = matrix(i+1,j)&lt;br /&gt;         pt3 = matrix(i+2,j+1)&lt;br /&gt;         pt4 = matrix(i+1,j+2)&lt;br /&gt;         pt5 = matrix(i,j+2)&lt;br /&gt;         pt6 = matrix(i-1,j+1)&lt;br /&gt;         strcell = rhino.AddCurve(array(pt1,pt2,pt3,pt4,pt5,pt6,pt1),1)&lt;br /&gt;         arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;br /&gt;         arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;br /&gt;         rn = rnd&lt;br /&gt;     &lt;br /&gt;         strcell2 = rhino.ScaleObject(strcell,arrct,array(0.5,0.5,0.5),True)&lt;br /&gt;     &lt;br /&gt;         arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;br /&gt;         arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;br /&gt;         arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;br /&gt;         arrline = rhino.AddLine(arrct,arrnormend)&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;         Call rhino.SelectObject (strcell)&lt;br /&gt;         rhino.Command("-patch " &amp;amp; "enter")&lt;br /&gt;         oct1=rhino.FirstObject&lt;br /&gt;         rhino.UnselectAllObjects&lt;br /&gt;     &lt;br /&gt;         rhino.SelectObject (strcell2)&lt;br /&gt;         rhino.Command("-patch " &amp;amp; "enter")&lt;br /&gt;         oct2=rhino.FirstObject&lt;br /&gt;         rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt;         oct3 = rhino.ExtrudeSurface(oct1,arrline)&lt;br /&gt;         arrlinehuge = rhino.ExtendCurveLength(arrline,0,1,40)&lt;br /&gt;         oct4 = rhino.ExtrudeSurface(oct2,arrlinehuge)&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;         rhino.MoveObject oct4, arrnormend,arrct&lt;br /&gt;         arrel1 = (array(oct3))&lt;br /&gt;         arrel2 = (array(oct4))&lt;br /&gt;     &lt;br /&gt;         rhino.BooleanDifference arrel1,arrel2&lt;br /&gt;     &lt;br /&gt;         Call rhino.DeleteObject (arrline)&lt;br /&gt;         Call rhino.DeleteObject (oct1)&lt;br /&gt;         Call rhino.DeleteObject (oct2)&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject(strsurf)&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;End Sub&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 2 SURFHEXAGON -----&lt;br /&gt;&lt;br /&gt;Sub SURFHEXAGON(strsurf,Intuint,Intvint)&lt;br /&gt;&lt;br /&gt; Dim dblheight : dblheight = rhino.getreal("extrusion height",.3)&lt;br /&gt; Intuint = IntUint*20&lt;br /&gt; Intvint = Intvint*20&lt;br /&gt; Call rhino.EnableRedraw (False)&lt;br /&gt;&lt;br /&gt; Dim arrUdom, arrVdom&lt;br /&gt; arrUdom = Rhino.SurfaceDomain(strsurf,0)&lt;br /&gt; arrVdom = Rhino.SurfaceDomain(strsurf,1)&lt;br /&gt;&lt;br /&gt; Dim i, j&lt;br /&gt; Dim arrPt, upar, vpar&lt;br /&gt; ReDim arrPt(intUint-1 , intVint-1)&lt;br /&gt; For i = 0 To Intuint-1&lt;br /&gt;     For j = 0 To intvint-1&lt;br /&gt;     &lt;br /&gt;         upar = arrudom(0) + i*(arrudom(1)-arrudom(0))/(intuint-1)&lt;br /&gt;         vpar = arrudom(0) + j*(arrvdom(1)-arrvdom(0))/(intvint-1)&lt;br /&gt;         arrpt (i,j) = rhino.EvaluateSurface(strsurf,array(upar,vpar))&lt;br /&gt; &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; Dim arrpanel, arrpanel2&lt;br /&gt; Dim strcurvepanel, strcurvepanel2&lt;br /&gt; Dim arrsurfpanel,arrsurfpanel2&lt;br /&gt; Dim strcut, arrCP, dbldist1, dblscale&lt;br /&gt; For i = 6 To Intuint-6  Step 6&lt;br /&gt;&lt;br /&gt;     For j = 0 To intvint-6 Step 18&lt;br /&gt;     &lt;br /&gt;         arrpanel = array (arrpt(i,j),arrpt(i+3,j+6), arrpt(i-3,j+6),arrpt(i,j))&lt;br /&gt;         arrsurfpanel = rhino.addsrfpt(arrpanel)&lt;br /&gt;     &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 0 To Intuint-6  Step 6&lt;br /&gt;&lt;br /&gt;     For j = 0 To intvint-6 Step 18&lt;br /&gt;     &lt;br /&gt;         arrpanel = array (arrpt(i,j),arrpt(i+6,j), arrpt(i+3,j+6),arrpt(i,j))&lt;br /&gt;         arrsurfpanel = rhino.addsrfpt(arrpanel)&lt;br /&gt;     &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 3 To Intuint-6  Step 12&lt;br /&gt;&lt;br /&gt;     For j = 6 To intvint-6 Step 18&lt;br /&gt;     &lt;br /&gt;         arrpanel = array (arrpt(i,j),arrpt(i+6,j), arrpt(i+3,j+6),arrpt(i,j))&lt;br /&gt;         arrsurfpanel = rhino.addsrfpt(arrpanel)&lt;br /&gt;     &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt; For i = 12 To Intuint-12  Step 12&lt;br /&gt;&lt;br /&gt;     For j = 0 To intvint-12 Step 18&lt;br /&gt;     &lt;br /&gt;         arrpanel2 = array (arrpt(i,j),arrpt(i-3,j+6), arrpt(i+3,j+6),arrpt(i,j))&lt;br /&gt;         strcurvepanel2 = rhino.addcurve(arrpanel2,1)&lt;br /&gt;         arrsurfpanel2 = rhino.addsrfpt(arrpanel2)&lt;br /&gt; &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 6 To Intuint-12  Step 12&lt;br /&gt;&lt;br /&gt;     For j = 12 To intvint-12 Step 18&lt;br /&gt;         arrpanel2 = array (arrpt(i,j),arrpt(i-3,j+6), arrpt(i+3,j+6),arrpt(i,j))&lt;br /&gt;         strcurvepanel2 = rhino.addcurve(arrpanel2,1)&lt;br /&gt;         arrsurfpanel2 = rhino.addsrfpt(arrpanel2)&lt;br /&gt; &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Dim arrstrcurvepanel(), k&lt;br /&gt; k =0&lt;br /&gt; For i = 9 To Intuint-9 Step 12&lt;br /&gt;     For j = 6 To intvint-12 Step 18&lt;br /&gt;         ReDim Preserve arrstrcurvepanel (k)&lt;br /&gt;         arrpanel = array (arrpt(i,j),arrpt(i+6,j), arrpt(i+9,j+6),arrpt(i+6,j+12), arrpt(i,j+12),arrpt(i,j+12),arrpt(i-3,j+6),arrpt(i,j))&lt;br /&gt;         arrstrcurvepanel(k) = rhino.addcurve(arrpanel,1)&lt;br /&gt;         Dim arrct&lt;br /&gt;         arrct = array( (arrpt(i-3,j+6)(0)+arrpt(i+9,j+6)(0))/2,(arrpt(i-3,j+6)(1)+arrpt(i+9,j+6)(1))/2,(arrpt(i-3,j+6)(2)+arrpt(i+9,j+6)(2))/2)&lt;br /&gt;         Dim arrptsurf&lt;br /&gt;         arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;br /&gt;         Dim strcell2&lt;br /&gt;         strcell2 = rhino.ScaleObject(arrstrcurvepanel(k),arrct,array(0.3,0.3,0.3),True)&lt;br /&gt;         Dim arrnorm, arrnormend, arrline&lt;br /&gt;         arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;br /&gt;         arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;br /&gt;         arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;br /&gt;         arrline = rhino.AddLine(arrct,arrnormend)&lt;br /&gt;     &lt;br /&gt;         rhino.MoveObject strcell2, arrct, arrnormend&lt;br /&gt;         Call rhino.AddLoftSrf(array(arrstrcurvepanel(k),strcell2),,,,,,False)&lt;br /&gt;         Call rhino.deleteobject (arrline)&lt;br /&gt;         k = k+1&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject(strsurf)&lt;br /&gt; Call rhino.enableredraw(True)&lt;br /&gt;End Sub&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 3 SURFGRID -----&lt;br /&gt;&lt;br /&gt;Sub surfgrid (strsurf,upar,vpar)&lt;br /&gt;&lt;br /&gt; Dim radius : radius = rhino.getstring("pipe radius?" ,".1")&lt;br /&gt; If isnull (radius) Then Exit Sub&lt;br /&gt;&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt; Dim i, j&lt;br /&gt; Dim uvalone(1), uvaltwo&lt;br /&gt; Dim arrUone, arrVone&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4&lt;br /&gt; ReDim matrix (upar, vpar)&lt;br /&gt; Dim tempt&lt;br /&gt;&lt;br /&gt; arruone = array (0,0)&lt;br /&gt; arrVone = array (0,0)&lt;br /&gt;&lt;br /&gt; If rhino.IsSurface(strsurf) Then&lt;br /&gt;     arruone = rhino.surfacedomain(strsurf,0)&lt;br /&gt;     arrVone = rhino.surfacedomain(strsurf,1)&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; For i=0 To upar&lt;br /&gt;     For j=0 To vpar&lt;br /&gt;         uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;br /&gt;         matrix(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 0 To upar-1&lt;br /&gt;&lt;br /&gt;     For J=0 To vpar-1&lt;br /&gt;         pt1 = matrix(i,j)&lt;br /&gt;         pt2 = matrix(i+1,j)&lt;br /&gt;         pt3 = matrix(i+1,j+1)&lt;br /&gt;         pt4 = matrix(i,j+1)&lt;br /&gt;&lt;br /&gt;         Call grid(pt1,pt2,pt3,pt4, radius)&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject(strsurf)&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function grid(pt1,pt2,pt3,pt4,radius)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Dim lin12, lin23, lin34, lin41, lin13, lin24&lt;br /&gt;&lt;br /&gt; lin12 = rhino.AddLine(pt1,pt2)&lt;br /&gt; lin23 = rhino.AddLine(pt2, pt3)&lt;br /&gt; lin34 = rhino.AddLine(pt3,pt4)&lt;br /&gt; lin41 = rhino.AddLine(pt4, pt1)&lt;br /&gt; lin13 = rhino.AddLine(pt1,pt3)&lt;br /&gt; lin24 = rhino.AddLine(pt2, pt4)&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin12)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; radius  &amp;amp;" "&amp;amp; radius &amp;amp; " " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin23)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; ".1 " &amp;amp; ".1 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin34)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; ".1 " &amp;amp; ".1 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin41)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; ".1 " &amp;amp; ".1 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin13)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; ".1 " &amp;amp; ".1 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt; Call rhino.selectobject (lin24)&lt;br /&gt; rhino.Command "_pipe " &amp;amp; ".1 " &amp;amp; ".1 " &amp;amp; " _enter " &amp;amp; " _enter "&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 4 SURFRND -----&lt;br /&gt;&lt;br /&gt;Sub surfrnd (strsurf,upar,vpar)&lt;br /&gt;&lt;br /&gt; Dim dblheight : dblheight = rhino.getreal("elements height?" ,.3)&lt;br /&gt;&lt;br /&gt; If isnull (dblheight) Then Exit Sub&lt;br /&gt;&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt; Dim i, j&lt;br /&gt; Dim uvalone(1), uvaltwo&lt;br /&gt; Dim arrUone, arrVone&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4, pt5, pt6&lt;br /&gt; ReDim matrix (upar, vpar)&lt;br /&gt; Dim tempt&lt;br /&gt;&lt;br /&gt; arruone = array (0,0)&lt;br /&gt; arrVone = array (0,0)&lt;br /&gt; Dim strcell, arrct, arrptsurf, arrnorm, arrnormend, arrline, strcell2&lt;br /&gt;&lt;br /&gt; If rhino.IsSurface(strsurf) Then&lt;br /&gt;     arruone = rhino.surfacedomain(strsurf,0)&lt;br /&gt;     arrVone = rhino.surfacedomain(strsurf,1)&lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; For i=0 To upar&lt;br /&gt;     For j=0 To vpar&lt;br /&gt;         uvalone(0)= ((arruone(1)-arruone(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j&lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;br /&gt;         matrix(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Dim  strcell3, strcell4&lt;br /&gt;&lt;br /&gt; Dim rn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; For i = 1 To upar-2 Step 4&lt;br /&gt;&lt;br /&gt;     For J=0 To vpar-2 Step 2&lt;br /&gt;         pt1 = matrix(i,j)&lt;br /&gt;         pt2 = matrix(i+1,j)&lt;br /&gt;         pt3 = matrix(i+2,j+1)&lt;br /&gt;         pt4 = matrix(i+1,j+2)&lt;br /&gt;         pt5 = matrix(i,j+2)&lt;br /&gt;         pt6 = matrix(i-1,j+1)&lt;br /&gt; &lt;br /&gt;         strcell = rhino.AddCurve(array(pt1,pt2,pt3,pt4,pt5,pt6,pt1),2)&lt;br /&gt;         arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;br /&gt;         arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;br /&gt;         rn = rnd&lt;br /&gt;     &lt;br /&gt;         strcell2 = rhino.ScaleObject(strcell,arrct,array(rn*0.7,rn*0.7,rn*0.7),True)&lt;br /&gt;     &lt;br /&gt;         arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;br /&gt;         arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;br /&gt;         arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;br /&gt;         arrline = rhino.AddLine(arrct,arrnormend)&lt;br /&gt;     &lt;br /&gt;         rn = rnd&lt;br /&gt;         strcell3 = rhino.ScaleObject(strcell,arrct,array(rn*0.5,rn*0.5,rn*0.5),True)&lt;br /&gt;         strcell4 = rhino.ScaleObject(strcell,arrct,array(0.8,0.8,0.8),True)&lt;br /&gt;     &lt;br /&gt;         rhino.MoveObject strcell3, arrct, arrnormend&lt;br /&gt;         rhino.MoveObject strcell4, arrct, arrnormend&lt;br /&gt;&lt;br /&gt;         Call rhino.AddLoftSrf(array(strcell,strcell2,strcell3,strcell4),,,,,,True)&lt;br /&gt; &lt;br /&gt;     &lt;br /&gt;         Call rhino.DeleteObject (arrline)&lt;br /&gt;         Call rhino.DeleteObjects (array(strcell,strcell2,strcell3,strcell4))&lt;br /&gt;&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i = 3 To upar-2 Step 4&lt;br /&gt;     For J=1 To vpar-2 Step 2&lt;br /&gt;         pt1 = matrix(i,j)&lt;br /&gt;         pt2 = matrix(i+1,j)&lt;br /&gt;         pt3 = matrix(i+2,j+1)&lt;br /&gt;         pt4 = matrix(i+1,j+2)&lt;br /&gt;         pt5 = matrix(i,j+2)&lt;br /&gt;         pt6 = matrix(i-1,j+1)&lt;br /&gt; &lt;br /&gt;         strcell = rhino.AddCurve(array(pt1,pt2,pt3,pt4,pt5,pt6,pt1),2)&lt;br /&gt;         arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)&lt;br /&gt;         arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)&lt;br /&gt;         rn = rnd&lt;br /&gt;     &lt;br /&gt;         strcell2 = rhino.ScaleObject(strcell,arrct,array(rn*0.8,rn*0.8,rn*0.8),True)&lt;br /&gt;     &lt;br /&gt;         arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)&lt;br /&gt;         arrnorm = rhino.VectorScale(arrnorm, dblheight)&lt;br /&gt;         arrnormend = rhino.PointAdd(arrct,arrnorm)&lt;br /&gt;         arrline = rhino.AddLine(arrct,arrnormend)&lt;br /&gt;         rn=rnd&lt;br /&gt;     &lt;br /&gt;         strcell3 = rhino.ScaleObject(strcell,arrct,array(rn*0.8,rn*0.8,rn*0.8),True)&lt;br /&gt;         strcell4 = rhino.ScaleObject(strcell,arrct,array(0.9,0.9,0.9),True)&lt;br /&gt;     &lt;br /&gt;         rhino.MoveObject strcell3, arrct, arrnormend&lt;br /&gt;         rhino.MoveObject strcell4, arrct, arrnormend&lt;br /&gt;&lt;br /&gt;         Call rhino.AddLoftSrf(array(strcell,strcell2,strcell3,strcell4),,,,,,True)&lt;br /&gt; &lt;br /&gt;     &lt;br /&gt;         Call rhino.DeleteObject (arrline)&lt;br /&gt;         Call rhino.DeleteObjects (array(strcell,strcell2,strcell3,strcell4))&lt;br /&gt;&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject(strsurf)&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;End Sub&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 5 SURFBOX -----&lt;br /&gt;&lt;br /&gt;Sub surfbox(strsurf,upar,vpar)&lt;br /&gt; &lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt;&lt;br /&gt; Dim intposition: intposition = rhino.getreal ("maximum interposition?",0.4,0)&lt;br /&gt; Dim intheight: intheight = rhino.getreal("maximum height?",0.6,0)&lt;br /&gt;&lt;br /&gt; Dim i,j&lt;br /&gt; Dim uvalone(1),uvaltwo&lt;br /&gt; Dim arrudom, arrvdom&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4&lt;br /&gt; Dim arrpts: arrpts = array(pt1,pt2,pt3,pt4)&lt;br /&gt; ReDim arrpts (upar,vpar)&lt;br /&gt; Dim temppt&lt;br /&gt; arrudom = array(0,0)&lt;br /&gt; arrvdom = array (0,0)&lt;br /&gt; &lt;br /&gt; arrudom = rhino.SurfaceDomain(strsurf,0)&lt;br /&gt; arrvdom = rhino.surfacedomain (strsurf,1)&lt;br /&gt;&lt;br /&gt; For i = 0 To upar&lt;br /&gt;     For j= 0 To vpar&lt;br /&gt;         uvalone(0) = ((arrudom(1)-arrudom(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrvdom(1)-arrvdom(0))/vpar) * (j)&lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf, uvalone)&lt;br /&gt;         arrpts(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt; &lt;br /&gt; For i = 0 To upar-1&lt;br /&gt;     For j=0 To vpar -1&lt;br /&gt;         pt1 = arrpts(i,j)&lt;br /&gt;         pt2 = arrpts(i+1,j)&lt;br /&gt;         pt3 = arrpts(i+1,j+1)&lt;br /&gt;         pt4 = arrpts (i,j+1)&lt;br /&gt;         Call boxes(pt1,pt2,pt3,pt4,intposition,intheight)&lt;br /&gt;         &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.DeleteObject (strsurf)&lt;br /&gt;&lt;br /&gt; Call rhino.enableredraw(True)&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function boxes (pt1,pt2,pt3,pt4,intposition,intheight)&lt;br /&gt; Dim tempsrf, arrdomainU, arrdomainv, arrdirection&lt;br /&gt; Dim arrparam(1), arrnormal, linenormalsmall, linenormalbig, pt5&lt;br /&gt; Dim linep1p4, linep1p4extend, linearray, linep1p2, linep1p4norm,linep1p2extend&lt;br /&gt; Dim vertsurface1,vertsurface2, arrptdomain,arrptparam,pt6&lt;br /&gt;&lt;br /&gt; tempsrf = rhino.AddSrfPt(array(pt1,pt2,pt3,pt4))&lt;br /&gt;&lt;br /&gt; arrdomainU = rhino.surfacedomain(tempsrf,0)&lt;br /&gt; arrdomainV = rhino.surfacedomain(tempsrf,1)&lt;br /&gt; arrparam(0) = (arrdomainU(1)-arrdomainu(0))/2&lt;br /&gt; arrparam(1) = (arrdomainV(1)-arrdomainV(0))/2&lt;br /&gt; pt5 = rhino.EvaluateSurface(tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; arrnormal = rhino.surfacenormal(tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt; Dim vector&lt;br /&gt; vector = rhino.PointAdd(pt5,arrnormal)&lt;br /&gt; linenormalsmall = rhino.AddLine(pt5, Rhino.VectorAdd(pt5,arrnormal))&lt;br /&gt; linenormalbig = rhino.ExtendCurveLength(linenormalsmall, 0,1,intheight*rnd)&lt;br /&gt;&lt;br /&gt; arrptdomain = rhino.CurveDomain(linenormalbig)&lt;br /&gt; arrptparam = arrptdomain(1)&lt;br /&gt; pt6 = rhino.EvaluateCurve(linenormalbig,arrptparam)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; linep1p4 = rhino.AddLine(pt1,pt4)&lt;br /&gt; linep1p2 = rhino.AddLine(pt1,pt2)&lt;br /&gt; linep1p4norm = rhino.CopyObject(linep1p4,pt5,pt6)&lt;br /&gt; linep1p4extend = rhino.ExtendCurveLength(linep1p4, 0,1,intposition)&lt;br /&gt; linep1p2extend = rhino.ExtendCurveLength(linep1p2, 0,1,intposition)&lt;br /&gt; linearray= (array(linep1p4extend,linep1p4norm))&lt;br /&gt; vertsurface1 =rhino.AddEdgeSrf(linearray)&lt;br /&gt; vertsurface2 = rhino.ExtrudeSurface(vertsurface1,linep1p2extend)&lt;br /&gt;&lt;br /&gt; Call rhino.DeleteObject(tempsrf)&lt;br /&gt; Call rhino.DeleteObjects(array(linep1p4norm,linep1p2extend,linep1p4extend,linep1p2,linep1p4))&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 9 SURFCURVES -----&lt;br /&gt;&lt;br /&gt;Sub SURFCURVES(strsurf,upar,vpar)&lt;br /&gt;&lt;br /&gt; Dim U,v, i,j,arrparam(1),arrpoint&lt;br /&gt; Dim arrparamnormal, arrnormal, linenorm&lt;br /&gt; Dim interpcurve&lt;br /&gt; Dim strsurfloft, strinterpcurve, strinterpcurveonsurf, intheight, intloftfreq, intlofttype&lt;br /&gt; Dim arrinterpcurve&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; upar = upar -1&lt;br /&gt; vpar = vpar -1&lt;br /&gt; intheight = rhino.getreal("maximum height?",1)&lt;br /&gt; If isnull(intheight) Then Exit Sub&lt;br /&gt; intloftfreq = rhino.getinteger("loft frequence?",2,2)&lt;br /&gt; If intloftfreq &lt; intlofttype =" rhino.getreal("&gt;4 Then Exit Sub&lt;br /&gt; intlofttype = intlofttype -1&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; U = rhino.SurfaceDomain(strsurf,0)&lt;br /&gt; v = rhino.surfacedomain (strsurf,1)&lt;br /&gt; If Not isarray(U) Or Not isarray (v) Then Exit Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; For i = 0 To upar&lt;br /&gt;     arrparam(0) = u (0) + (((u(1)-u(0))/upar)*i)&lt;br /&gt; &lt;br /&gt;     For j = 0 To vpar&lt;br /&gt;         arrparam(1) = v (0) + (((v(1)-v(0))/vpar)*j)&lt;br /&gt;         arrpoint = rhino.evaluatesurface(strsurf,arrparam)    &lt;br /&gt;         arrparamnormal = rhino.surfaceclosestpoint(strsurf,arrpoint)&lt;br /&gt;         arrnormal = rhino.surfacenormal(strsurf, arrparamnormal)&lt;br /&gt;         arrnormal = rhino.VectorScale(arrnormal,intheight)&lt;br /&gt;&lt;br /&gt;         Dim arrnvect&lt;br /&gt;         arrnvect = rhino.pointAdd(arrpoint,arrnormal)&lt;br /&gt;         '        linenorm = rhino.AddLine(arrpoint,arrnvect)&lt;br /&gt;         '        Call rhino.ObjectColor(linenorm,rgb(255,0,255))&lt;br /&gt; &lt;br /&gt;         ReDim Preserve arrnormptssurf(vpar)&lt;br /&gt;         arrnormptssurf(j)=arrpoint&lt;br /&gt;         ReDim Preserve arrnormptsEnd(vpar)&lt;br /&gt;         If i = 0 And i = upar And j=0 And j=vpar Then&lt;br /&gt;             arrnormptsEnd(j) = arrpoint&lt;br /&gt;         Else&lt;br /&gt;             arrnormptsEnd (j) = arrnvect&lt;br /&gt;         End If&lt;br /&gt;     &lt;br /&gt;         Dim intcrossnpts: intcrossnpts = 2&lt;br /&gt;         Dim intstripefreq: intstripefreq = i+1&lt;br /&gt;         ReDim Preserve arrptwave(vpar)&lt;br /&gt;         Dim strWAVE&lt;br /&gt;         ReDim Preserve arrptwaveud(vpar)&lt;br /&gt;         Dim strwaveud&lt;br /&gt;     &lt;br /&gt;         If intstripefreq Mod 2 Then&lt;br /&gt;             If intstripefreq &lt;&gt; 1 Then&lt;br /&gt;                 If j Mod intcrossnpts Then&lt;br /&gt;             &lt;br /&gt;                     arrptwave(j) = arrnormptssurf(j)&lt;br /&gt;                     arrptwaveud(j) = arrnormptssurf(j)&lt;br /&gt;                 Else&lt;br /&gt;             &lt;br /&gt;                     arrptwave(j) = arrnormptssurfPr(j)&lt;br /&gt;                     arrptwaveud(j) = arrnormptsEnd(j)&lt;br /&gt;                 End If&lt;br /&gt;                 If j = vpar Then&lt;br /&gt;             &lt;br /&gt;                     strWAVE = Rhino.AddInterpCrvOnSrf (strsurf,arrptwave)     &lt;br /&gt;                     strwaveud = Rhino.AddInterpCurve (arrptwaveud, 3)&lt;br /&gt;             &lt;br /&gt;                     arrInterpCurve = array(strWAVEp(i-1), strwaveudpr(i-1),    strWAVE)&lt;br /&gt;                     strsurfLoft = Rhino.AddLoftSrf (arrInterpCurve, , ,intLoftType,1,100, False)&lt;br /&gt;                     Call     Rhino.SurfaceIsocurveDensity (strsurfLoft, -1)&lt;br /&gt;                 End If&lt;br /&gt;             End If&lt;br /&gt;         Else&lt;br /&gt;             If j Mod intcrossnpts Then&lt;br /&gt;                 arrptwave(j) = arrnormptssurfPr(j)&lt;br /&gt;                 arrptwaveud(j) = arrnormptsEnd(j)&lt;br /&gt;             Else&lt;br /&gt;                 arrptwave(j) = arrnormptssurf(j)&lt;br /&gt;                 arrptwaveud(j) = arrnormptssurf(j)&lt;br /&gt;             End If&lt;br /&gt;             If j = vpar Then&lt;br /&gt;                 strWAVE = Rhino.AddInterpCrvOnSrf (strsurf,arrptwave)&lt;br /&gt;                 strwaveud = Rhino.AddInterpCurve (arrptwaveud, 3)&lt;br /&gt;                 If i&gt;1 Then&lt;br /&gt;                     arrInterpCurve = array(strWAVEp(i-1), strwaveudpr(i-1),    strWAVE)&lt;br /&gt;                     strsurfLoft = Rhino.AddLoftSrf (arrInterpCurve, , ,intLoftType,1,100, False)&lt;br /&gt;                     Rhino.SurfaceIsocurveDensity strsurfLoft, -1&lt;br /&gt;             &lt;br /&gt;&lt;br /&gt;                 End If&lt;br /&gt;             End If&lt;br /&gt;&lt;br /&gt;         End If&lt;br /&gt;         ReDim Preserve strWAVEp(upar)&lt;br /&gt;         strWAVEp(i) = strWAVE&lt;br /&gt;         ReDim Preserve strwaveudpr(upar)&lt;br /&gt;         strwaveudpr(i) = strwaveud&lt;br /&gt;         ReDim Preserve arrnormptssurfPr(vpar)&lt;br /&gt;         arrnormptssurfPr(j) = arrnormptssurf(j)&lt;br /&gt;         ReDim Preserve arrnormptsEndpr(vpar)&lt;br /&gt;         arrnormptsEndpr(j) = arrnormptsEnd(j)&lt;br /&gt;     &lt;br /&gt; &lt;br /&gt;     Next&lt;br /&gt;&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject (strsurf)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 7 SURFBOXHOLE -----&lt;br /&gt;&lt;br /&gt;Sub surfboxhole(strsurf,upar,vpar)&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt; Dim intposition: intposition = rhino.getreal ("maximum interposition?",0.05,0)&lt;br /&gt; Dim intheight: intheight = rhino.getreal("maximum height?",0.4,0)&lt;br /&gt;&lt;br /&gt; Dim i,j&lt;br /&gt; Dim uvalone(1),uvaltwo&lt;br /&gt; Dim arrudom, arrvdom&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4&lt;br /&gt; Dim arrpts: arrpts = array(pt1,pt2,pt3,pt4)&lt;br /&gt; ReDim arrpts (upar,vpar)&lt;br /&gt; Dim temppt&lt;br /&gt; arrudom = array(0,0)&lt;br /&gt; arrvdom = array (0,0)&lt;br /&gt; &lt;br /&gt; arrudom = rhino.SurfaceDomain(strsurf,0)&lt;br /&gt; arrvdom = rhino.surfacedomain (strsurf,1)&lt;br /&gt;&lt;br /&gt; For i = 0 To upar&lt;br /&gt;     For j= 0 To vpar&lt;br /&gt;         uvalone(0) = ((arrudom(1)-arrudom(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrvdom(1)-arrvdom(0))/vpar) * (j)&lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf, uvalone)&lt;br /&gt;         arrpts(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt; &lt;br /&gt; For i = 0 To upar-1&lt;br /&gt;     For j=0 To vpar -1&lt;br /&gt;         pt1 = arrpts(i,j)&lt;br /&gt;         pt2 = arrpts(i+1,j)&lt;br /&gt;         pt3 = arrpts(i+1,j+1)&lt;br /&gt;         pt4 = arrpts (i,j+1)&lt;br /&gt;         Call drawbox2(pt1,pt2,pt3,pt4,intposition,intheight)&lt;br /&gt;         &lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.DeleteObject (strsurf)&lt;br /&gt;&lt;br /&gt; Call rhino.enableredraw(True)&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function drawbox2(pt1,pt2,pt3,pt4,intposition,intheight)&lt;br /&gt; Dim tempsrf, arrdomainU, arrdomainv, arrdirection&lt;br /&gt; Dim arrparam(1), arrnormal, linenormalsmall, linenormalbig, pt5&lt;br /&gt; Dim linep1p4, linep1p4extend, linearray, linep1p2, linep1p4norm,linep1p2extend&lt;br /&gt; Dim vertsurface1,vertsurface2, arrptdomain,arrptparam,pt6&lt;br /&gt;&lt;br /&gt; tempsrf = rhino.AddSrfPt(array(pt1,pt2,pt3,pt4))&lt;br /&gt;&lt;br /&gt; arrdomainU = rhino.surfacedomain(tempsrf,0)&lt;br /&gt; arrdomainV = rhino.surfacedomain(tempsrf,1)&lt;br /&gt; arrparam(0) = (arrdomainU(1)-arrdomainu(0))/2&lt;br /&gt; arrparam(1) = (arrdomainV(1)-arrdomainV(0))/2&lt;br /&gt; pt5 = rhino.EvaluateSurface(tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; arrnormal = rhino.surfacenormal(tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt; Dim vector&lt;br /&gt; vector = rhino.PointAdd(pt5,arrnormal)&lt;br /&gt; linenormalsmall = rhino.AddLine(pt5, Rhino.VectorAdd(pt5,arrnormal))&lt;br /&gt; linenormalbig = rhino.ExtendCurveLength(linenormalsmall, 0,1,intheight*rnd)&lt;br /&gt;&lt;br /&gt; arrptdomain = rhino.CurveDomain(linenormalbig)&lt;br /&gt; arrptparam = arrptdomain(1)&lt;br /&gt; pt6 = rhino.EvaluateCurve(linenormalbig,arrptparam)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; linep1p4 = rhino.AddLine(pt1,pt4)&lt;br /&gt; linep1p2 = rhino.AddLine(pt1,pt2)&lt;br /&gt; linep1p4norm = rhino.CopyObject(linep1p4,pt5,pt6)&lt;br /&gt; linep1p4extend = rhino.ExtendCurveLength(linep1p4, 0,1,intposition)&lt;br /&gt; linep1p2extend = rhino.ExtendCurveLength(linep1p2, 0,1,intposition)&lt;br /&gt; linearray= (array(linep1p4extend,linep1p4norm))&lt;br /&gt; vertsurface1 =rhino.AddEdgeSrf(linearray)&lt;br /&gt; vertsurface2 = rhino.ExtrudeSurface(vertsurface1,linep1p2extend)&lt;br /&gt;&lt;br /&gt; Dim linenormhuge&lt;br /&gt; linenormhuge = rhino.ExtendCurveLength(linenormalsmall,0,1,40)&lt;br /&gt; Dim ellipse1&lt;br /&gt; ellipse1 = rhino.AddCurve(array(pt1,pt2,pt3,pt4,pt1))&lt;br /&gt;&lt;br /&gt; rhino.SelectObject ellipse1&lt;br /&gt; rhino.Command("-patch " &amp;amp; "enter")&lt;br /&gt;&lt;br /&gt; Dim ellipse2&lt;br /&gt;&lt;br /&gt; ellipse2=rhino.FirstObject&lt;br /&gt;&lt;br /&gt; Dim ellipse3&lt;br /&gt;&lt;br /&gt; ellipse3 = rhino.ExtrudeSurface(ellipse2,linenormhuge)&lt;br /&gt;&lt;br /&gt; rhino.MoveObject ellipse3, pt6,pt5&lt;br /&gt;&lt;br /&gt; Dim arrellipse, arrtrapezoid&lt;br /&gt; arrellipse = (array(ellipse3))&lt;br /&gt; arrtrapezoid = (array(vertsurface2))&lt;br /&gt; rhino.BooleanDifference arrtrapezoid,arrellipse&lt;br /&gt;&lt;br /&gt; Call rhino.DeleteObject(tempsrf)&lt;br /&gt; Call rhino.DeleteObject(ellipse2)&lt;br /&gt; Call rhino.DeleteObject(linenormhuge)&lt;br /&gt; Call rhino.DeleteObjects(array(linep1p4norm,linep1p2extend,linep1p4extend,linep1p2,linep1p4))&lt;br /&gt; rhino.UnselectAllObjects&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 8 SURFPYRAMID -----&lt;br /&gt;&lt;br /&gt;Sub Surfpyramid(strsurf,upar,vpar)&lt;br /&gt; Dim intheight: intheight = rhino.getreal("maximum height?",0.4,0)&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt;&lt;br /&gt; Dim i, j&lt;br /&gt; Dim uvalone(1), uvaltwo&lt;br /&gt; Dim arrudom, arrvdom&lt;br /&gt; Dim arrpttemp, pointtwo&lt;br /&gt; Dim pt1, pt2, pt3, pt4&lt;br /&gt;&lt;br /&gt; Dim arrpts()&lt;br /&gt; ReDim arrpts (upar, vpar)&lt;br /&gt;&lt;br /&gt; arrudom = array(0,0)&lt;br /&gt; arrvdom= array(0,0)&lt;br /&gt;&lt;br /&gt; If rhino.IsSurface(strsurf) Then&lt;br /&gt;     arrudom = rhino.SurfaceDomain(strsurf, 0)&lt;br /&gt;     arrvdom = rhino.SurfaceDomain(strsurf, 1)&lt;br /&gt; &lt;br /&gt; End If&lt;br /&gt;&lt;br /&gt; For i=0 To upar&lt;br /&gt;     For j=0 To vpar&lt;br /&gt;         uvalone(0) = ((arrudom(1)-arrudom(0))/upar)*i&lt;br /&gt;         uvalone(1) = ((arrvdom(1)-arrvdom(0))/vpar)*j&lt;br /&gt;     &lt;br /&gt;         arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)&lt;br /&gt;         arrpts(i,j) = arrpttemp&lt;br /&gt;     Next&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; For i =0 To upar-1&lt;br /&gt;     For j=0 To vpar-1&lt;br /&gt;         pt1 = arrpts (i,j)&lt;br /&gt;         pt2 = arrpts (i+1,j)&lt;br /&gt;         pt3 = arrpts (i+1,j+1)&lt;br /&gt;         pt4 = arrpts (i,j+1) 'rettangoli di base&lt;br /&gt; &lt;br /&gt;         Call pyramid (pt1,pt2,pt3,pt4,intheight)&lt;br /&gt;     Next&lt;br /&gt;&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt; Call rhino.deleteobject (strsurf)&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function pyramid(pt1,pt2,pt3,pt4,intheight)&lt;br /&gt; Dim tempsrf, arrdomainU, arrdomainV, arrdirection&lt;br /&gt; Dim arrparam(1), arrnormal, linenormalsmall, linenormalbig, arrptdomain, arrptparam&lt;br /&gt; Dim pt5, pt6&lt;br /&gt; Dim sideone, sidetwo, sidethree, sidefour&lt;br /&gt; tempsrf = rhino.addsrfpt (array(pt1,pt2,pt3,pt4))&lt;br /&gt;&lt;br /&gt; arrdomainU = rhino.SurfaceDomain(tempsrf,0)&lt;br /&gt; arrdomainv= rhino.SurfaceDomain(tempsrf,1)&lt;br /&gt; arrparam(0)  = (arrdomainU(1)-arrdomainU(0))/2&lt;br /&gt; arrparam(1) = (arrdomainv(1)-arrdomainV(0))/2&lt;br /&gt; pt5 = rhino.EvaluateSurface(tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt; arrnormal = rhino.surfacenormal (tempsrf, arrparam)&lt;br /&gt;&lt;br /&gt; Dim vector&lt;br /&gt; vector = rhino.PointAdd(pt5,arrnormal)&lt;br /&gt; linenormalsmall = rhino.AddLine(pt5, Rhino.VectorAdd(pt5,arrnormal))&lt;br /&gt; linenormalbig = rhino.ExtendCurveLength(linenormalsmall, 0,1,intheight)'maybe rnd*height&lt;br /&gt;&lt;br /&gt; rhino.selectobject (tempsrf)&lt;br /&gt; rhino.Command "flip"&lt;br /&gt; arrnormal = rhino.SurfaceNormal(tempsrf, arrparam)&lt;br /&gt; vector = rhino.PointAdd(pt5,arrnormal)&lt;br /&gt; linenormalsmall = rhino.AddLine(pt5, Rhino.VectorAdd(pt5,arrnormal))&lt;br /&gt; 'rhino.ExtrudeSurface tempsrf, linenormalsmall&lt;br /&gt; arrptdomain = rhino.curvedomain(linenormalbig)&lt;br /&gt; arrptparam = arrptdomain(1)&lt;br /&gt; pt6 = rhino.EvaluateCurve(linenormalbig, arrptparam)&lt;br /&gt;&lt;br /&gt; sideone = rhino.AddSrfPt (array(pt1,pt2,pt6))&lt;br /&gt; sideone = rhino.AddSrfPt (array(pt2,pt3,pt6))&lt;br /&gt; sideone = rhino.AddSrfPt (array(pt3,pt4,pt6))&lt;br /&gt; sideone = rhino.AddSrfPt (array(pt4,pt1,pt6))&lt;br /&gt;&lt;br /&gt; Call rhino.deleteobject(linenormalsmall)&lt;br /&gt; Call rhino.deleteobject (linenormalbig)&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;' -----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt; '----- CASE 6 SURFWAVES -----&lt;br /&gt;&lt;br /&gt;Sub Surfwaves (strsurf, nrows, ncolumns)&lt;br /&gt; Dim u, v, i,j, arrparam(1), arrpoint&lt;br /&gt; Dim arrparamnormal, arrnormal, normal, deltaheight&lt;br /&gt; Dim vector, arrnormalnew&lt;br /&gt; Dim strinterpcurve, strinterpcurveonsurf&lt;br /&gt; Dim strsurfloft&lt;br /&gt;&lt;br /&gt; nrows = nrows -1&lt;br /&gt; ncolumns = ncolumns -1&lt;br /&gt;&lt;br /&gt; deltaheight = rhino.GetReal("wave height?",5,1)&lt;br /&gt; Call rhino.enableredraw(False)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; U = RHino.SurfaceDomain(strsurf,0)&lt;br /&gt; v = rhino.surfacedomain(strsurf,1)&lt;br /&gt;&lt;br /&gt; If Not isarray(u) Or Not isarray(V) Then Exit Sub&lt;br /&gt;&lt;br /&gt; For i = 0 To nrows&lt;br /&gt;     arrparam(0) = U(0) + ((U(1)-u(0))/nrows)*i&lt;br /&gt;&lt;br /&gt;     For j= 0 To ncolumns&lt;br /&gt;         arrparam(1) = V(0) + ((V(1)-V(0))/ncolumns)*j&lt;br /&gt;         arrpoint = rhino.evaluatesurface(strsurf, arrparam)&lt;br /&gt;      &lt;br /&gt;         arrparamnormal = rhino.SurfaceNormal(strsurf,arrparam)&lt;br /&gt;         arrparamnormal= rhino.vectorscale(arrparamnormal, CDbl(deltaheight))&lt;br /&gt;         vector = rhino.PointAdd(arrpoint,arrparamnormal)&lt;br /&gt;         normal = rhino.AddLine(arrpoint, vector)&lt;br /&gt;     &lt;br /&gt;         ReDim Preserve arrnormalendcollection(ncolumns)&lt;br /&gt;         If j = 0 And j = ncolumns Then&lt;br /&gt;             arrnormalendcollection(j)=arrpoint&lt;br /&gt;         Else&lt;br /&gt;             arrnormalendcollection(j) = vector&lt;br /&gt;         End If&lt;br /&gt;         &lt;br /&gt;         ReDim Preserve arrnormaloriginecollection(ncolumns)&lt;br /&gt;         arrnormaloriginecollection(j) = arrpoint&lt;br /&gt; &lt;br /&gt;         Call rhino.deleteobject    (normal)&lt;br /&gt;&lt;br /&gt;     Next&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;     ReDim Preserve arrInterpcurve(nrows)&lt;br /&gt;     If i Mod 2  Then&lt;br /&gt;         arrinterpcurve(i) = rhino.addinterpcurve(arrnormalendcollection)&lt;br /&gt;     Else&lt;br /&gt;         arrinterpcurve(i) = rhino.AddInterpCrvOnSrf(strsurf,arrnormaloriginecollection)&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; strsurfloft = rhino.AddLoftSrf(arrinterpcurve, , ,3,1,100)&lt;br /&gt; rhino.SurfaceIsocurveDensity strsurfloft, -1&lt;br /&gt; rhino.ObjectColor strsurfloft, rgb(255,0,255)&lt;br /&gt;&lt;br /&gt; Call rhino.DeleteObjects (arrinterpcurve)&lt;br /&gt; Call rhino.deleteobject (strsurf)&lt;br /&gt; Call rhino.deleteobjects (vector)&lt;br /&gt; Call rhino.EnableRedraw(True)&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-8443075504775055360?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/8443075504775055360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/chapter-1-textures.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/8443075504775055360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/8443075504775055360'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/chapter-1-textures.html' title='CHAPTER 1 - Textures'/><author><name>Vink</name><uri>http://www.blogger.com/profile/16940668537328782292</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://3.bp.blogspot.com/_YLv1_pGBEP8/TOLKbzWDgPI/AAAAAAAAA-8/6r6xSMzmMfQ/S220/photo%2Bbw%2Blow10.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_YLv1_pGBEP8/SgmJY5XsgLI/AAAAAAAAADk/Kf0d2AuURtY/s72-c/intesta+copia.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-9081018660136437893</id><published>2009-05-02T11:18:00.003+02:00</published><updated>2009-05-02T12:08:02.464+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grasshopper'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips and Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='RhinoScript'/><title type='text'>Interpolation function</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;In a &lt;a href="http://groups.google.com/group/grasshopper3d/browse_thread/thread/1e7774dc89e906d2?hl=en"&gt;discussion&lt;/a&gt; on the Grasshopper Google Group, David Rutten (btw... whenever you read, hear or pronounce this name please join hands as in prayer and say "Thank you, Zen master!"), as I said, David Rutten (repeat) has posted a useful and easy to implement function for interpolation. Here's the text extracted from the &lt;a href="http://groups.google.com/group/grasshopper3d/browse_thread/thread/1e7774dc89e906d2?hl=en"&gt;discussion&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;there's a good function that always works when interpolating linearly between two tensors (be they numbers, vectors, points... any kind of data that can be blended).&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;If you have 2 values (A &amp;amp; B) and you want to interpolate between them at f (a blending factor), the function is always:&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;R = A + f * (B-A)&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;For example, let's fill in a few numbers and see what happens... Let's assume we want to find the value one quarter along the way between 15 and 19:&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;R = 15 + 0.25 * (19-15)&lt;br /&gt;R = 16&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;Or, let's go twice beyond two points {10, 10, 0} and {12, 15, 4}&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p  style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;R = {10, 10, 0} + 2.0 * ({12, 15, 4} - {10, 10, 0})&lt;br /&gt;R = {10, 10, 0} + 2.0 * ({2, 5, 4})     &lt;---- if you subtract two points you get the vector going from A to B  R = {10, 10, 0} + {4, 10, 8}  R = {14, 20, 8} &lt;/span&gt; &lt;/p&gt; &lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102); font-family: arial;"&gt;This function is handy because it works without division (no division by zero errors), it works well when A is larger than B and it works for every value of f (i.e. you can also use it to extrapolate).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well, nothing really new to those of you guys who followed the seminar, we talked and applied a lot of interpolations as a basic task of implementing gradients at different levels of discretization, but I think Rutten explains it very straightforward so it might be useful to have it as a reminder. Now go and apply it to any attractor/repellor/blend case you might undergo from now on.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-9081018660136437893?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/9081018660136437893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/interpolation-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/9081018660136437893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/9081018660136437893'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/05/interpolation-function.html' title='Interpolation function'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-1351434836953811850</id><published>2009-04-29T09:23:00.002+02:00</published><updated>2009-04-29T09:27:39.511+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grasshopper'/><category scheme='http://www.blogger.com/atom/ns#' term='Paneling Tools'/><title type='text'>Paneling Tools in Grasshopper</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://en.wiki.mcneel.com/content/upload/images/pt_bakecurves.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 684px; height: 597px;" src="http://en.wiki.mcneel.com/content/upload/images/pt_bakecurves.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;Rajaa Issa announces the intention to bring Paneling Tools into Grasshopper.&lt;br /&gt;&lt;br /&gt;Here's a &lt;a href="http://en.wiki.mcneel.com/default.aspx/McNeel/PanelingToolsAndGrasshopper.html"&gt;quick peek&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-1351434836953811850?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/1351434836953811850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/paneling-tools-in-grasshopper.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1351434836953811850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1351434836953811850'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/paneling-tools-in-grasshopper.html' title='Paneling Tools in Grasshopper'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-3391401822297577632</id><published>2009-04-13T02:01:00.004+02:00</published><updated>2009-04-13T02:05:26.699+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Easter'/><category scheme='http://www.blogger.com/atom/ns#' term='RhinoScript'/><title type='text'>Easter Egg</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hGmdFDwgk6A/SeKBAYGP2RI/AAAAAAAAAbE/mePCxIwpwRA/s1600-h/Easter_mod.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_hGmdFDwgk6A/SeKBAYGP2RI/AAAAAAAAAbE/mePCxIwpwRA/s400/Easter_mod.jpg" alt="" id="BLOGGER_PHOTO_ID_5323959552973986066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-size:85%;" &gt;This is just for laughs, nothing serious, ok? Had some fun doing this small Easter Script.&lt;br /&gt;&lt;br /&gt;1. Create a sphere in Rhino and stretch its control points to turn it into an egg&lt;br /&gt;&lt;br /&gt;2. run the script below&lt;br /&gt;&lt;br /&gt;3. Happy Easter!&lt;br /&gt;&lt;br /&gt;Here's the script:&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;'&lt;br /&gt;'&lt;br /&gt;'&lt;br /&gt;'                                                . Easter Stripe Egg&lt;br /&gt;'                                                 . script written by Alessio Erioli&lt;br /&gt;'                                                 .&lt;br /&gt;'                                                 . v. 12 April 2009 + 22:05:27&lt;br /&gt;'                                                 . © Alessio Erioli&lt;br /&gt;'                                                . monkey Rulez, so play by the rulez.&lt;br /&gt;'____________________________________________________________________________________&lt;br /&gt;&lt;br /&gt;Call Easteregg()&lt;br /&gt;&lt;br /&gt;Sub Easteregg()&lt;br /&gt;   &lt;br /&gt;    ' input surface and division intervals&lt;br /&gt;   &lt;br /&gt;    Dim strSurf: strSurf=Rhino.GetObject("select a surface",8)&lt;br /&gt;   &lt;br /&gt;    ' vertical subdivision intervals (&lt;=200, otherwise sweep fails)&lt;br /&gt;&lt;br /&gt;    Dim intVInt: intVInt=Rhino.GetInteger("n. of V intervals?",200,10)&lt;br /&gt;   &lt;br /&gt;    'lights off!&lt;br /&gt;   &lt;br /&gt;    Rhino.EnableRedraw False&lt;br /&gt;   &lt;br /&gt;    ' get surface domain (u and v)&lt;br /&gt;       &lt;br /&gt;    Dim arrUdom,arrVdom, zminPt, zmaxPt&lt;br /&gt;   &lt;br /&gt;    arrUdom = Rhino.SurfaceDomain(strSurf,0)&lt;br /&gt;   &lt;br /&gt;    arrVdom = Rhino.SurfaceDomain(strSurf,1)&lt;br /&gt;   &lt;br /&gt;    ' get zmin and zmax points&lt;br /&gt;   &lt;br /&gt;    zminPt=Rhino.EvaluateSurface(strSurf,array(arrUdom(0),arrVdom(0)))&lt;br /&gt;   &lt;br /&gt;    zmaxPt=Rhino.EvaluateSurface(strSurf,array(arrUdom(0),arrVdom(1)))&lt;br /&gt;   &lt;br /&gt;    Dim i, inc, angInc, ang, arrPt, arrPt2, vect, strCrv&lt;br /&gt;   &lt;br /&gt;    Dim arrPts: ReDim arrPts(intVint)&lt;br /&gt;   &lt;br /&gt;    ' hetght and angle increments&lt;br /&gt;   &lt;br /&gt;    inc = (zmaxPt(2)-zminPt(2))/intVint&lt;br /&gt;       &lt;br /&gt;    angInc = 180/5&lt;br /&gt;&lt;br /&gt;    ang = 0&lt;br /&gt;   &lt;br /&gt;    For i = 0 To IntVint&lt;br /&gt;       &lt;br /&gt;        ' point along vertical&lt;br /&gt;       &lt;br /&gt;        arrPt= array (zminPt(0),zminPt(1),zminPt(2)+(i*inc))&lt;br /&gt;       &lt;br /&gt;        ' second point for vector construction&lt;br /&gt;       &lt;br /&gt;        arrPt2 = array (zminPt(0)+1,zminPt(1),zminPt(2)+(i*inc))&lt;br /&gt;       &lt;br /&gt;        ' vector construction and rotation&lt;br /&gt;       &lt;br /&gt;        vect= Rhino.VectorCreate(arrPt, arrPt2)&lt;br /&gt;       &lt;br /&gt;        vect=Rhino.VectorRotate(vect,ang+i*angInc,array(0,0,1))&lt;br /&gt;       &lt;br /&gt;        ' projects point to surface&lt;br /&gt;       &lt;br /&gt;        arrPts(i)=Rhino.ProjectPointToSurface(arrPt,strSurf, vect)(0)&lt;br /&gt;       &lt;br /&gt;        If Isnull(arrPts(i)) Then&lt;br /&gt;           &lt;br /&gt;            arrPts(i)=arrPt&lt;br /&gt;           &lt;br /&gt;        End If&lt;br /&gt;       &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    ' create base curve&lt;br /&gt;   &lt;br /&gt;    strCrv = Rhino.AddInterpCurve(arrPts,3)&lt;br /&gt;   &lt;br /&gt;    Dim arrPlane,arrCircles, dblrad&lt;br /&gt;   &lt;br /&gt;    ReDim arrCircles(intVint)&lt;br /&gt;   &lt;br /&gt;    ' create circular sections along curve&lt;br /&gt;   &lt;br /&gt;    For i=0 To intVint&lt;br /&gt;   &lt;br /&gt;        arrPlane=Rhino.CurvePerpFrame(strCrv,Rhino.CurveClosestPoint(strCrv,arrPts(i)))&lt;br /&gt;       &lt;br /&gt;        dblrad=sin(i*pi/intVint)+0.001&lt;br /&gt;       &lt;br /&gt;        arrCircles(i)=Rhino.AddCircle(arrPlane,dblrad)&lt;br /&gt;       &lt;br /&gt;    Next   &lt;br /&gt;&lt;br /&gt;    ' add a sweep 1 rail surface&lt;br /&gt;   &lt;br /&gt;    Call Rhino.Addsweep1(strCrv, arrCircles)&lt;br /&gt;   &lt;br /&gt;    ' hide unnecessary elements&lt;br /&gt;   &lt;br /&gt;    Rhino.HideObject strCrv&lt;br /&gt;   &lt;br /&gt;    Rhino.HideObject strSurf&lt;br /&gt;   &lt;br /&gt;    Rhino.HideObjects arrCircles&lt;br /&gt;   &lt;br /&gt;    ' lights on!&lt;br /&gt;   &lt;br /&gt;    Rhino.EnableRedraw True&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-3391401822297577632?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/3391401822297577632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/easter-egg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3391401822297577632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3391401822297577632'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/easter-egg.html' title='Easter Egg'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hGmdFDwgk6A/SeKBAYGP2RI/AAAAAAAAAbE/mePCxIwpwRA/s72-c/Easter_mod.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-5454188913381096853</id><published>2009-04-02T18:50:00.003+02:00</published><updated>2009-04-02T18:52:24.571+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RhinoScript'/><title type='text'>Rhinoscript new release</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial;"&gt;A new version of Rhinoscript is available for download, in order to accomplish the changes and fixes of Rhino 4.0 SR 5.&lt;br /&gt;&lt;br /&gt;Download it from RhinoLabs page:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wiki.mcneel.com/default.aspx/McNeel/RhinoScriptLabs.html"&gt;http://en.wiki.mcneel.com/default.aspx/McNeel/RhinoScriptLabs.html&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-5454188913381096853?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/5454188913381096853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/rhinoscript-new-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5454188913381096853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5454188913381096853'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/rhinoscript-new-release.html' title='Rhinoscript new release'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-2833402990546397974</id><published>2009-04-02T15:01:00.007+02:00</published><updated>2009-04-02T15:20:14.758+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grasshopper'/><title type='text'>Grasshopper manuals - IMPORTANT RELEASES</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hGmdFDwgk6A/SdS6FVs0NEI/AAAAAAAAAa0/EW4M701X5q4/s1600-h/Primer+v2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 168px;" src="http://4.bp.blogspot.com/_hGmdFDwgk6A/SdS6FVs0NEI/AAAAAAAAAa0/EW4M701X5q4/s400/Primer+v2.jpg" alt="" id="BLOGGER_PHOTO_ID_5320081660718625858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;1. Andrew Payne from LIFT architects has released a new update of his Grasshopper Primer. Rajaa Issa has given a huge contribution in this issue, and the most important feature is a section dedicated to VB.net scripting in Grasshopper. Download it here:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://www.liftarchitects.com/journal/2009/3/25/the-grasshopper-primer-second-edition.html"&gt;http://www.liftarchitects.com/journal/2009/3/25/the-grasshopper-primer-second-edition.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hGmdFDwgk6A/SdS6ldkDxrI/AAAAAAAAAa8/jRSaGRzfP0U/s1600-h/am.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 114px;" src="http://3.bp.blogspot.com/_hGmdFDwgk6A/SdS6ldkDxrI/AAAAAAAAAa8/jRSaGRzfP0U/s400/am.jpg" alt="" id="BLOGGER_PHOTO_ID_5320082212585195186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;2. Mohamad Khabazi has released an impressive 180 pages guide to algorithmic modeling in Grasshopper based on the studies at EmTech AA made in fall 2008, a must  for architectural exploration with this tool. Download it here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.rhino3d.com/2009/04/algorithmic-modelling-with-grasshopper.html"&gt;http://blog.rhino3d.com/2009/04/algorithmic-modelling-with-grasshopper.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-2833402990546397974?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/2833402990546397974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/grasshopper-manuals-important-releases.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2833402990546397974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2833402990546397974'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/04/grasshopper-manuals-important-releases.html' title='Grasshopper manuals - IMPORTANT RELEASES'/><author><name>Ale2x72</name><uri>http://www.blogger.com/profile/05563620402969531963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_hGmdFDwgk6A/TM1YhcHlk6I/AAAAAAAAB5A/8UOYiCRxO50/S220/avatar_bn.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hGmdFDwgk6A/SdS6FVs0NEI/AAAAAAAAAa0/EW4M701X5q4/s72-c/Primer+v2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-2114610129656398835</id><published>2009-03-27T16:12:00.003+01:00</published><updated>2009-03-27T16:19:56.483+01:00</updated><title type='text'>phyllotaxis pavilion 02</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nUq_DDL8RXA/ScztYNYqiII/AAAAAAAAANs/lBur5byZsgA/s1600-h/blog+04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_nUq_DDL8RXA/ScztYNYqiII/AAAAAAAAANs/lBur5byZsgA/s400/blog+04.jpg" alt="" id="BLOGGER_PHOTO_ID_5317886260183468162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;this is another evolution in my pavilion project.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;i used two Fibonacci's number (13 and 21) different from previous experiment, in this way i could obtain smaller panels that make more evident the &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;modulation of holes.&lt;br /&gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;i modified the tubolar shape, so in the middle of the generator curve the pavilion section is more similar to an ellipse than a circle.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;to obtain a more standardized shape of the triangular panel (in previous experiments they are more stretched in pavilion extremes), generator curve is not &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;divided in equal part but division lenght change with the distance from an attractor point (which influences pavilion radius also). &lt;/span&gt; &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;for this pavilion i created a double membrane, it's thicker near the ground (to be more resistant) and became thinner going to the top.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;the modulation of holes is achieved by an attractor point placed near the middle of the curve generator.  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nUq_DDL8RXA/ScztY5DY5qI/AAAAAAAAAN8/3bA67-nZ_kI/s1600-h/blog+05+copy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_nUq_DDL8RXA/ScztY5DY5qI/AAAAAAAAAN8/3bA67-nZ_kI/s400/blog+05+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5317886271905392290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nUq_DDL8RXA/ScztYik5aOI/AAAAAAAAAN0/O0JvD-KamuU/s1600-h/blog+06+copy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_nUq_DDL8RXA/ScztYik5aOI/AAAAAAAAAN0/O0JvD-KamuU/s400/blog+06+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5317886265871919330" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Option Explicit&lt;br /&gt;'Script written by andrea bugli&lt;br /&gt;'   "SHIFT"    http://andbug.blogspot.com&lt;br /&gt;'Script version venerdì 6 marzo 2009  19.54.31&lt;br /&gt;&lt;br /&gt;Call pavilion02triangular&lt;br /&gt;Sub pavilion02triangular&lt;br /&gt;   &lt;br /&gt;    Call rhino.enableredraw(False)&lt;br /&gt;&lt;br /&gt;    Dim strBpts,arrcircle&lt;br /&gt;    Dim strcurve: strcurve = rhino.GetObject("select a curve", 4, True, True)&lt;br /&gt;    Dim domain: domain = rhino.CurveDomain(strCurve)&lt;br /&gt;    Dim domPt(), distPt, intcount&lt;br /&gt;    intcount = 0&lt;br /&gt;   &lt;br /&gt;    Dim ptparam1: ptparam1 = rhino.GetObject("select curve attractor point", 1)&lt;br /&gt;    Dim ptcoord1: ptcoord1 = rhino.PointCoordinates(ptparam1)&lt;br /&gt;    Dim strAttrHoles: strAttrHoles = rhino.GetObject("select holes attractor point", 1)&lt;br /&gt;    Dim arrAttrHoles: arrAttrHoles = rhino.PointCoordinates(strAttrHoles)&lt;br /&gt;    Dim strMeshGr: strMeshGr = rhino.GetObject("select ground mesh", 32)&lt;br /&gt;    Call rhino.AddLayer("glass")&lt;br /&gt;   &lt;br /&gt;    ReDim Preserve domPt(0)&lt;br /&gt;    domPt(intcount) = domain(0)&lt;br /&gt;    ''''''''' division of generator curve based on distance from ptcoord1&lt;br /&gt;    Do&lt;br /&gt;        intcount = intcount+1&lt;br /&gt;        distPt = rhino.Distance(ptcoord1, rhino.EvaluateCurve(strcurve, domPt(intcount-1)))&lt;br /&gt;        If domPt(intcount-1)+(0.035/distPt) &gt; domain(1) Then Exit Do&lt;br /&gt;        ReDim Preserve domPt(intcount)&lt;br /&gt;        domPt(intcount) = domPt(intcount-1)+(0.018/distPt)   &lt;br /&gt;    Loop&lt;br /&gt;&lt;br /&gt;    ReDim arrcircle(ubound(domPt))&lt;br /&gt;    Dim i, dblRad&lt;br /&gt;    Dim ptrot, pt, ptcurve&lt;br /&gt;    ReDim ptrot(ubound(domPt))&lt;br /&gt;       &lt;br /&gt;    rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt;    For i = 0 To ubound(domPt)   &lt;br /&gt;        Dim strPoncurve: strPoncurve = rhino.EvaluateCurve(strcurve, dompt(i))&lt;br /&gt;        Dim strframe: strframe = rhino.Curveperpframe(strcurve, dompt(i))&lt;br /&gt;        Dim tang: tang = rhino.curvetangent(strcurve, dompt(i))&lt;br /&gt;        Dim dist: dist = rhino.Distance(strPoncurve, ptcoord1)&lt;br /&gt;           &lt;br /&gt;        arrcircle(i) = rhino.addcircle(strframe, 60/dist)&lt;br /&gt;        ptcurve = rhino.CurveStartPoint(arrcircle(i))&lt;br /&gt;        pt = rhino.addpoint(ptcurve)&lt;br /&gt;        dblRad = rhino.distance(strPoncurve, ptcurve)&lt;br /&gt;        ''''''''' tubolar shape is scaled to obtain a pavilion section more similar to an ellipse than a circle&lt;br /&gt;        ptrot(i) = rhino.RotateObject(pt, strPoncurve, 137.52*i, tang, True)&lt;br /&gt;        ptrot(i) = rhino.ScaleObject(ptrot(i), strPoncurve, array((1+dblRad*0.015),(1+dblRad*0.015),(1-dblRad*0.035)))&lt;br /&gt;       &lt;br /&gt;        Call    rhino.Deleteobject(pt)       &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    Dim arrVectPos, arrVectNeg, arrPtPos&lt;br /&gt;    ReDim arrPtPos(ubound(ptrot))&lt;br /&gt;    Dim arrPtOnMesh, dblDistPtM, dblDistCrv&lt;br /&gt;    ''''''''' here i create the double membrane&lt;br /&gt;    For i = 0 To ubound(ptrot)&lt;br /&gt;       &lt;br /&gt;        arrPtOnMesh = rhino.MeshClosestPoint(strMeshGr, rhino.PointCoordinates(ptrot(i)))&lt;br /&gt;        dblDistPtM = rhino.Distance(arrPtonMesh(0), rhino.PointCoordinates(ptrot(i)))&lt;br /&gt;        dblDistCrv = rhino.Distance(rhino.PointCoordinates(ptrot(i)), rhino.EvaluateCurve(strcurve, dompt(i)))&lt;br /&gt;        strPoncurve = rhino.EvaluateCurve(strcurve, dompt(i))&lt;br /&gt;        arrVectPos = rhino.VectorCreate(rhino.PointCoordinates(ptrot(i)), strPoncurve)&lt;br /&gt;        arrVectPos = rhino.VectorUnitize(arrVectPos)&lt;br /&gt;        arrVectPos = rhino.VectorScale(arrVectPos, 0.75*((dblDistCrv-1.4)/(dblDistPtM+3.5)))&lt;br /&gt;        arrPtPos(i) = rhino.PointAdd(rhino.PointCoordinates(ptrot(i)), arrVectPos)&lt;br /&gt;        ''''''''' double membrane is thicker near the ground&lt;br /&gt;        If (dblDistPtM &lt; 6) Then&lt;br /&gt;            arrVectPos = rhino.VectorScale(arrVectPos, (6 /(dblDistPtM + 3))^2)      &lt;br /&gt;        End If&lt;br /&gt;        &lt;br /&gt;        arrPtPos(i) = rhino.PointAdd(rhino.PointCoordinates(ptrot(i)), arrVectPos)&lt;br /&gt;   &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    Dim strCrv1(), strCrv2()&lt;br /&gt;    ReDim arrCrv1(ubound(ptrot))&lt;br /&gt;    ReDim arrCrv2(ubound(ptrot))&lt;br /&gt;    ''''''''' here i start to create triangles on the inner membrane&lt;br /&gt;    For i = 0 To ubound(ptrot)-34&lt;br /&gt;        arrCrv1(i) = rhino.AddInterpCurve(array(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+21)), rhino.PointCoordinates(ptrot(i+13)),rhino.PointCoordinates(ptrot(i))),1)&lt;br /&gt;        arrCrv2(i) = rhino.AddInterpCurve(array(rhino.PointCoordinates(ptrot(i+13)), rhino.PointCoordinates(ptrot(i+21)), rhino.PointCoordinates(ptrot(i+34)), rhino.PointCoordinates(ptrot(i+13))),1)&lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    Dim strCrvPos1(), strCrvPos2()&lt;br /&gt;    ReDim arrCrvPos1(ubound(ptrot))&lt;br /&gt;    ReDim arrCrvPos2(ubound(ptrot))&lt;br /&gt;    ''''''''' here i start to create triangles on the outer membrane&lt;br /&gt;    For i = 0 To ubound(arrPtPos)-34   &lt;br /&gt;        arrCrvPos1(i) = rhino.AddInterpCurve(array(arrPtPos(i), arrPtPos(i+21), arrPtPos(i+13),arrPtPos(i)),1)&lt;br /&gt;        arrCrvPos2(i) = rhino.AddInterpCurve(array(arrPtPos(i+13), arrPtPos(i+21), arrPtPos(i+34),arrPtPos(i+13)),1)&lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    For i = 0 To ubound(arrPtPos)-34   &lt;br /&gt;        Call rhino.AddLoftSrf(array(arrCrv1(i), arrCrvPos1(i)))&lt;br /&gt;        Call rhino.AddLoftSrf(array(arrCrv2(i), arrCrvPos2(i)))&lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    Dim arrCenter1(), arrCenter2()&lt;br /&gt;    Dim dblDistAttr1, dblDistAttr2&lt;br /&gt;    Dim arrVectAC1, arrVectBC1, arrVectCC1, arrPtAC1, arrPtBC1, arrPtCC1&lt;br /&gt;    Dim arrVectAC2, arrVectBC2, arrVectCC2, arrPtAC2, arrPtBC2, arrPtCC2&lt;br /&gt;    Dim dblScale1, dblScale2, dblDistHole&lt;br /&gt;    ReDim arrCenter1(ubound(arrPtPos)-34)&lt;br /&gt;    ReDim arrCenter2(ubound(arrPtPos)-34)&lt;br /&gt;    Dim strGlass&lt;br /&gt;    ''''''''' here i create triangular holes, their size is influenced by the distance from arrAttrHoles&lt;br /&gt;    For i = 0 To ubound(arrPtPos)-34&lt;br /&gt;           &lt;br /&gt;        arrCenter1(i) = rhino.CurveAreaCentroid(arrCrvPos1(i))&lt;br /&gt;               &lt;br /&gt;        arrVectAC1 = rhino.VectorCreate(arrCenter1(i)(0), rhino.PointCoordinates(ptrot(i)))&lt;br /&gt;        arrVectBC1 = rhino.VectorCreate(arrCenter1(i)(0), rhino.PointCoordinates(ptrot(i+13)))&lt;br /&gt;        arrVectCC1 = rhino.VectorCreate(arrCenter1(i)(0), rhino.PointCoordinates(ptrot(i+21)))&lt;br /&gt;               &lt;br /&gt;        dblDistHole = rhino.Distance(arrCenter1(i)(0), arrAttrHoles)&lt;br /&gt;        dblScale1 = 0.8/(dblDistHole * 0.1)&lt;br /&gt;       &lt;br /&gt;        If (dblScale1 &lt; 0.95) Then&lt;br /&gt;           &lt;br /&gt;            arrVectAC1 = rhino.VectorScale(arrVectAC1, dblScale1)&lt;br /&gt;            arrVectBC1 = rhino.VectorScale(arrVectBC1, dblScale1)&lt;br /&gt;            arrVectCC1 = rhino.VectorScale(arrVectCC1, dblScale1)&lt;br /&gt;            arrPtAC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i)), arrVectAC1)&lt;br /&gt;            arrPtBC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+13)), arrVectBC1)&lt;br /&gt;            arrPtCC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+21)), arrVectCC1)&lt;br /&gt;               &lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+13)), arrPtBC1, arrPtAC1))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+13)), rhino.PointCoordinates(ptrot(i+21)), arrPtCC1, arrPtBC1))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+21)), rhino.PointCoordinates(ptrot(i)), arrPtAC1, arrPtCC1))       &lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i), arrPtAC1, arrPtBC1, arrPtPos(i+13)))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+13), arrPtBC1, arrPtCC1, arrPtPos(i+21)))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+21), arrPtCC1, arrPtAC1, arrPtPos(i)))&lt;br /&gt;            ''''''''' i put the surface in the glass layer&lt;br /&gt;            strGlass = rhino.AddSrfPt(array(arrPtAC1, arrPtCC1, arrPtBC1))&lt;br /&gt;            Call rhino.ObjectLayer(strGlass, "glass")&lt;br /&gt;           &lt;br /&gt;        Else&lt;br /&gt;           &lt;br /&gt;        arrPtAC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i)), arrVectAC1)&lt;br /&gt;        arrPtBC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+13)), arrVectBC1)&lt;br /&gt;        arrPtCC1 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+21)), arrVectCC1)&lt;br /&gt;               &lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+13)), arrPtBC1))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+13)), rhino.PointCoordinates(ptrot(i+21)), arrPtCC1))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+21)), rhino.PointCoordinates(ptrot(i)), arrPtAC1))   &lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i), arrPtAC1, arrPtPos(i+13)))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+13), arrPtBC1, arrPtPos(i+21)))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+21), arrPtCC1, arrPtPos(i)))&lt;br /&gt;               &lt;br /&gt;        End If&lt;br /&gt;       &lt;br /&gt;        '----------------&lt;br /&gt;               &lt;br /&gt;        arrCenter2(i) = rhino.CurveAreaCentroid(arrCrvPos2(i))&lt;br /&gt;               &lt;br /&gt;        arrVectAC2 = rhino.VectorCreate(arrCenter2(i)(0), rhino.PointCoordinates(ptrot(i+13)))&lt;br /&gt;        arrVectBC2 = rhino.VectorCreate(arrCenter2(i)(0), rhino.PointCoordinates(ptrot(i+21)))&lt;br /&gt;        arrVectCC2 = rhino.VectorCreate(arrCenter2(i)(0), rhino.PointCoordinates(ptrot(i+34)))&lt;br /&gt;               &lt;br /&gt;        dblDistHole = rhino.Distance(arrCenter2(i)(0), arrAttrHoles)   &lt;br /&gt;        dblScale2 = 0.8/(dblDistHole * 0.1)&lt;br /&gt;       &lt;br /&gt;        If (dblScale2 &lt; 0.95)  Then&lt;br /&gt;               &lt;br /&gt;            arrVectAC2 = rhino.VectorScale(arrVectAC2, dblScale2)&lt;br /&gt;            arrVectBC2 = rhino.VectorScale(arrVectBC2, dblScale2)&lt;br /&gt;            arrVectCC2 = rhino.VectorScale(arrVectCC2, dblScale2)&lt;br /&gt;            arrPtAC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+13)), arrVectAC2)&lt;br /&gt;            arrPtBC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+21)), arrVectBC2)&lt;br /&gt;            arrPtCC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+34)), arrVectCC2)&lt;br /&gt;               &lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+13)), arrPtAC2, arrPtBC2, rhino.PointCoordinates(ptrot(i+21))))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+21)), arrPtBC2, arrPtCC2, rhino.PointCoordinates(ptrot(i+34))))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+34)), arrPtCC2, arrPtAC2, rhino.PointCoordinates(ptrot(i+13))))   &lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+13), arrPtPos(i+21), arrPtBC2, arrPtAC2))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+21), arrPtPos(i+34), arrPtCC2, arrPtBC2))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+34), arrPtPos(i+13), arrPtAC2, arrPtCC2))&lt;br /&gt;            ''''''''' i put the surface in the glass layer&lt;br /&gt;            strGlass = rhino.AddSrfPt(array(arrPtAC2, arrPtBC2, arrPtCC2))&lt;br /&gt;            Call rhino.ObjectLayer(strGlass, "glass")&lt;br /&gt;           &lt;br /&gt;        Else&lt;br /&gt;               &lt;br /&gt;            arrPtAC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+13)), arrVectAC2)&lt;br /&gt;            arrPtBC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+21)), arrVectBC2)&lt;br /&gt;            arrPtCC2 = rhino.PointAdd(rhino.PointCoordinates(ptrot(i+34)), arrVectCC2)&lt;br /&gt;               &lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+13)), arrPtAC2, rhino.PointCoordinates(ptrot(i+21))))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+21)), arrPtBC2, rhino.PointCoordinates(ptrot(i+34))))&lt;br /&gt;            Call rhino.AddSrfPt(array(rhino.PointCoordinates(ptrot(i+34)), arrPtCC2, rhino.PointCoordinates(ptrot(i+13))))   &lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+13), arrPtPos(i+21), arrPtBC2))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+21), arrPtPos(i+34), arrPtCC2))&lt;br /&gt;            Call rhino.AddSrfPt(array(arrPtPos(i+34), arrPtPos(i+13), arrPtAC2))&lt;br /&gt;   &lt;br /&gt;        End If&lt;br /&gt;   &lt;br /&gt;    Next&lt;br /&gt;&lt;br /&gt;    Call rhino.DeleteObjects(ptrot)&lt;br /&gt;    call rhino.DeleteObjects(arrCircle)&lt;br /&gt;    Call rhino.enableredraw(True)&lt;br /&gt;   &lt;br /&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-2114610129656398835?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/2114610129656398835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/phyllotaxis-pavilion-02.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2114610129656398835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2114610129656398835'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/phyllotaxis-pavilion-02.html' title='phyllotaxis pavilion 02'/><author><name>andrea bugli</name><uri>http://www.blogger.com/profile/15077868989808996172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_nUq_DDL8RXA/SZCst22xM9I/AAAAAAAAAJY/BS4u9dGdTc4/S220/andrea_01.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nUq_DDL8RXA/ScztYNYqiII/AAAAAAAAANs/lBur5byZsgA/s72-c/blog+04.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-3315232781289267737</id><published>2009-03-17T03:48:00.029+01:00</published><updated>2009-03-19T23:42:21.361+01:00</updated><title type='text'>ivy_thigmotropism II</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkC5kZueWJY/ScK7iH6HrKI/AAAAAAAAAB8/JfUm9C7ZWQ8/s1600-h/edera11+copy.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_xkC5kZueWJY/ScK7iH6HrKI/AAAAAAAAAB8/JfUm9C7ZWQ8/s400/edera11+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5315016705163373730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_xkC5kZueWJY/ScK8j6GfQVI/AAAAAAAAACM/D_YxzNzcq74/s400/edera12+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5315017835328520530" border="0" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkC5kZueWJY/Sb8P6GI2yhI/AAAAAAAAABc/waRLQImvotg/s1600-h/edera8.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_xkC5kZueWJY/Sb8P6GI2yhI/AAAAAAAAABc/waRLQImvotg/s400/edera8.jpg" alt="" id="BLOGGER_PHOTO_ID_5313983576075061778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xkC5kZueWJY/ScLIAg9kxDI/AAAAAAAAACs/EVhpvpbIpcY/s1600-h/edera4.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_xkC5kZueWJY/ScLIAg9kxDI/AAAAAAAAACs/EVhpvpbIpcY/s400/edera4.jpg" alt="" id="BLOGGER_PHOTO_ID_5315030421424358450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_xkC5kZueWJY/Sb8QbNtTjHI/AAAAAAAAAB0/Zv0jpec7PQw/s400/edera7.jpg" alt="" id="BLOGGER_PHOTO_ID_5313984145042672754" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This is just another attempt to improve the script and recreate the phenomenon of thigmotropism. In this case the organism grows in a surface even if there are some parameters that I still not control at all.  I'm thinking of what this system can evolve and create forms and spaces even though in nature it's a parasite.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:78%;"&gt;Option Explicit&lt;br /&gt;'Giacomo Damiani&lt;br /&gt;'Script version lunedì 16 marzo 2009 23.50.56&lt;br /&gt;&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt;&lt;br /&gt;Dim n,i,j,p, dblparam,dblparam2, dblradius,arrplane,strcurve,arrCirc2, strcurvecrv,arrcrvdata,arrCPlane,arrPlane3,ArrRPlane,Arrmoveplane,dblparam3,arrcurve&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dim strcrv: strcrv = Rhino.GetObject("select curve",4)&lt;br /&gt;Dim strsrf: strsrf = Rhino.GetObject("select surface",8)&lt;br /&gt;&lt;br /&gt;If isNull(strcrv) Then Exit Sub&lt;br /&gt;If isNull(strsrf) Then Exit Sub&lt;br /&gt;&lt;br /&gt;Dim IntNPt: intNPt = Rhino.GetInteger("how many frame?", 60, 10, 80)&lt;br /&gt;Call Rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt;Dim arrDom3: arrDom3 = Rhino.CurveDomain(strCrv)&lt;br /&gt;&lt;br /&gt;Dim dblstep3: dblStep3 = (arrDom3(1)-arrDom3(0))/(intNPt+1)&lt;br /&gt;ReDim arrplane3(intNpt-1)&lt;br /&gt;ReDim dblparam3(intNpt-1)&lt;br /&gt;&lt;br /&gt;For p=0 To intNpt-1&lt;br /&gt;&lt;br /&gt;dblParam3(p) = arrDom3(0) + p*dblStep3&lt;br /&gt;arrPlane3(p) = Rhino.CurvePerpFrame(strcrv, dblParam3(p))&lt;br /&gt;'i take a curve and the section is make in planes create by this curve&lt;br /&gt;&lt;br /&gt;arrcurve = Rhino.AddSrfSectionCrvs(strsrf,arrPlane3(p))&lt;br /&gt;'section to the surface&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If isNull (arrCurve) Then Exit Sub&lt;br /&gt;&lt;br /&gt;Dim IntNPts: intNPts = Rhino.GetInteger("how many samples?", 100, 10, 200) 'chiedo il dimensionamento&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If isNull (intNpts) Then Exit Sub&lt;br /&gt;&lt;br /&gt;ReDim arrCirc(intNpts-1)&lt;br /&gt;ReDim arrCirc2(intNpts-1)&lt;br /&gt;&lt;br /&gt;Dim arrpt,strpt,arrpt2,arrpte,strpt2, strcurve1,arrplane2,dblradius2&lt;br /&gt;ReDim arrcurve1(intNpts-1)&lt;br /&gt;ReDim arrpt2(intNpts-1)&lt;br /&gt;ReDim arrpte(intNpts-1)&lt;br /&gt;ReDim arrpt(intNpts-1)&lt;br /&gt;ReDim arrplane(intNpts-1)&lt;br /&gt;&lt;br /&gt;For n=0 To ubound (arrcurve)&lt;br /&gt;&lt;br /&gt;Dim arrDom: arrDom = Rhino.CurveDomain(arrCurve(n))&lt;br /&gt;Dim dblstep: dblStep = (arrDom(1)-arrDom(0))/intNPts&lt;br /&gt;&lt;br /&gt;For i=0 To intNpts-1&lt;br /&gt;&lt;br /&gt;dblParam = arrDom(0) + i*dblStep&lt;br /&gt;arrPlane(i) = Rhino.CurvePerpFrame(arrCurve(n), dblParam)&lt;br /&gt;&lt;br /&gt;dblRadius = 0.09&lt;br /&gt;&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurve(n), dblParam)&lt;br /&gt;&lt;br /&gt;arrCirc(i) = Rhino.AddCircle(arrPlane(i),dblRadius)&lt;br /&gt;&lt;br /&gt;arrpt(i) = Rhino.EvaluateCurve(arrCurve(n),dblParam)&lt;br /&gt;&lt;br /&gt;strpt = Rhino.AddPoint(arrpt(i))&lt;br /&gt;arrpte(i) = Rhino.EvaluateCurve(arrcirc(i),dblparam*i)&lt;br /&gt;arrpt2(i) = Rhino.MoveObject(strpt,arrpt(i),arrpte(i))&lt;br /&gt;'arrCrvData = Rhino.CurveCurvature (strCurve, dblParam)&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;strcurve = Rhino.AddInterpCurve(arrpte)&lt;br /&gt;'strcurve(i)=arrcurve&lt;br /&gt;Dim arrDom2: arrDom2 = Rhino.CurveDomain(strcurve)&lt;br /&gt;Dim dblstep2: dblStep2 = (arrDom2(1)-arrDom2(0))/intNPts&lt;br /&gt;&lt;br /&gt;For j=0 To ubound (arrpte)&lt;br /&gt;&lt;br /&gt;dblParam2 = arrDom2(0) + j*dblStep2&lt;br /&gt;&lt;br /&gt;arrPlane2 = Rhino.CurvePerpFrame(strcurve,dblparam2)&lt;br /&gt;dblradius2 = 3/(j+6)&lt;br /&gt;&lt;br /&gt;arrcirc2(j) = Rhino.AddCircle(arrplane2,dblradius2)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc2)&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'Call Rhino.ObjectColor(arrCirc(i),RGB(0,0,255))&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;Call Rhino.EnableRedraw(True)&lt;br /&gt;Call Rhino.HideObject(strsrf)&lt;br /&gt;&lt;br /&gt;End Sub&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-3315232781289267737?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/3315232781289267737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/ivythigmotropism-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3315232781289267737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/3315232781289267737'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/ivythigmotropism-ii.html' title='ivy_thigmotropism II'/><author><name>Jack</name><uri>http://www.blogger.com/profile/15151370516955304478</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xkC5kZueWJY/ScK7iH6HrKI/AAAAAAAAAB8/JfUm9C7ZWQ8/s72-c/edera11+copy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-5979928456447549373</id><published>2009-03-15T19:36:00.009+01:00</published><updated>2009-03-19T18:51:34.558+01:00</updated><title type='text'>Rhizome - part II</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rUZk6WKUO_I/Sb1NRXxldPI/AAAAAAAAAC4/Wg-kggZv6x4/s1600-h/21.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5313488096202159346" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 226px" alt="" src="http://2.bp.blogspot.com/_rUZk6WKUO_I/Sb1NRXxldPI/AAAAAAAAAC4/Wg-kggZv6x4/s320/21.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5313487433210752450" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 226px" alt="" src="http://2.bp.blogspot.com/_rUZk6WKUO_I/Sb1Mqx8HbcI/AAAAAAAAACw/R1GKg5wqKEg/s320/25.jpg" border="0" /&gt;&lt;/div&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5314957383131267202" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://2.bp.blogspot.com/_rUZk6WKUO_I/ScKFlIHhAII/AAAAAAAAAEQ/AxcaEzfzEc4/s320/34.jpg" border="0" /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rUZk6WKUO_I/ScKFx38-M5I/AAAAAAAAAEY/EDw3yyVQ6aE/s1600-h/37.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5314957602130375570" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://2.bp.blogspot.com/_rUZk6WKUO_I/ScKFx38-M5I/AAAAAAAAAEY/EDw3yyVQ6aE/s320/37.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rUZk6WKUO_I/ScKF7iFBCxI/AAAAAAAAAEg/AYNojZ_HEp4/s1600-h/38.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5314957768057228050" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://4.bp.blogspot.com/_rUZk6WKUO_I/ScKF7iFBCxI/AAAAAAAAAEg/AYNojZ_HEp4/s320/38.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Here's my second attempt to create a rhizomatic system. I changed the previus planes for a surface, a sort of skin that separate interior from exterior -apart from specific holes, depending to attractor points.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Option Explicit&lt;br /&gt;'Script written by &lt;simone&gt;&lt;br /&gt;'Script copyrighted by &lt;sim_c&gt;&lt;br /&gt;'Script version domenica 15 marzo 2009 19.40.15&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt;Dim arrCrv: arrCrv=Rhino.GetObjects("select data curves", 4)&lt;br /&gt;Dim strSrf, strSrf0: strSrf0 = Rhino.AddLoftSrf(ArrCrv)&lt;br /&gt;Dim intUInt: intUInt = Rhino.GetInteger("number of U intervals?", 10, 5)&lt;br /&gt;Dim intVInt: intVInt = Rhino.GetInteger("number of V intervals?", 10, 5)&lt;br /&gt;Dim IntNPts: intNPts = Rhino.GetInteger("how many samples for the curves?", 100, 50, 200)&lt;br /&gt;If isNull (intNpts) Then Exit Sub&lt;br /&gt;strSrf=strSrf0(0)&lt;br /&gt;Dim arrUdom, arrVdom, arrpanel&lt;br /&gt;ArrUdom = Rhino.SurfaceDomain(strSrf, 0)&lt;br /&gt;ArrVdom = Rhino.SurfaceDomain(strSrf, 1)&lt;br /&gt;Call Rhino.Print("surface U domain: from " &amp;amp; arrUdom(0) &amp;amp; " to " &amp;amp; arrUdom(1))&lt;br /&gt;Call Rhino.Print("surface V domain: from " &amp;amp; arrVdom(0) &amp;amp; " to " &amp;amp; arrVdom(1))&lt;br /&gt;Dim i, j, arrPt, Upar, Vpar, strFrame, dblUdist, dblVdist&lt;br /&gt;ReDim arrPt(intUint-1, intVint-1)&lt;br /&gt;Call Rhino.EnableRedraw(False)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;Upar= arrUdom(0)+i*(arrUdom(1)-arrUdom(0))/(intUInt-1)&lt;br /&gt;Vpar= arrVdom(0)+j*(arrVdom(1)-arrVdom(0))/(intVInt-1)&lt;br /&gt;'evaluating surface at (upar, vpar), it gives a 3d point&lt;br /&gt;arrPt(i,j)=Rhino.EvaluateSurface(strSrf, array(upar, vpar))&lt;br /&gt;'place a point there; describing a surface with loads of points&lt;br /&gt;Call Rhino.addpoint(arrPt(i, j))&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;Dim ArrPtCurves(), arrPtCurvesC(), ArrCurves1()&lt;br /&gt;ReDim ArrCurves1(intUInt-1)&lt;br /&gt;Dim p, n&lt;br /&gt;For p=0 To IntUInt-1&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If i= (j+p) Then&lt;br /&gt;ReDim Preserve ArrPtCurves (p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves1(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;Dim dblRadius, q, ArrCirc, ArrPts&lt;br /&gt;Dim arrDom: arrDom = Rhino.CurveDomain(arrCurves1(p))&lt;br /&gt;Dim dblparam, arrCrvData, dblStep, arrPlane&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves1(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves1(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 5/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Dim ArrCurves2()&lt;br /&gt;ReDim ArrCurves2(intUInt-1)&lt;br /&gt;For p=0 To IntUInt-1&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=1 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If (i+p)=j Then&lt;br /&gt;ReDim Preserve ArrPtCurves(p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves2(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;arrDom = Rhino.CurveDomain(arrCurves2(p))&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves2(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves2(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 5/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Dim ArrCurves3()&lt;br /&gt;ReDim ArrCurves3(2*(intUInt-1))&lt;br /&gt;For p=0 To 2*(IntUInt-1)&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If i+j=p Then&lt;br /&gt;ReDim Preserve ArrPtCurves (p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves3(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;arrDom = Rhino.CurveDomain(arrCurves3(p))&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves3(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves3(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 5/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;'Call Rhino.HideObject(strsrf)&lt;br /&gt;'Call Rhino.MoveObject(StrSrf, array(0,0,0), array(0,0,2))&lt;br /&gt;Dim strCrvTax&lt;br /&gt;'Call Rhino.EnableRedraw(true)&lt;br /&gt;Dim Stratt: strAtt = Rhino.GetObject("select attractor point",1)&lt;br /&gt;Dim arrPtAtt: arrPtAtt = Rhino.PointCoordinates(strAtt)&lt;br /&gt;'imput theresold distance&lt;br /&gt;Dim dblTdist: dblTdist=Rhino.Getreal("threshold distance?",30,10)&lt;br /&gt;'scale objects if inside theresold:&lt;br /&gt;Dim arrBB,arrCP,dbldist,dblscale'center point&lt;br /&gt;Dim k&lt;br /&gt;Dim ArrPlanSrf&lt;br /&gt;ReDim ArrPlanSrf(k)&lt;br /&gt;Dim ArrPanelSrf1, ArrSrfPts1, ArrPanelSrf2, ArrSrfPts2&lt;br /&gt;Dim e: e=0&lt;br /&gt;Dim StrCrv, ArrCrvTax&lt;br /&gt;ReDim ArrCrvTax(0)&lt;br /&gt;Dim ArrTrimSrf&lt;br /&gt;For i=0 To IntUInt-2&lt;br /&gt;For j=0 To intVInt-2&lt;br /&gt;'ReDim Preserve ArrCrvTax(e)&lt;br /&gt;ReDim Preserve ArrPlanSrf(k+1)&lt;br /&gt;arrpanel= array(arrPt(i,j), arrPt(i+1, j), arrPt(i, j+1), arrPt(i, j))&lt;br /&gt;strCrvTax= Rhino.addcurve(arrpanel, 2)&lt;br /&gt;arrBB = Rhino.BoundingBox(StrCrvTax)&lt;br /&gt;'world contruction plane, non specifichiamo nulla come secondo fattore&lt;br /&gt;arrCP = array((arrBB(2)(0)+ arrBB(4)(0))/2,(arrBB(2)(1)+ arrBB(4)(1))/2,(arrBB(2)(2)+arrBB(4)(2))/2)&lt;br /&gt;'media&lt;br /&gt;'2.find distance centerpoint-attractor&lt;br /&gt;dbldist = Rhino.Distance(arrPtAtt,arrCP)&lt;br /&gt;'3.scale according to distance inside thresold&lt;br /&gt;If dbldist &lt; dblscale =" ((dblTdist-dbldist)/(1.02*dblTdist))" strcrvtax=" Rhino.ScaleObject(StrCrvTax,arrCP,array(dblscale,dblscale,dblscale))" strcrvtax =" Rhino.Command(" arrcrvtax =" Rhino.SelectedObjects" arrtrimsrf =" Rhino.SplitBrep(strSrf," strsrf =" Rhino.IntersectBreps(arrTrimSrf(0)" strsrf="ArrTrimSrf(0)" arrpanel=" array(arrPt(i+1,j)," strcrvtax=" Rhino.addcurve(arrpanel," arrbb =" Rhino.BoundingBox(StrCrvTax)" arrcp =" array((arrBB(2)(0)+" dbldist =" Rhino.Distance(arrPtAtt,arrCP)" dblscale =" ((dblTdist-dbldist)/(1*dblTdist))" strcrvtax=" Rhino.ScaleObject(StrCrvTax,arrCP,array(dblscale,dblscale,dblscale))" strcrvtax =" Rhino.Command(" arrcrvtax =" Rhino.SelectedObjects" strcrvtax =" Rhino.ExtrudeCurveStraight(ArrCrvTax(0)," arrtrimsrf =" Rhino.SplitBrep(strSrf," strsrf="ArrTrimSrf(0)"&gt;&lt;br /&gt;&lt;/sim_c&gt;&lt;/simone&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-5979928456447549373?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/5979928456447549373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/rhizome-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5979928456447549373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/5979928456447549373'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/rhizome-part-ii.html' title='Rhizome - part II'/><author><name>sim_c</name><uri>http://www.blogger.com/profile/03322514669682392936</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rUZk6WKUO_I/Sb1NRXxldPI/AAAAAAAAAC4/Wg-kggZv6x4/s72-c/21.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-2739228135536158717</id><published>2009-03-09T02:17:00.017+01:00</published><updated>2009-03-09T03:06:09.948+01:00</updated><title type='text'>Thigmotropism</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkC5kZueWJY/SbRvyx1GuDI/AAAAAAAAAA0/9CJ2dHkUTlw/s1600-h/thigmotropism2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://4.bp.blogspot.com/_xkC5kZueWJY/SbRvyx1GuDI/AAAAAAAAAA0/9CJ2dHkUTlw/s400/thigmotropism2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5310992778736875570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xkC5kZueWJY/SbRuuuBbtRI/AAAAAAAAAAU/2XlNO_ZptKM/s1600-h/thigmotropism.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://4.bp.blogspot.com/_xkC5kZueWJY/SbRv6eRoNmI/AAAAAAAAAA8/3Ef2wTcYWKQ/s400/thigmotropism.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5310992910926755426" /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_xkC5kZueWJY/SbR42SLwx-I/AAAAAAAAABU/3Vj8TC9Sfbw/s400/thigmo3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5311002734566098914" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;This is the first attempt to recreate the phenomenon of Thigmotropism. This system of growth is genereted by the physical conctact between a plant organ and a solid object. A directional response caused by a differential growht. I want to improve this model with a larger adherence to the real growth process, for example recreate the influence of the vegetal hormone auxine that causes this behaviour operating locally. &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I link also a video releted to this process.                             &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.youtube.com/watch?v=dTljaIVseTc&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Option Explicit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'Giacomo Damiani&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'Script version domenica 8 marzo 2009 18.52.06&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Main()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sub Main()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim i, arrcirc, dblparam, dblradius,arrplane&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'scelgo una curva intorno alla quale crescere&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim strCurve: strCurve = Rhino.GetObject("select curve", 4)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If isNull (strCurve) Then Exit Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim IntNPts: intNPts = Rhino.GetInteger("how many samples?", 100, 50, 500) 'chiedo il dimensionamento&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;If isNull (intNpts) Then Exit Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.EnableRedraw(False)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim arrDom: arrDom = Rhino.CurveDomain(strCurve)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrCirc(intNpts-1),arrpoints(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim dblstep: dblStep = (arrDom(1)-arrDom(0))/intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim arrpt,strpt,arrpt2,arrpte,strpt2, dblradius2, strcurve1,strsrf&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrpt2(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrpte(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrpt(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For i=0 To intNPts-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;dblParam = arrDom(0) + i*dblStep&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrPlane = Rhino.CurvePerpFrame(strCurve, dblParam)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrPlane = Rhino.CurvePerpFrame(strCurve, dblParam)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;dblRadius = 0.5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrCirc(i) = Rhino.AddCircle(arrPlane, dblRadius)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrpt(i) = Rhino.EvaluateCurve(strcurve,dblparam)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;strpt = Rhino.AddPoint(arrpt(i))&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrpte(i) = Rhino.EvaluateCurve(arrcirc(i),dblparam*50)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrpt2(i) = Rhino.MoveObject(strpt,arrpt(i),arrpte(i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'sposto i punti sul cerchio&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.Addloftsrf(arrcirc)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.ObjectColor(arrCirc,RGB(255,0,0))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;strcurve1 = Rhino.AddInterpCurve(arrpte)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim  dblparam2, arrplane2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrcirc2(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim arrDom2: arrDom2 = Rhino.CurveDomain(strCurve1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ReDim arrCirc2(intNpts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dim dblstep2: dblStep2 = (arrDom2(1)-arrDom2(0))/intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;'un secondo ciclo per la seconda serie di cerchi nei punti spostati&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For i=0 To intNpts-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;dblParam2 = arrDom2(0) + i*dblStep2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrPlane2 = Rhino.CurvePerpFrame(strCurve1, dblParam2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;dblRadius2 = 2/(i+3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arrCirc2(i) = Rhino.AddCircle(arrPlane2, dblRadius2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Next&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.AddLoftSrf(arrCirc2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.ObjectColor(arrCirc2,RGB(0,0,255))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Call Rhino.EnableRedraw(True)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=dTljaIVseTc"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-2739228135536158717?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/2739228135536158717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/thigmotropism.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2739228135536158717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/2739228135536158717'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/thigmotropism.html' title='Thigmotropism'/><author><name>Jack</name><uri>http://www.blogger.com/profile/15151370516955304478</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xkC5kZueWJY/SbRvyx1GuDI/AAAAAAAAAA0/9CJ2dHkUTlw/s72-c/thigmotropism2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-6677508907999689367</id><published>2009-03-08T20:04:00.009+01:00</published><updated>2009-03-09T19:50:31.230+01:00</updated><title type='text'>Rhizome</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_rUZk6WKUO_I/SbQXxkn7gyI/AAAAAAAAAB4/vkgMSTOqQ8M/s1600-h/1001.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310896000988840738" style="width: 320px; height: 324px;" alt="" src="http://4.bp.blogspot.com/_rUZk6WKUO_I/SbQXxkn7gyI/AAAAAAAAAB4/vkgMSTOqQ8M/s320/1001.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5310897062394022994" style="width: 320px; height: 242px;" alt="" src="http://1.bp.blogspot.com/_rUZk6WKUO_I/SbQYvWqpTFI/AAAAAAAAACA/IpXkPoHm_1U/s320/1002.jpg" border="0" /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rUZk6WKUO_I/SbQZPd8yPKI/AAAAAAAAACI/vbUFXsT67zc/s1600-h/1003.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310897614104968354" style="width: 320px; height: 240px;" alt="" src="http://2.bp.blogspot.com/_rUZk6WKUO_I/SbQZPd8yPKI/AAAAAAAAACI/vbUFXsT67zc/s320/1003.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_rUZk6WKUO_I/SbQZvyprLaI/AAAAAAAAACQ/945sBC6Bong/s1600-h/1004_p.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310898169417772450" style="width: 320px; height: 240px;" alt="" src="http://1.bp.blogspot.com/_rUZk6WKUO_I/SbQZvyprLaI/AAAAAAAAACQ/945sBC6Bong/s320/1004_p.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_rUZk6WKUO_I/SbQaQwVD3fI/AAAAAAAAACY/k3x8pKNz6i0/s1600-h/1006_p.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310898735730122226" style="width: 320px; height: 240px;" alt="" src="http://1.bp.blogspot.com/_rUZk6WKUO_I/SbQaQwVD3fI/AAAAAAAAACY/k3x8pKNz6i0/s320/1006_p.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rUZk6WKUO_I/SbQaqBzVbsI/AAAAAAAAACg/gvIOU1E4bEE/s1600-h/1007_p.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5310899169917234882" style="width: 320px; height: 240px;" alt="" src="http://4.bp.blogspot.com/_rUZk6WKUO_I/SbQaqBzVbsI/AAAAAAAAACg/gvIOU1E4bEE/s320/1007_p.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;I'm studying Deleuze's Rhizome trying to replicate some principles:1)connection and eterogenity2)multiplicity3)asignificant break4)cartography and decalcomania&lt;br /&gt;i'm still work on it and all the implication it has in architectureI'll give more explanations.. :)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Option Explicit&lt;br /&gt;'Script written by simone cremona&lt;simone&gt;&lt;br /&gt;'Script copyrighted by sim_c&lt;sim_c&gt;&lt;br /&gt;'Script version lunedì 8 marzo 2009 15.16.15&lt;br /&gt;Call Main()&lt;br /&gt;Sub Main()&lt;br /&gt;Dim arrCrv: arrCrv=Rhino.GetObjects("select data curves", 4)&lt;br /&gt;Dim strSrf, strSrf0: strSrf0 = Rhino.AddLoftSrf(ArrCrv)&lt;br /&gt;Dim intUInt: intUInt = Rhino.GetInteger("number of U intervals?", 10, 5)&lt;br /&gt;Dim intVInt: intVInt = Rhino.GetInteger("number of V intervals?", 10, 5)&lt;br /&gt;Dim IntNPts: intNPts = Rhino.GetInteger("how many samples for the curves?", 100, 50, 200)&lt;br /&gt;If isNull (intNpts) Then Exit Sub&lt;br /&gt;strSrf=strSrf0(0)&lt;br /&gt;Dim arrUdom, arrVdom, arrpanel&lt;br /&gt;ArrUdom = Rhino.SurfaceDomain(strSrf, 0)&lt;br /&gt;ArrVdom = Rhino.SurfaceDomain(strSrf, 1)&lt;br /&gt;Call Rhino.Print("surface U domain: from " &amp;amp; arrUdom(0) &amp;amp; " to " &amp;amp; arrUdom(1))&lt;br /&gt;Call Rhino.Print("surface V domain: from " &amp;amp; arrVdom(0) &amp;amp; " to " &amp;amp; arrVdom(1))&lt;br /&gt;Dim i, j, arrPt, Upar, Vpar, strFrame, dblUdist, dblVdist&lt;br /&gt;ReDim arrPt(intUint-1, intVint-1)&lt;br /&gt;Call Rhino.EnableRedraw(False)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;Upar= arrUdom(0)+i*(arrUdom(1)-arrUdom(0))/(intUInt-1)&lt;br /&gt;Vpar= arrVdom(0)+j*(arrVdom(1)-arrVdom(0))/(intVInt-1)&lt;br /&gt;'evaluating surface at (upar, vpar), it gives a 3d point&lt;br /&gt;arrPt(i,j)=Rhino.EvaluateSurface(strSrf, array(upar, vpar))&lt;br /&gt;'place a point there; describing a surface with loads of points&lt;br /&gt;Call Rhino.addpoint(arrPt(i, j))&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;Dim ArrPtCurves(), arrPtCurvesC(), ArrCurves1()&lt;br /&gt;ReDim ArrCurves1(intUInt-1)&lt;br /&gt;Dim p, n&lt;br /&gt;For p=0 To IntUInt-1&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If i= (j+p) Then&lt;br /&gt;ReDim Preserve ArrPtCurves (p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves1(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;Dim dblRadius, q, ArrCirc, ArrPts&lt;br /&gt;Dim arrDom: arrDom = Rhino.CurveDomain(arrCurves1(p))&lt;br /&gt;Dim dblparam, arrCrvData, dblStep, arrPlane&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves1(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves1(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 8/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Dim ArrCurves2()&lt;br /&gt;ReDim ArrCurves2(intUInt-1)&lt;br /&gt;For p=0 To IntUInt-1&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=1 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If (i+p)=j Then&lt;br /&gt;ReDim Preserve ArrPtCurves(p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves2(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;arrDom = Rhino.CurveDomain(arrCurves2(p))&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves2(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves2(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 8/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Dim ArrCurves3()&lt;br /&gt;ReDim ArrCurves3(2*(intUInt-1))&lt;br /&gt;For p=0 To 2*(IntUInt-1)&lt;br /&gt;n=0&lt;br /&gt;ReDim ArrPtCurves(p,n)&lt;br /&gt;For i=0 To IntUInt-1&lt;br /&gt;For j=0 To intVInt-1&lt;br /&gt;If i+j=p Then&lt;br /&gt;ReDim Preserve ArrPtCurves (p,n)&lt;br /&gt;ReDim Preserve ArrPtCurvesC (n)&lt;br /&gt;ArrPtCurves (p,n) = ArrPt(i,j)&lt;br /&gt;ArrPtCurvesC(n)= arrPtCurves(p,n)&lt;br /&gt;n=n+1&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;ArrCurves3(p) = Rhino.AddCurve(arrPtCurvesC)&lt;br /&gt;If n&gt;2 Then&lt;br /&gt;arrDom = Rhino.CurveDomain(arrCurves3(p))&lt;br /&gt;ReDim arrCirc(intNpts)&lt;br /&gt;dblStep = (arrDom(1)-arrDom(0))/(intNPts+1)&lt;br /&gt;For q=0 To intNPts&lt;br /&gt;dblParam = arrDom(0) + q*dblStep&lt;br /&gt;arrCrvData = Rhino.CurveCurvature (arrCurves3(p), dblParam)&lt;br /&gt;arrPlane = Rhino.CurvePerpFrame(arrCurves3(p), dblParam)&lt;br /&gt;If Not isNull (arrCrvData) Then&lt;br /&gt;dblRadius= 8/arrCrvData(3)&lt;br /&gt;Else&lt;br /&gt;dblRadius = 1&lt;br /&gt;End If&lt;br /&gt;arrCirc(q) = Rhino.AddCircle(arrPlane, dblRadius)&lt;br /&gt;Next&lt;br /&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Call Rhino.HideObject(strsrf)&lt;br /&gt;Dim strCrvTax&lt;br /&gt;Dim Stratt: strAtt = Rhino.GetObject("select attractor point",1)&lt;br /&gt;Dim arrPtAtt: arrPtAtt = Rhino.PointCoordinates(strAtt)&lt;br /&gt;'imput theresold distance&lt;br /&gt;Dim dblTdist: dblTdist=Rhino.Getreal("threshold distance?",30,10)&lt;br /&gt;'scale objects if inside theresold:&lt;br /&gt;Dim arrBB,arrCP,dbldist,dblscale'center point&lt;br /&gt;Dim k&lt;br /&gt;Dim ArrPlanSrf&lt;br /&gt;ReDim ArrPlanSrf(k)&lt;br /&gt;For i=0 To IntUInt-2&lt;br /&gt;For j=0 To intVInt-2&lt;br /&gt;ReDim Preserve ArrPlanSrf(k+1)&lt;br /&gt;arrpanel= array(arrPt(i,j), arrPt(i+1, j), arrPt(i, j+1), arrPt(i, j))&lt;br /&gt;strCrvTax= Rhino.addcurve(arrpanel, 2)&lt;br /&gt;ArrPlanSrf= Rhino.Addplanarsrf(array(strCrvTax))&lt;br /&gt;For k=0 To ubound (ArrPlanSrf)&lt;br /&gt;'1.find buonding box of object&lt;br /&gt;arrBB = Rhino.BoundingBox(ArrPlanSrf(k))&lt;br /&gt;'world contruction plane, non specifichiamo nulla come secondo fattore&lt;br /&gt;arrCP = array((arrBB(2)(0)+ arrBB(4)(0))/2,(arrBB(2)(1)+ arrBB(4)(1))/2,(arrBB(2)(2)+arrBB(4)(2))/2)&lt;br /&gt;'media&lt;br /&gt;'2.find distance centerpoint-attractor&lt;br /&gt;dbldist = Rhino.Distance(arrPtAtt,arrCP)&lt;br /&gt;'3.scale according to distance inside thresold&lt;br /&gt;If dbldist &gt; dblTdist Then&lt;br /&gt;dblscale = (1-(dbldist-dblTdist)/dbldist)&lt;br /&gt;Call Rhino.ScaleObject(ArrPlanSrf(k),arrCP,array(dblscale,dblscale,dblscale))&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;arrpanel= array(arrPt(i+1,j), arrPt(i+1, j+1), arrPt(i, j+1), arrPt(i+1, j))&lt;br /&gt;strCrvTax= Rhino.addcurve(arrpanel, 2)&lt;br /&gt;ArrPlanSrf= Rhino.Addplanarsrf(array(strCrvTax))&lt;br /&gt;For k=0 To ubound (ArrPlanSrf)&lt;br /&gt;'1.find buonding box of object&lt;br /&gt;arrBB = Rhino.BoundingBox(ArrPlanSrf(k))&lt;br /&gt;'world contruction plane, non specifichiamo nulla come secondo fattore&lt;br /&gt;arrCP = array((arrBB(2)(0)+ arrBB(4)(0))/2,(arrBB(2)(1)+ arrBB(4)(1))/2,(arrBB(2)(2)+arrBB(4)(2))/2)&lt;br /&gt;'media&lt;br /&gt;'2.find distance centerpoint-attractor&lt;br /&gt;dbldist = Rhino.Distance(arrPtAtt,arrCP)&lt;br /&gt;'3.scale according to distance inside thresold&lt;br /&gt;If dbldist &gt; dblTdist Then&lt;br /&gt;dblscale = (1-(dbldist-dblTdist)/dbldist)&lt;br /&gt;Call Rhino.ScaleObject(ArrPlanSrf(k),arrCP,array(dblscale,dblscale,dblscale))&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;Next&lt;br /&gt;'Call Rhino.EnableRedraw(False)&lt;br /&gt;Call Rhino.EnableRedraw(True)&lt;/sim_c&gt;&lt;/simone&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-6677508907999689367?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/6677508907999689367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/rhizome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/6677508907999689367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/6677508907999689367'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/03/rhizome.html' title='Rhizome'/><author><name>sim_c</name><uri>http://www.blogger.com/profile/03322514669682392936</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rUZk6WKUO_I/SbQXxkn7gyI/AAAAAAAAAB4/vkgMSTOqQ8M/s72-c/1001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-6186539012189785723</id><published>2009-02-20T20:02:00.006+01:00</published><updated>2009-02-20T20:14:40.041+01:00</updated><title type='text'>Today NAO saved me</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ8AKwAsR1I/AAAAAAAAAHA/wIUhVhB2eTY/s1600-h/nao.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 156px;" src="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ8AKwAsR1I/AAAAAAAAAHA/wIUhVhB2eTY/s200/nao.jpg" alt="" id="BLOGGER_PHOTO_ID_5304959070752229202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This graasshopper definition create a self turning tower in elliptic base&lt;br /&gt;Thanks to Jonas of &lt;a href="http://jonb.free.fr/nao/"&gt;NAO&lt;/a&gt; for the fantastic tutorial&lt;br /&gt;It's just an exercise, but the result is very nice&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ7_8lZG0yI/AAAAAAAAAGo/dFyLUEHkP4M/s1600-h/naotot.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 126px;" src="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ7_8lZG0yI/AAAAAAAAAGo/dFyLUEHkP4M/s200/naotot.jpg" alt="" id="BLOGGER_PHOTO_ID_5304958827383673634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ7_9LqAAFI/AAAAAAAAAGw/_A5qnLv_F5w/s1600-h/naoparz1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 126px;" src="http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ7_9LqAAFI/AAAAAAAAAGw/_A5qnLv_F5w/s200/naoparz1.jpg" alt="" id="BLOGGER_PHOTO_ID_5304958837655076946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xk7BY_IpIG8/SZ7_9PK5ycI/AAAAAAAAAG4/edtqlu5E5Sc/s1600-h/naoparz2.jpg"&gt;&lt;img style="cursor: pointer; width: 200px; height: 126px;" src="http://2.bp.blogspot.com/_xk7BY_IpIG8/SZ7_9PK5ycI/AAAAAAAAAG4/edtqlu5E5Sc/s200/naoparz2.jpg" alt="" id="BLOGGER_PHOTO_ID_5304958838598388162" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-6186539012189785723?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/6186539012189785723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/today-nao-saved-me.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/6186539012189785723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/6186539012189785723'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/today-nao-saved-me.html' title='Today NAO saved me'/><author><name>VitrArtiV</name><uri>http://www.blogger.com/profile/13427030328422018699</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_xk7BY_IpIG8/SO9fan7FWeI/AAAAAAAAACI/92xTc3zy724/S220/eye001bn.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xk7BY_IpIG8/SZ8AKwAsR1I/AAAAAAAAAHA/wIUhVhB2eTY/s72-c/nao.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-1908552362320860343</id><published>2009-02-19T12:58:00.010+01:00</published><updated>2009-02-19T13:30:42.440+01:00</updated><title type='text'>Surface tesselation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5mpqMKI/AAAAAAAAADM/QZ2AdJpP5Vo/s1600-h/plane+07.jpg"&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Hey everyone! I made some experiments with surface tesselation, here they are!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;I tried different kind of tesselation on a ruled surface and on a spiral loft surface, the script which made the spiral has been published yet so I won't bother you with that (you can just scroll down to see some examples)..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;First of all a simple script that use the u &amp;amp; v surface's parameters to tesselate them with simple 2nd grade lofted curves (I am nesting words). It is very similar to the one we made in class, so, no surprises..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1KXaWwaKI/AAAAAAAAAB8/S784bcHJsk4/s1600-h/plane+01.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1KXaWwaKI/AAAAAAAAAB8/S784bcHJsk4/s320/plane+01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304477702184528034" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1KXXyI08I/AAAAAAAAAB0/0tMkRK3F4c4/s1600-h/spiral+01.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1KXXyI08I/AAAAAAAAAB0/0tMkRK3F4c4/s320/spiral+01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304477701494068162" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Option Explicit&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'             . Script written by Vincenzo Reale&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'             . univin@libero.it&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'Script version lunedì 16 febbraio 2009 15.15.59&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Main()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Sub Main()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;        'strline = rhino.GetObject("get line for extrusion lenght")&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: 10px; "&gt;        'this is for the following part, uncheck later&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'input surface&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim strSurf: strSurf = rhino.GetObject("select a surface",8)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim Intuint : intuInt = rhino.GetInteger("n. of U intervals?",10,10)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim Intvint : intvInt = rhino.GetInteger("n. of v intervals?",10,10)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'get surface domain (u and v), dobbiamo dirgli la direzione&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call rhino.EnableRedraw (False)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrUdom, arrVdom&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrUdom = Rhino.SurfaceDomain(strsurf,0) &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrVdom = Rhino.SurfaceDomain(strsurf,1) &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim i, j&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrPt, upar, vpar&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim srfframe&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPt(intUint-1, intVint-1) &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;' evaluating points on surface&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For i = 0 To Intuint-1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For j = 0 To intvint-1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'calculating u and v steps&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;upar = arrudom(0) + i*(arrudom(1)-arrudom(0))/(intuint-1)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;vpar = arrudom(0) + j*(arrvdom(1)-arrvdom(0))/(intvint-1)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrpt (i,j) = rhino.EvaluateSurface(strsurf,array(upar,vpar))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;' !!! the next part is the one that will be changed during the experiment, so just&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;' paste the new lines from here....&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrpanel&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim strcurve1&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For i = 0 To Intuint-2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For j = 0 To intvint-2 &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;strcurve1 = rhino.addcurve(arrpanel,2) &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call rhino.AddPlanarSrf(array(strcurve1))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrpanel = array (arrpt(i+1,j), arrpt(i+1,j+1), arrpt(i,j+1),arrpt(i+1,j))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;strcurve1 = rhino.addcurve(arrpanel,2)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call rhino.AddPlanarSrf(array(strcurve1))&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;' ...to here !!!!!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call rhino.DeleteObject(strsurf) 'you can switch this off&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call rhino.EnableRedraw(True)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Then, the surface is tessellated with hexagonal cells. Perimeter of hexagons are extruded to look like honeycomb. Extrusion height is taken from a line you have to draw! (so don't forget unchecking the line part)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;In this case there are no planar surfaces that can be created with that six points (they are not on a plane) so do you know what is the right command to create three dimensional surfaces with six points or a three dimensional border? By the way different inclinations of the extrusion line path will give you different results (the first is perpendicular to the base plane, se second parallel to it). Possibilities: the extrusion path may be linked either with the perpendicular vector of the surface in any point, or with one or more influence points.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1LEChAAQI/AAAAAAAAACM/jpwJgEhKKBk/s1600-h/spiral+02.jpg"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1LSxE2CUI/AAAAAAAAACU/uP5ljZ362sY/s320/plane+02b.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304478721895696706" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1LEDxr8HI/AAAAAAAAACE/kjxkFtxEUU4/s1600-h/plane+02.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1LEDxr8HI/AAAAAAAAACE/kjxkFtxEUU4/s320/plane+02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304478469217579122" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1LEChAAQI/AAAAAAAAACM/jpwJgEhKKBk/s320/spiral+02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304478468879155458" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;just put into the first scritp this:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrpanel&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strcurve1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 1 To Intuint-3 Step 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 1 To intvint-4 Step 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 10px; white-space: pre;"&gt;                        'this is the hexagonal tesselation point, you can imagine them on a grid&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+1,j+2),arrpt(i,j+2),arrpt(i-1,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.AddPlanarSrf(array(strcurve1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 3 To Intuint-3 Step 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 2 To intvint-4 Step 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+1,j+2),arrpt(i,j+2),arrpt(i-1,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.AddPlanarSrf(array(strcurve1))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Now, third tesselation is similar to the previous one but the nesting is different, in this case you have three loops &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1L0tZWcvI/AAAAAAAAACc/YDWpYH7h6g4/s1600-h/plane+03.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1L0tZWcvI/AAAAAAAAACc/YDWpYH7h6g4/s320/plane+03.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304479305023517426" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1L0grtCaI/AAAAAAAAACk/HL7J7mfoUMg/s320/spiral+03.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304479301610834338" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: pre;"&gt;      &lt;/span&gt;Dim arrpanel&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strcurve1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 0 To Intuint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 0 To intvint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 10px;"&gt;                        'this is the other nesting, draw it on a grid to undestand how it works&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;span class="Apple-style-span" style="white-space: normal; "&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 2 To Intuint-1 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 1 To intvint-2 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 1 To Intuint-2 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 2 To intvint-1 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Fourth, variation with three planar surfaces interpolated with the hexagonal points (Same problem, how to make a non planar surface from six points? And by the way i CAN'T FIND how to pipe a curve!)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1MJdGknpI/AAAAAAAAACs/5Xg0u1qQHC4/s1600-h/plane+04.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1MJdGknpI/AAAAAAAAACs/5Xg0u1qQHC4/s320/plane+04.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304479661427039890" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://2.bp.blogspot.com/_YLv1_pGBEP8/SZ1MJb9ReeI/AAAAAAAAAC0/l6LA7eLGfSU/s320/spiral+04.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304479661119601122" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrpanel, arrcrvpoint&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strcurve1, strcurve2, strcurve3, strcurve4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 0 To Intuint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 0 To intvint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;                       ' i take the hexagon border point and I made two dimensional curves with three points at time as control points    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(0), arrpanel(1),arrpanel(4),arrpanel(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve2 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(2), arrpanel(3),arrpanel(0),arrpanel(2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve3 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(4), arrpanel(5),arrpanel(2),arrpanel(4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve4 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call Rhino.AddPlanarSrf  (array(strcurve2,strcurve3,strcurve4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 2 To Intuint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 1 To intvint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(0), arrpanel(1),arrpanel(4),arrpanel(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve2 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(2), arrpanel(3),arrpanel(0),arrpanel(2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve3 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(4), arrpanel(5),arrpanel(2),arrpanel(4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve4 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call Rhino.AddPlanarSrf  (array(strcurve2,strcurve3,strcurve4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 1 To Intuint-3 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 2 To intvint-2 Step 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i+2,j+1),arrpt(i+2,j+2),arrpt(i+1,j+2),arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(0), arrpanel(1),arrpanel(4),arrpanel(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve1 = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve2 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(2), arrpanel(3),arrpanel(0),arrpanel(2))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve3 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrcrvpoint= array(arrpanel(4), arrpanel(5),arrpanel(2),arrpanel(4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurve4 = rhino.AddCurve(arrcrvpoint,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call Rhino.AddPlanarSrf (array(strcurve2,strcurve3,strcurve4))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;call rhino.ExtrudeCurve(strcurve1,strline)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;At last a triangular tesselation within a planar curve (2°grade) tasselation which creates holes dipending on the distance between the tassel and the control point.  You can change the threshold for the point influence and also choose different behaviour for border panels (I made some notes). I wonder if there is a way to create holes directly to the three dimensional surface instead on the triangolar tassels .&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5mpqMKI/AAAAAAAAADM/QZ2AdJpP5Vo/s1600-h/plane+07.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5ftucOI/AAAAAAAAAC8/DkVq_bu9yU0/s1600-h/plane+05+copia.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5ftucOI/AAAAAAAAAC8/DkVq_bu9yU0/s320/plane+05+copia.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304481586273480930" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YLv1_pGBEP8/SZ1MJb9ReeI/AAAAAAAAAC0/l6LA7eLGfSU/s1600-h/spiral+04.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://3.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5W4izDI/AAAAAAAAADE/K-ox67fOAu4/s320/plane+06+copia.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304481583902936114" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5mpqMKI/AAAAAAAAADM/QZ2AdJpP5Vo/s1600-h/plane+07.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_YLv1_pGBEP8/SZ1N5mpqMKI/AAAAAAAAADM/QZ2AdJpP5Vo/s320/plane+07.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304481588135473314" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Nevertheless, here is the script&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Option Explicit&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'             . Script written by Vincenzo Reale&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'             . univin@libero.it&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'Script version since mercoledì 18 febbraio 2009 23.40.00 to very very late at night&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call Main()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Sub Main()&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 10px; white-space: pre;"&gt;        ' get a surface&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strSurf: strSurf = rhino.GetObject("select a surface",8)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim Intuint : intuInt = rhino.GetInteger("n. of U intervals?",10,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim Intvint : intvInt = rhino.GetInteger("n. of v intervals?",10,2)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'get point attractor&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strAtt: strAtt = Rhino.GetObject("select attractor point",1)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrpatt: arrpAtt = Rhino.PointCoordinates(stratt)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim dblTdist: dblTdist = Rhino.GetReal("threshold distance?", 2,1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.EnableRedraw (False)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrUdom, arrVdom&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrUdom = Rhino.SurfaceDomain(strsurf,0) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrVdom = Rhino.SurfaceDomain(strsurf,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim i, j&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrPt, upar, vpar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;ReDim arrPt(intUint-1 , intVint-1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 0 To Intuint-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 0 To intvint-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'calculating u and v steps&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;upar = arrudom(0) + i*(arrudom(1)-arrudom(0))/(intuint-1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;vpar = arrudom(0) + j*(arrvdom(1)-arrvdom(0))/(intvint-1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpt (i,j) = rhino.EvaluateSurface(strsurf,array(upar,vpar))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrpanel&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strcurvepanel, strcurvecircle&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim arrsurfpanel, arrsurfcircle, arrlateral&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Dim strcut, arrCP, dbldist1, dblscale&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 0 To Intuint-2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 0 To intvint-2 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   'arrpanel is the triangular tesselation, strcurve panel is the curve that trim the first tesselation with rhino.splitbrep&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 10px; white-space: pre;"&gt;                        ' the scale is weighted with the distance of the surface central point (area centroid) and the threshold&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i+1,j), arrpt(i,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurvepanel = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurvecircle = rhino.addcurve (arrpanel,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrsurfpanel = rhino.addsrfpt(arrpanel)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrCP = Rhino.CurveAreaCentroid (strcurvepanel) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;dbldist1 = rhino.distance(arrcp(0),arrpatt)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;If dblDist1 &lt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;dblscale =  1-(dbltdist-dbldist1)/dbltdist&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.scaleobject(strcurvecircle,arrCP(0),array(dblscale,dblscale,dblscale))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;End If&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'if you put this part from here...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrsurfcircle = rhino.AddPlanarSrf(array(strcurvecircle))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcut = Rhino.SplitBrep(arrsurfpanel,arrsurfcircle(0),True)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (arrsurfcircle(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (arrsurfpanel(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcut(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcurvepanel)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcurvecircle)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;' to here inside the if clause you get the surface outside the threshold influence whith holes (this case) or not, first two pics. Do it also in the other loop&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For i = 1 To Intuint-1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;For j = 0 To intvint-2 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrpanel = array (arrpt(i,j),arrpt(i,j+1), arrpt(i-1,j+1),arrpt(i,j))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurvepanel = rhino.addcurve(arrpanel,1) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcurvecircle = rhino.addcurve (arrpanel,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrsurfpanel = rhino.addsrfpt(arrpanel)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrCP = Rhino.CurveAreaCentroid (strcurvepanel) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;dbldist1 = rhino.distance(arrcp(0),arrpatt)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;If dblDist1 &lt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;dblscale =  1-(dbltdist-dbldist1)/dbltdist&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.scaleobject(strcurvecircle,arrCP(0),array(dblscale,dblscale,dblscale))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;End If&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;arrsurfcircle = rhino.AddPlanarSrf(array(strcurvecircle))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;strcut = Rhino.SplitBrep(arrsurfpanel,arrsurfcircle(0),True)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (arrsurfcircle(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (arrsurfpanel(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcut(0))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcurvepanel)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject (strcurvecircle)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.deleteobject(strsurf)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Call rhino.enableredraw(True)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-1908552362320860343?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/1908552362320860343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/surface-tesselation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1908552362320860343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1908552362320860343'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/surface-tesselation.html' title='Surface tesselation'/><author><name>Vink</name><uri>http://www.blogger.com/profile/16940668537328782292</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://3.bp.blogspot.com/_YLv1_pGBEP8/TOLKbzWDgPI/AAAAAAAAA-8/6r6xSMzmMfQ/S220/photo%2Bbw%2Blow10.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_YLv1_pGBEP8/SZ1KXaWwaKI/AAAAAAAAAB8/S784bcHJsk4/s72-c/plane+01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-1323028017479200210</id><published>2009-02-18T16:19:00.002+01:00</published><updated>2009-02-21T11:31:45.356+01:00</updated><title type='text'>phyllotaxis pavilion</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nUq_DDL8RXA/SZwcq52D-cI/AAAAAAAAAJ4/cf_-_bSeWno/s1600-h/pav_ok_05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_nUq_DDL8RXA/SZwcq52D-cI/AAAAAAAAAJ4/cf_-_bSeWno/s400/pav_ok_05.jpg" alt="" id="BLOGGER_PHOTO_ID_5304145984543259074" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;The code realizes a pavilion along a selected curve. Pavilion internal radius is influenced by the distance between the curve and a&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;n attractor point. Holes-size is related to &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;the distance between the curve and another attractor point (placed in this case near curve's midpoint). In this way holes become smaller moving towards curve's midpoint.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nUq_DDL8RXA/SZwcrCycEDI/AAAAAAAAAKA/wJov2YrHpw0/s1600-h/pav_ok_07+copy.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_nUq_DDL8RXA/SZwcrCycEDI/AAAAAAAAAKA/wJov2YrHpw0/s400/pav_ok_07+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5304145986943979570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt; &lt;span style="font-family:verdana;"&gt;Option Explicit&lt;br /&gt;'Script written by andrea bugli&lt;br /&gt;' "shift" on http://andbug.blogspot.com&lt;br /&gt;'Script version venerdì 20 febbraio 2009  19.54.31&lt;br /&gt;&lt;br /&gt;Call fibonaccipavilion&lt;br /&gt;Sub fibonaccipavilion&lt;br /&gt;   &lt;br /&gt;    Dim strBpts&lt;br /&gt;   &lt;br /&gt;    Dim arrcircle, strN&lt;br /&gt;    strN = 240&lt;br /&gt;    Dim strcurve: strcurve = rhino.GetObject("select a curve", 4, True, True)&lt;br /&gt;    Dim arrPoints: arrPoints = rhino.DivideCurve(strcurve, strN, False, True)&lt;br /&gt;   &lt;br /&gt;    ReDim arrcircle(ubound(arrPoints))&lt;br /&gt;   &lt;br /&gt;    'this point influences pavilion radius&lt;br /&gt;    Dim ptparam1: ptparam1 = rhino.GetObject("select curve attractor point")&lt;br /&gt;    Dim ptcoord1: ptcoord1 = rhino.PointCoordinates(ptparam1)&lt;br /&gt;   &lt;br /&gt;    'this point influences holes size&lt;br /&gt;    Dim ptparam2: ptparam2 = rhino.GetObject("select holes attractor point")&lt;br /&gt;    Dim ptcoord2: ptcoord2 = rhino.PointCoordinates(ptparam2)&lt;br /&gt;   &lt;br /&gt;    Dim i&lt;br /&gt;    Dim ptrot&lt;br /&gt;    Dim pt&lt;br /&gt;    Dim ptcurve&lt;br /&gt;    ReDim ptrot(ubound(arrPoints))&lt;br /&gt;    rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt;    For i = 0 To ubound(arrPoints)&lt;br /&gt;       &lt;br /&gt;        Dim strPoncurve: strPoncurve = rhino.CurveClosestPoint(strcurve, arrPoints(i))&lt;br /&gt;        Dim strframe: strframe = rhino.Curveperpframe(strcurve, strPoncurve)&lt;br /&gt;        Dim tang: tang = rhino.curvetangent(strcurve, strPoncurve)&lt;br /&gt;        Dim dist: dist = rhino.Distance(arrPoints(i), ptcoord1)&lt;br /&gt;        Dim dist2: dist2 = rhino.Distance(arrPoints(i), ptcoord2)&lt;br /&gt;       &lt;br /&gt;        'create the tube on which are placed my points&lt;br /&gt;        arrcircle(i) = rhino.addcircle(strframe, 60/dist)&lt;br /&gt;       &lt;br /&gt;        ptcurve = rhino.CurveStartPoint(arrcircle(i))&lt;br /&gt;        pt = rhino.addpoint(ptcurve)&lt;br /&gt;   &lt;br /&gt;        'points are rotated by a definited angle&lt;br /&gt;        ptrot(i) = rhino.RotateObject(pt, arrPoints(i), 137.52*i, tang, True)&lt;br /&gt;       &lt;br /&gt;        rhino.Deleteobject(pt)&lt;br /&gt;       &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    Dim strFace1&lt;br /&gt;    Dim strHole1&lt;br /&gt;    Dim arrHoleSrf1&lt;br /&gt;    Dim arrSrfBrep1&lt;br /&gt;    Dim centerPt1&lt;br /&gt;    Dim dblDist1&lt;br /&gt;   &lt;br /&gt;    Dim strFace2&lt;br /&gt;    Dim strHole2&lt;br /&gt;    Dim arrHoleSrf2&lt;br /&gt;    Dim arrSrfBrep2&lt;br /&gt;    Dim centerPt2&lt;br /&gt;    Dim dblDist2&lt;br /&gt;   &lt;br /&gt;    Dim strLine&lt;br /&gt;    Dim strPlaneLine&lt;br /&gt;    Dim strBaseCrv&lt;br /&gt;   &lt;br /&gt;    For i = 0 To ubound(ptrot)-13&lt;br /&gt;       &lt;br /&gt;        'create triangular face between points&lt;br /&gt;        strFace1 = rhino.addSrfPt(array(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+8)), rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i))))&lt;br /&gt;       &lt;br /&gt;        'create a curve on the triangular face&lt;br /&gt;        strHole1 = rhino.addcurve(array(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+8)), rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i))), 2)&lt;br /&gt;        centerPt1 = rhino.curveAreaCentroid(strHole1)&lt;br /&gt;        dblDist1 = rhino.Distance(ptcoord2, centerPt1(0))&lt;br /&gt;       &lt;br /&gt;        'if distance between centerPt1 and second attractor point is bigger than a definited amount, scale curve by means of&lt;br /&gt;        'distance and make a hole in the triangular face.    if distance is smaller, leave face intact&lt;br /&gt;        If Not (1-8/dblDist1&lt;0.2) Then&lt;br /&gt;           &lt;br /&gt;            strHole1 = rhino.ScaleObject(strHole1, centerPt1(0), array(1-8/dblDist1, 1-8/dblDist1, 1-8/dblDist1))&lt;br /&gt;            arrHoleSrf1 = rhino.addPlanarSrf(array(strHole1))&lt;br /&gt;            arrSrfBrep1 = Rhino.SplitBrep (strFace1, arrHoleSrf1(0), True)&lt;br /&gt;        Call rhino.DeleteObject(arrHoleSrf1(0))&lt;br /&gt;        Call rhino.DeleteObject(arrSrfBrep1(0))&lt;br /&gt;       &lt;br /&gt;        End If&lt;br /&gt;       &lt;br /&gt;        Call rhino.deleteObject(strHole1)&lt;br /&gt;       &lt;br /&gt;            '------------------&lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;        'create triangular face between points&lt;br /&gt;        strFace2 = rhino.addSrfPt(array(rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i+8)), rhino.PointCoordinates(ptrot(i+13)), rhino.PointCoordinates(ptrot(i+5))))&lt;br /&gt;       &lt;br /&gt;        'create a curve on the triangular face&lt;br /&gt;        strHole2 = rhino.addcurve(array(rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i+8)), rhino.PointCoordinates(ptrot(i+13)), rhino.PointCoordinates(ptrot(i+5))), 2)&lt;br /&gt;        centerPt2 = rhino.curveAreaCentroid(strHole2)&lt;br /&gt;        dblDist2 = rhino.Distance(ptCoord2, centerPt2(0))&lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;        'if distance between centerPt2 and second attractor point is bigger than a definited amount, scale curve by means of&lt;br /&gt;        'distance and make a hole in the triangular face.    if distance is smaller, leave face intact&lt;br /&gt;        If Not (1-8/dblDist2&lt;0.2) Then&lt;br /&gt;&lt;br /&gt;            strHole2 = rhino.ScaleObject(strHole2, centerPt2(0), array(1-8/dblDist2, 1-8/dblDist2, 1-8/dblDist2))&lt;br /&gt;            arrHoleSrf2 = rhino.addPlanarSrf(array(strHole2))&lt;br /&gt;        arrSrfBrep2 = Rhino.SplitBrep (strFace2, arrHoleSrf2(0), True)&lt;br /&gt;        Call rhino.DeleteObject(arrHoleSrf2(0))&lt;br /&gt;        Call rhino.DeleteObject(arrSrfBrep2(0))&lt;br /&gt;       &lt;br /&gt;        End If&lt;br /&gt;       &lt;br /&gt;        Call rhino.DeleteObject(strHole2)&lt;br /&gt;       &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    'create a tube on each side of the triangle&lt;br /&gt;    For i = 0 To ubound(ptrot)-13&lt;br /&gt;   &lt;br /&gt;        strLine = rhino.addline(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+8)))&lt;br /&gt;        strPlaneLine = rhino.PlaneFromNormal(rhino.PointCoordinates(ptrot(i)), rhino.VectorCreate(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+8))))&lt;br /&gt;        strBaseCrv = rhino.addcircle(strPlaneLine, 0.05)&lt;br /&gt;        Call rhino.AddSweep1(strLine, strBaseCrv)&lt;br /&gt;       &lt;br /&gt;        strLine = rhino.addline(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+5)))&lt;br /&gt;        strPlaneLine = rhino.PlaneFromNormal(rhino.PointCoordinates(ptrot(i)), rhino.VectorCreate(rhino.PointCoordinates(ptrot(i)), rhino.PointCoordinates(ptrot(i+5))))&lt;br /&gt;        strBaseCrv = rhino.addcircle(strPlaneLine, 0.05)&lt;br /&gt;        Call rhino.AddSweep1(strLine, strBaseCrv)&lt;br /&gt;       &lt;br /&gt;        strLine = rhino.addline(rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i+8)))&lt;br /&gt;        strPlaneLine = rhino.PlaneFromNormal(rhino.PointCoordinates(ptrot(i+5)), rhino.VectorCreate(rhino.PointCoordinates(ptrot(i+5)), rhino.PointCoordinates(ptrot(i+8))))&lt;br /&gt;        strBaseCrv = rhino.addcircle(strPlaneLine, 0.05)&lt;br /&gt;        Call rhino.AddSweep1(strLine, strBaseCrv)&lt;br /&gt;       &lt;br /&gt;    Next&lt;br /&gt;   &lt;br /&gt;    call rhino.DeleteObjects(arrcircle)&lt;br /&gt;&lt;br /&gt;    Call rhino.DeleteObjects(ptrot)&lt;br /&gt;   &lt;br /&gt;    rhino.enableredraw(True)&lt;br /&gt;   &lt;br /&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-1323028017479200210?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/1323028017479200210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/phyllotaxis-pavilion.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1323028017479200210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/1323028017479200210'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/phyllotaxis-pavilion.html' title='phyllotaxis pavilion'/><author><name>andrea bugli</name><uri>http://www.blogger.com/profile/15077868989808996172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_nUq_DDL8RXA/SZCst22xM9I/AAAAAAAAAJY/BS4u9dGdTc4/S220/andrea_01.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nUq_DDL8RXA/SZwcq52D-cI/AAAAAAAAAJ4/cf_-_bSeWno/s72-c/pav_ok_05.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-8419084531431085635</id><published>2009-02-08T17:11:00.011+01:00</published><updated>2009-02-08T21:13:59.811+01:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rUZk6WKUO_I/SY8Myt3_hbI/AAAAAAAAABw/BLnR1B9vYl4/s1600-h/views.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 245px;" src="http://3.bp.blogspot.com/_rUZk6WKUO_I/SY8Myt3_hbI/AAAAAAAAABw/BLnR1B9vYl4/s400/views.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5300469351885800882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rUZk6WKUO_I/SY8MiCTXDlI/AAAAAAAAABo/hSUZxj59nPk/s1600-h/detail1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://1.bp.blogspot.com/_rUZk6WKUO_I/SY8MiCTXDlI/AAAAAAAAABo/hSUZxj59nPk/s400/detail1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5300469065311522386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rUZk6WKUO_I/SY8K9d1Y-FI/AAAAAAAAABY/rCSjRjycdpo/s1600-h/detail2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rUZk6WKUO_I/SY8K9d1Y-FI/AAAAAAAAABY/rCSjRjycdpo/s400/detail2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5300467337535223890" style="cursor: pointer; width: 400px; height: 243px; " /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rUZk6WKUO_I/SY8LCECeTgI/AAAAAAAAABg/TovwQxOEo1Q/s1600-h/detail3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://4.bp.blogspot.com/_rUZk6WKUO_I/SY8LCECeTgI/AAAAAAAAABg/TovwQxOEo1Q/s400/detail3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5300467416510123522" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This is a very simple script that creates 3 different elix entwining. The diameters depend on the curve's curvature, directly or not.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Users can define the number of levels.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;enjoy!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;sim_c&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Option Explicit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'Script written by &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;simone cremona=""&gt;&lt;/simone&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'Script copyrighted by &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;none&gt;&lt;/none&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'Script version sabato 7 febbraio 2009 18.00.30&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Main()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Sub Main()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim intNPts: intNPts= Rhino.GetInteger("how many points?", 15, 10, 20)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim i, arrPts, arrPtC, strCurve&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPts(intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPtC (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For i=0 To (intNPts-8)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPtC(i) = array(10*cos(i),10*sin(i),40*sqr(i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPts(i)= Rhino.addpoint(arrPtC(i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For i= intNPts-8 To (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPtC(i) = array(10*cos(i)/((i+1)/5),10*sin(i)/((i+1)/5),40*sqr(i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPts(i)= Rhino.addpoint(arrPtC(i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;strCurve = Rhino.AddInterpCurve (arrPtC)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 10px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrDom: arrDom = Rhino.CurveDomain(strCurve)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblparam, arrCrvData, dblStep, arrPlane, arrCircle, j&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblRadius&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrCirc(intNpts)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblStep = (arrDom(1)-arrDom(0))/intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For j=0 To intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblParam = arrDom(0) + j*dblStep&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCrvData = Rhino.CurveCurvature (strCurve, dblParam)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPlane = Rhino.CurvePerpFrame(strCurve, dblParam)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;If Not isNull (arrCrvData) Then &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius= arrCrvData(3)/10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius = 0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;End If&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCirc(j) = Rhino.AddCircle(arrPlane, dblRadius)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'strCurveCrv = Rhino.AddInterpCurve(arrCirc)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Rhino.AddLoftSrf(arrCirc)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrPts1, arrPtC1, strCurve1, n&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPts1(intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPtC1 (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For n=0 To (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPtC1(n) = array(15*-cos(n)/(n+1),15*-sin(n)/(n+1),11*(n))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPts1(n)= Rhino.addpoint(arrPtC1(n))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;strCurve1 = Rhino.AddInterpCurve (arrPtC1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrDom1: arrDom1 = Rhino.CurveDomain(strCurve1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblparam1, arrCrvData1, dblStep1, arrPlane1, arrCircle1, m&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblRadius1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrCirc1(intNpts)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblStep1 = (arrDom1(1)-arrDom1(0))/intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For m=0 To intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblParam1 = arrDom1(0) + m*dblStep1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCrvData1 = Rhino.CurveCurvature (strCurve1, dblParam1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPlane1 = Rhino.CurvePerpFrame(strCurve1, dblParam1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;If Not isNull (arrCrvData1) Then &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius1= 175/arrCrvData1(3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius1 = 50&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;End If&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCirc1(m) = Rhino.AddCircle(arrPlane1, dblRadius1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'strCurveCrv = Rhino.AddInterpCurve(arrCirc)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Rhino.AddLoftSrf(arrCirc1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim p, arrPts2, arrPtC2, strCurve2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPts2(intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrPtC2 (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For p=0 To (intNPts-8)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPtC2(p) = array(10*-cos(p),10*-sin(p),40*sqr(p))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPts2(p)= Rhino.addpoint(arrPtC(p))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For p= intNPts-8 To (intNPts-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPtC2(p) = array(10*-cos(p)/((p+1)/5),10*-sin(p)/((p+1)/5),40*sqr(p))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPts2(p)= Rhino.addpoint(arrPtC(p))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;strCurve2 = Rhino.AddInterpCurve (arrPtC2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim arrDom2: arrDom2 = Rhino.CurveDomain(strCurve2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblparam2, arrCrvData2, dblStep2, arrPlane2, arrCircle2, q&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Dim dblRadius2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;ReDim arrCirc2(intNpts)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblStep2 = (arrDom2(1)-arrDom2(0))/intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;For q=0 To intNPts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblParam2 = arrDom2(0) + q*dblStep2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCrvData2 = Rhino.CurveCurvature (strCurve2, dblParam2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrPlane2 = Rhino.CurvePerpFrame(strCurve2, dblParam2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;If Not isNull (arrCrvData2) Then &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius2= arrCrvData2(3)/10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;dblRadius2 = 0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;End If&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;arrCirc2(q) = Rhino.AddCircle(arrPlane2, dblRadius2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;'strCurveCrv = Rhino.AddInterpCurve(arrCirc)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Next&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Rhino.AddLoftSrf(arrCirc2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Call Rhino.EnableRedraw(True)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1165521512258457120-8419084531431085635?l=dig-t-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dig-t-a.blogspot.com/feeds/8419084531431085635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/this-is-very-simple-script-that-creates.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/8419084531431085635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1165521512258457120/posts/default/8419084531431085635'/><link rel='alternate' type='text/html' href='http://dig-t-a.blogspot.com/2009/02/this-is-very-simple-script-that-creates.html' title=''/><author><name>sim_c</name><uri>http://www.blogger.com/profile/03322514669682392936</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rUZk6WKUO_I/SY8Myt3_hbI/AAAAAAAAABw/BLnR1B9vYl4/s72-c/views.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1165521512258457120.post-9094226770701650211</id><published>2009-02-08T16:38:00.007+01:00</published><updated>2009-02-08T16:55:55.530+01:00</updated><title type='text'>phillotaxis</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;I created a script based on Fibonacci spiral. Spiral are created along a curve selected by the user. Radius of the tube-shaped surface on which are settled spirals is influenced from the distance between curve and a selected point.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nUq_DDL8RXA/SY8AUvU0veI/AAAAAAAAAJQ/JfolhIqgmPs/s1600-h/fibonacci_02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 186px;" src="http://4.bp.blogspot.com/_nUq_DDL8RXA/SY8AUvU0veI/AAAAAAAAAJQ/JfolhIqgmPs/s400/fibonacci_02.jpg" alt="" id="BLOGGER_PHOTO_ID_5300455642739555810" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;This is my first attempt...I’m working to improve it!!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:78%;"  &gt;&lt;br /&gt;Option Explicit&lt;br /&gt;'Script written by andrea bugli&lt;br /&gt;'        http://andbug.blogspot.com&lt;br /&gt;'Script version venerdì 6 febbraio 2009  19.54.31&lt;br /&gt;&lt;br /&gt;Call fibonacci&lt;br /&gt;Sub fibonacci&lt;br /&gt;&lt;br /&gt;Dim strBpts&lt;br /&gt;&lt;br /&gt;Dim arrcircle, strN&lt;br /&gt;strN = 200&lt;br /&gt;Dim strcurve: strcurve = rhino.GetObject("select a curve", 4, True, True)&lt;br /&gt;Dim strpoints: strpoints = rhino.DivideCurve(strcurve, strN, False, True)&lt;br /&gt;&lt;br /&gt;'    rhino.addpoints(strpoints)&lt;br /&gt;&lt;br /&gt;ReDim arrcircle(ubound(strpoints))&lt;br /&gt;&lt;br /&gt;Dim ptparam: ptparam = rhino.GetObject("select a point")&lt;br /&gt;Dim ptcoord: ptcoord = rhino.PointCoordinates(ptparam)&lt;br /&gt;&lt;br /&gt;Dim i&lt;br /&gt;Dim ptrot&lt;br /&gt;Dim pt&lt;br /&gt;Dim ptcurve&lt;br /&gt;ReDim ptrot(ubound(strpoints))&lt;br /&gt;rhino.EnableRedraw(False)&lt;br /&gt;&lt;br /&gt;For i = 0 To ubound(strpoints)&lt;br /&gt;&lt;br /&gt;    Dim strPoncurve: strPoncurve = rhino.CurveClosestPoint(strcurve, strpoints(i))&lt;br /&gt;    Dim strframe: strframe = rhino.Curveperpframe(strcurve, strPoncurve)&lt;br /&gt;    Dim tang: tang = rhino.curvetangent(strcurve, strPoncurve)&lt;br /&gt;    Dim dist: dist = rhino.Distance(strpoints(i), ptcoord)&lt;br /&gt;    arrcircle(i) = rhino.addcircle(strframe, dist/8)&lt;br /&gt;&lt;br /&gt;    ptcurve = rhino.CurveStartPoint(arrcircle(i))&lt;br /&gt;    pt = rhino.addpoint(ptcurve)&lt;br /&gt;&lt;br /&gt;    ptrot(i) = rhino.RotateObject(pt, strpoints(i), 137.52*i, tang, true)&lt;br /&gt;&lt;br /&gt;    rhino.Deleteobject(pt)&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'Call rhino.AddLoftSrf(arrcircle)&lt;br /&gt;&lt;br /&gt;rhino.enableredraw(True)&lt;br /&gt;&lt;br /&gt;call rhino.DeleteObjects(arrcircle)&lt;br /&gt;&lt;br /&gt;Dim j, v&lt;br /&gt;Dim pointfib()&lt;br /&gt;Dim arrcurve1(4)&lt;br /&gt;Dim dom1&lt;br /&gt;Dim countfib&lt;br /&gt;Dim crvcurv1&lt;br /&gt;Dim plane1&lt;br /&gt;Dim circle1&lt;br /&gt;Dim tube1(4)&lt;br /&gt;&lt;br /&gt;For v = 0 To 4&lt;br /&gt;&lt;br /&gt;    countfib = 0&lt;br /&gt;&lt;br /&gt;    For j = v To ubound(ptrot) Step 5&lt;br /&gt;&lt;br /&gt;        ReDim Preserve pointfib(countfib)&lt;br /&gt;        pointfib(countfib) = rhino.PointCoordinates(ptrot(j))&lt;br /&gt;        countfib = countfib+1&lt;br /&gt;&lt;br /&gt;    Next&lt;br /&gt;&lt;br /&gt;    arrcurve1(v) = rhino.addcurve(pointfib)&lt;br /&gt;&lt;br /&gt;    dom1 = rhino.Curvedomain(arrcurve1(v))&lt;br /&gt;    crvcurv1 = rhino.curvecurvature(arrcurve1(v), dom1(0))&lt;br /&gt;    plane1 = rhino.PlaneFromNormal(rhino.CurveStartPoint(arrcurve1(v)),crvcurv1(1))&lt;br /&gt;    circle1 = rhino.AddCircle(plane1, 0.2)&lt;br /&gt;    tube1(v) = rhino.AddSweep1(arrCurve1(v), circle1)&lt;br /&gt;&lt;br /&gt;    Erase pointfib&lt;br /
