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

<channel>
	<title>parametric realizations fall 2008</title>
	<atom:link href="http://parametricrealizations1.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://parametricrealizations1.wordpress.com</link>
	<description>exploring the intrinsic relationship between parametric algorithms and material explorations</description>
	<lastBuildDate>Mon, 15 Dec 2008 03:57:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='parametricrealizations1.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f617687a037daf637a51df8ecf7c1a0f?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>parametric realizations fall 2008</title>
		<link>http://parametricrealizations1.wordpress.com</link>
	</image>
			<item>
		<title>final script</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/13/final-script/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/13/final-script/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 01:04:25 +0000</pubDate>
		<dc:creator>nuoxu</dc:creator>
				<category><![CDATA[Homework]]></category>
		<category><![CDATA[Nuo Xu]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=595</guid>
		<description><![CDATA[Call Main()
Sub Main()
Dim arrPlane, i,k, strCrv(), strInnerCrv(), strSrf(), arrX, arrPt(), arrInnerPt(), counter, arrHorzSurf(), arrVertSurf(), counter1, counter2, counter3
Dim strCrvv, strInnerCrvv, j, UnrolledSlice, dblDist, arrTempPt, arrTempInnerPt, strHorzSurf, strVertSurf, arrCrvs()
Dim intRandom, loopcounter
counter1 = 0
For loopcounter = 0 To 12
i = Random(2,13)
arrX = sin(i/15*3.14)*12
ReDim Preserve strCrv(counter1)
ReDim Preserve strInnerCrv(counter1)
ReDim Preserve strSrf(counter1)
ReDim Preserve arrHorzSurf(counter1)
arrPlane = Rhino.PlaneFromPoints (array(0,0,i), array(1,0,i), array(0,1,i))
strCrv(counter1) = Rhino.AddCircle [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=595&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Call Main()<br />
Sub Main()<br />
Dim arrPlane, i,k, strCrv(), strInnerCrv(), strSrf(), arrX, arrPt(), arrInnerPt(), counter, arrHorzSurf(), arrVertSurf(), counter1, counter2, counter3<br />
Dim strCrvv, strInnerCrvv, j, UnrolledSlice, dblDist, arrTempPt, arrTempInnerPt, strHorzSurf, strVertSurf, arrCrvs()<br />
Dim intRandom, loopcounter</p>
<p>counter1 = 0<br />
For loopcounter = 0 To 12<br />
i = Random(2,13)<br />
arrX = sin(i/15*3.14)*12<br />
ReDim Preserve strCrv(counter1)<br />
ReDim Preserve strInnerCrv(counter1)<br />
ReDim Preserve strSrf(counter1)<br />
ReDim Preserve arrHorzSurf(counter1)<br />
arrPlane = Rhino.PlaneFromPoints (array(0,0,i), array(1,0,i), array(0,1,i))<br />
strCrv(counter1) = Rhino.AddCircle (arrPlane, arrX)<br />
strInnerCrv(counter1) = Rhino.AddCircle (arrPlane, arrX-1)<br />
If i = 13 Then<br />
arrHorzSurf(counter1) = Rhino.AddPlanarSrf (array(strCrv(counter1)))<br />
Else<br />
arrHorzSurf(counter1) = Rhino.AddLoftSrf (array(strCrv(counter1),strInnerCrv(counter1)))<br />
End If<br />
counter1 = counter1 + 1<br />
Next<br />
Call Rhino.DeleteObjects (strCrv)<br />
Call Rhino.DeleteObjects (strInnerCrv)</p>
<p>counter2 = 0<br />
For loopcounter = 0 To 5<br />
intRandom = Random(20,120)<br />
For j = -180 To 179 Step intRandom<br />
ReDim Preserve arrVertSurf(counter2)<br />
counter = 0<br />
For i = 1 To 14<br />
arrX = sin(i/15*3.14)*12<br />
ReDim Preserve arrPt(counter)<br />
ReDim Preserve arrinnerPt(counter)<br />
arrTempPt = Rhino.Polar (array(0,0,0), j, arrX)<br />
arrPt(counter) = array(arrTempPt(0),arrTempPt(1),arrTempPt(2)+i)<br />
arrTempInnerPt = Rhino.Polar (array(0,0,0), j, arrX-1)<br />
arrinnerPt(counter) = array (arrTempInnerPt(0),arrTempInnerPt(1),arrTempInnerPt(2)+i)<br />
counter = counter + 1<br />
Next<br />
strCrvv = Rhino.AddCurve (arrPt)<br />
strinnerCrvv = Rhino.AddCurve (arrinnerPt)<br />
arrVertSurf(counter2) = Rhino.AddLoftSrf (array(strCrvv, strInnerCrvv))<br />
Call Rhino.DeleteObject (strCrvv)<br />
Call Rhino.DeleteObject (strInnerCrvv)<br />
Next<br />
counter2 = counter2 + 1<br />
Next</p>
<p>End Sub</p>
<p>Function Random(nMin, nMax)<br />
Randomize<br />
Random = Int((nMax-nMin+1)*Rnd+nMin)<br />
End Function<img class="alignnone" src="http://farm4.static.flickr.com/3079/3103845532_a8a781cbe1.jpg?v=0" alt="" width="500" height="333" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/595/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=595&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/13/final-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b374254cb1c34ae2c27cb77cbfc63dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nuo xu</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3079/3103845532_a8a781cbe1.jpg?v=0" medium="image" />
	</item>
		<item>
		<title>Kissing Vase</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/12/kissing-vase/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/12/kissing-vase/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 22:49:14 +0000</pubDate>
		<dc:creator>archlim</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[Jae Heon Lim]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=588</guid>
		<description><![CDATA[
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=588&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-589" title="parametricrealizationssheetlayout_01_blog" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametricrealizationssheetlayout_01_blog.jpg?w=500&#038;h=380" alt="parametricrealizationssheetlayout_01_blog" width="500" height="380" /><img class="alignnone size-full wp-image-590" title="parametricrealizationssheetlayout_02_blog" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametricrealizationssheetlayout_02_blog.jpg?w=500&#038;h=380" alt="parametricrealizationssheetlayout_02_blog" width="500" height="380" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/588/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=588&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/12/kissing-vase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0af4bd7bc9ddf4278a2cad8463a6b00c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">archlim</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametricrealizationssheetlayout_01_blog.jpg" medium="image">
			<media:title type="html">parametricrealizationssheetlayout_01_blog</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametricrealizationssheetlayout_02_blog.jpg" medium="image">
			<media:title type="html">parametricrealizationssheetlayout_02_blog</media:title>
		</media:content>
	</item>
		<item>
		<title>Toad Stools</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/12/toad-stools/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/12/toad-stools/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 22:22:27 +0000</pubDate>
		<dc:creator>srp2137</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[Adrian Smith]]></category>
		<category><![CDATA[Rika Chaudhry]]></category>
		<category><![CDATA[Sonal Patel]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=565</guid>
		<description><![CDATA[
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=565&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-574" title="parametric_page_1" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_1.jpg?w=499&#038;h=386" alt="parametric_page_1" width="499" height="386" /><img class="alignnone size-full wp-image-575" title="parametric_page_2" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_2.jpg?w=500&#038;h=386" alt="parametric_page_2" width="500" height="386" /><img class="alignnone size-full wp-image-579" title="parametric_page_31" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_31.jpg?w=500&#038;h=386" alt="parametric_page_31" width="500" height="386" /><img class="alignnone size-full wp-image-580" title="parametric_page_4" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_4.jpg?w=500&#038;h=386" alt="parametric_page_4" width="500" height="386" /><img class="alignnone size-full wp-image-583" title="parametric_page_5" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_5.jpg?w=499&#038;h=386" alt="parametric_page_5" width="499" height="386" /><img class="alignnone size-full wp-image-584" title="parametric_page_6" src="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_6.jpg?w=499&#038;h=386" alt="parametric_page_6" width="499" height="386" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/565/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=565&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/12/toad-stools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e873f1fc613074f09c8aab3e1dbfe407?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srp2137</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_1.jpg" medium="image">
			<media:title type="html">parametric_page_1</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_2.jpg" medium="image">
			<media:title type="html">parametric_page_2</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_31.jpg" medium="image">
			<media:title type="html">parametric_page_31</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_4.jpg" medium="image">
			<media:title type="html">parametric_page_4</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_5.jpg" medium="image">
			<media:title type="html">parametric_page_5</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/parametric_page_6.jpg" medium="image">
			<media:title type="html">parametric_page_6</media:title>
		</media:content>
	</item>
		<item>
		<title>broken window (katie)</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/12/broken-window-katie/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/12/broken-window-katie/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 22:15:54 +0000</pubDate>
		<dc:creator>katieshima</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[Katie Shima]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=561</guid>
		<description><![CDATA[Option Explicit
&#8216;Script written by &#60;insert name&#62;
&#8216;Script copyrighted by &#60;insert company name&#62;
&#8216;Script version Sunday, December 07, 2008 4:41:24 PM
Call Main()
Sub Main()
Dim i,j,k,l,m, arrPt, strPoint, strTestPath, arrPoint, arrCCX, strCurve, counter, arrIntPoint(), strIntPoint, strCrv, strCrv2, strSrf
Dim arrIntPt, TestDistance, OrigDistance, ClosestPoint, strPath, arrDivPts, arrPoint1, arrPoint2, strIntLine(), closestLine
Dim arrPoints : arrPoints = Rhino.Getobjects (&#8220;select Points&#8221;, 1)
Dim arrCurves : arrCurves = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=561&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-563" title="2008_12_12_1_title" src="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_1_title.jpg?w=500&#038;h=380" alt="2008_12_12_1_title" width="500" height="380" /><img class="alignnone size-full wp-image-566" title="2008_12_12_2_script-2" src="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_2_script-2.jpg?w=500&#038;h=380" alt="2008_12_12_2_script-2" width="500" height="380" /><img class="alignnone size-full wp-image-568" title="2008_12_12_3_open_closed-2" src="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_3_open_closed-2.jpg?w=500&#038;h=380" alt="2008_12_12_3_open_closed-2" width="500" height="380" /><img class="alignnone size-full wp-image-571" title="2008_12_12_4_overlay-2" src="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_4_overlay-2.jpg?w=500&#038;h=380" alt="2008_12_12_4_overlay-2" width="500" height="380" /><img class="alignnone size-full wp-image-564" title="2008_12_121" src="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_121.jpg?w=416&#038;h=595" alt="2008_12_121" width="416" height="595" />Option Explicit<br />
&#8216;Script written by &lt;insert name&gt;<br />
&#8216;Script copyrighted by &lt;insert company name&gt;<br />
&#8216;Script version Sunday, December 07, 2008 4:41:24 PM</p>
<p>Call Main()<br />
Sub Main()<br />
Dim i,j,k,l,m, arrPt, strPoint, strTestPath, arrPoint, arrCCX, strCurve, counter, arrIntPoint(), strIntPoint, strCrv, strCrv2, strSrf<br />
Dim arrIntPt, TestDistance, OrigDistance, ClosestPoint, strPath, arrDivPts, arrPoint1, arrPoint2, strIntLine(), closestLine<br />
Dim arrPoints : arrPoints = Rhino.Getobjects (&#8220;select Points&#8221;, 1)<br />
Dim arrCurves : arrCurves = Rhino.Getobjects (&#8220;select Curves&#8221;, 4)<br />
Dim arrLine1(1), arrLine2(1), arrAngle, arrStepAngle, arrSltLCtrPt, arrSltLCtrFPt, arrSltLCtrBPt, strSltLCrvI1, strSltLCrvI2, arrSltLOutPt, arrSltLOutFPt, arrSltLOutBPt, strSltLCrvO1, strSltLCrvO2, strSltLCrvF, strSltLCrvB, StrSltL<br />
Dim arrSltRCtrPt, arrSltRCtrFPt, arrSltRCtrBPt, strSltRCrvI1, strSltRCrvI2, arrSltROutPt, arrSltROutFPt, arrSltROutBPt, strSltRCrvO1, strSltRCrvO2, strSltRCrvF, strSltRCrvB, strPath2<br />
Dim slotlength : slotlength = .5<br />
Dim slotwidth: slotwidth = .1695<br />
Dim slotoffset: slotoffset = .268<br />
Dim matwidth: matwidth= .114<br />
Call Rhino.UnselectAllObjects<br />
Call Rhino.EnableRedraw (False)<br />
For Each strPoint In arrPoints<br />
arrPoint = Rhino.PointCoordinates (strPoint)<br />
For i = 11.25 To 168.75 Step 45<br />
arrPt = Rhino.Polar (arrPoint, i, 40, Rhino.WorldYZPlane)<br />
strTestPath = Rhino.AddLine (arrPoint, arrPt)<br />
counter = 0<br />
For Each strCurve In arrCurves<br />
arrCCX = Rhino.CurveCurveIntersection (strCurve, strTestPath)<br />
If Not IsArray(arrCCX) Then<br />
Rhino.Print &#8220;Selected curves do not intersect.&#8221;<br />
Else<br />
ReDim Preserve strIntLine(counter)<br />
ReDim Preserve arrIntPoint(counter)<br />
arrIntPoint(counter) = Rhino.AddPoint (arrCCX(j,1))<br />
strIntLine(counter) = strCurve<br />
counter = counter + 1<br />
End If<br />
Next<br />
OrigDistance = 1000000<br />
For m = 0 To UBound(arrIntPoint)<br />
arrIntPt = Rhino.Pointcoordinates (arrIntPoint(m))<br />
TestDistance = Rhino.Distance (arrPoint, arrIntPt)<br />
If TestDistance &lt; OrigDistance Then<br />
OrigDistance = TestDistance<br />
ClosestPoint = arrIntPt<br />
ClosestLine = strIntLine(m)<br />
End If<br />
Call Rhino.DeleteObject (arrIntPoint(m))<br />
Call Rhino.SelectObject (ClosestLine)<br />
Call Rhino.UnselectAllObjects<br />
Next<br />
strPath = Rhino.AddLine (arrPoint, ClosestPoint)<br />
Call Rhino.DeleteObject (strTestPath)<br />
arrDivPts = Rhino.DivideCurveLength (strPath, 1)<br />
&#8216;Call Rhino.DeleteObject (strPath)<br />
If i Mod 45 = 0 Then<br />
l = 0<br />
Else<br />
l=1<br />
End If<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,1,0)<br />
arrLine2(1) = Array(0,0,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
For k = l To UBound(arrDivPts) Step 2<br />
&#8216;Call Rhino.AddPoint (arrDivPts(k))<br />
arrPoint1 = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
arrPoint2 = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
strCrv = Rhino.AddLine (arrPoint1, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strCrv2 = Rhino.AddLine (arrPoint2, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strSrf = Rhino.AddLoftSrf (Array(strCrv, strCrv2))<br />
Call Rhino.DeleteObject(strCrv)<br />
Call Rhino.DeleteObject(strCrv2)<br />
&#8216;Call Rhino.DeleteObject(strPath)<br />
arrSltLCtrPt = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltLCtrFPt = Rhino.Polar (arrSltLCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI1 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrFPt)<br />
arrSltLCtrBPt = Rhino.Polar (arrSltLCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI2 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrBPt)<br />
arrSltLOutPt = Rhino.Polar (arrSltLCtrPt, i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltLOutFPt = Rhino.Polar (arrSltLOutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO1 = Rhino.AddLine(arrSltLOutPt, arrSltLOutFPt)<br />
arrSltLOutBPt = Rhino.Polar (arrSltLOutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO2 = Rhino.AddLine(arrSltLOutPt, arrSltLOutBPt)<br />
strSltLCrvF = Rhino.AddLine(arrSltLCtrFPt, arrSltLOutFPt)<br />
strSltLCrvB = Rhino.AddLine (arrSltLCtrBPt, arrSltLOutBPt)<br />
arrSltRCtrPt = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltRCtrFPt = Rhino.Polar (arrSltRCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI1 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrFPt)<br />
arrSltRCtrBPt = Rhino.Polar (arrSltRCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI2 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrBPt)<br />
arrSltROutPt = Rhino.Polar (arrSltRCtrPt, i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltROutFPt = Rhino.Polar (arrSltROutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO1 = Rhino.AddLine(arrSltROutPt, arrSltROutFPt)<br />
arrSltROutBPt = Rhino.Polar (arrSltROutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO2 = Rhino.AddLine(arrSltROutPt, arrSltROutBPt)<br />
strSltRCrvF = Rhino.AddLine(arrSltRCtrFPt, arrSltROutFPt)<br />
strSltRCrvB = Rhino.AddLine (arrSltRCtrBPt, arrSltROutBPt)<br />
Next<br />
Next<br />
For i = 33.75 To 191.25 Step 45<br />
arrPt = Rhino.Polar (arrPoint, i, 40, Rhino.WorldYZPlane)<br />
strTestPath = Rhino.AddLine (arrPoint, arrPt)<br />
counter = 0<br />
For Each strCurve In arrCurves<br />
arrCCX = Rhino.CurveCurveIntersection (strCurve, strTestPath)<br />
If Not IsArray(arrCCX) Then<br />
Rhino.Print &#8220;Selected curves do not intersect.&#8221;<br />
Else<br />
ReDim Preserve strIntLine(counter)<br />
ReDim Preserve arrIntPoint(counter)<br />
arrIntPoint(counter) = Rhino.AddPoint (arrCCX(j,1))<br />
strIntLine(counter) = strCurve<br />
counter = counter + 1<br />
End If<br />
Next<br />
OrigDistance = 1000000<br />
For m = 0 To UBound(arrIntPoint)<br />
arrIntPt = Rhino.Pointcoordinates (arrIntPoint(m))<br />
TestDistance = Rhino.Distance (arrPoint, arrIntPt)<br />
If TestDistance &lt; OrigDistance Then<br />
OrigDistance = TestDistance<br />
ClosestPoint = arrIntPt<br />
ClosestLine = strIntLine(m)<br />
End If<br />
Call Rhino.DeleteObject (arrIntPoint(m))<br />
Call Rhino.SelectObject (ClosestLine)<br />
Call Rhino.UnselectAllObjects<br />
Next<br />
strPath = Rhino.AddLine (arrPoint, ClosestPoint)<br />
Call Rhino.DeleteObject (strTestPath)<br />
arrDivPts = Rhino.DivideCurveLength (strPath, 1)<br />
&#8216;Call Rhino.DeleteObject (strPath)<br />
If i Mod 45 = 0 Then<br />
l = 0<br />
Else<br />
l=1<br />
End If<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,1,0)<br />
arrLine2(1) = Array(0,0,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
For k = 2 To UBound(arrDivPts) Step 2<br />
&#8216;Call Rhino.AddPoint (arrDivPts(k))<br />
arrPoint1 = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
arrPoint2 = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
strCrv = Rhino.AddLine (arrPoint1, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strCrv2 = Rhino.AddLine (arrPoint2, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strSrf = Rhino.AddLoftSrf (Array(strCrv, strCrv2))<br />
Call Rhino.DeleteObject(strCrv)<br />
Call Rhino.DeleteObject(strCrv2)<br />
&#8216;Call Rhino.DeleteObject(strPath)<br />
arrSltLCtrPt = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltLCtrFPt = Rhino.Polar (arrSltLCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI1 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrFPt)<br />
arrSltLCtrBPt = Rhino.Polar (arrSltLCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI2 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrBPt)<br />
arrSltLOutPt = Rhino.Polar (arrSltLCtrPt, i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltLOutFPt = Rhino.Polar (arrSltLOutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO1 = Rhino.AddLine(arrSltLOutPt, arrSltLOutFPt)<br />
arrSltLOutBPt = Rhino.Polar (arrSltLOutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO2 = Rhino.AddLine(arrSltLOutPt, arrSltLOutBPt)<br />
strSltLCrvF = Rhino.AddLine(arrSltLCtrFPt, arrSltLOutFPt)<br />
strSltLCrvB = Rhino.AddLine (arrSltLCtrBPt, arrSltLOutBPt)<br />
arrSltRCtrPt = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltRCtrFPt = Rhino.Polar (arrSltRCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI1 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrFPt)<br />
arrSltRCtrBPt = Rhino.Polar (arrSltRCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI2 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrBPt)<br />
arrSltROutPt = Rhino.Polar (arrSltRCtrPt, i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltROutFPt = Rhino.Polar (arrSltROutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO1 = Rhino.AddLine(arrSltROutPt, arrSltROutFPt)<br />
arrSltROutBPt = Rhino.Polar (arrSltROutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO2 = Rhino.AddLine(arrSltROutPt, arrSltROutBPt)<br />
strSltRCrvF = Rhino.AddLine(arrSltRCtrFPt, arrSltROutFPt)<br />
strSltRCrvB = Rhino.AddLine (arrSltRCtrBPt, arrSltROutBPt)<br />
Next<br />
Next<br />
For i = 213.75 To 356.25 Step 45<br />
arrPt = Rhino.Polar (arrPoint, i, 40, Rhino.WorldYZPlane)<br />
strTestPath = Rhino.AddLine (arrPoint, arrPt)<br />
counter = 0<br />
For Each strCurve In arrCurves<br />
arrCCX = Rhino.CurveCurveIntersection (strCurve, strTestPath)<br />
If Not IsArray(arrCCX) Then<br />
Rhino.Print &#8220;Selected curves do not intersect.&#8221;<br />
Else<br />
ReDim Preserve strIntLine(counter)<br />
ReDim Preserve arrIntPoint(counter)<br />
arrIntPoint(counter) = Rhino.AddPoint (arrCCX(j,1))<br />
strIntLine(counter) = strCurve<br />
counter = counter + 1<br />
End If<br />
Next<br />
OrigDistance = 1000000<br />
For m = 0 To UBound(arrIntPoint)<br />
arrIntPt = Rhino.Pointcoordinates (arrIntPoint(m))<br />
TestDistance = Rhino.Distance (arrPoint, arrIntPt)<br />
If TestDistance &lt; OrigDistance Then<br />
OrigDistance = TestDistance<br />
ClosestPoint = arrIntPt<br />
ClosestLine = strIntLine(m)<br />
End If<br />
Call Rhino.DeleteObject (arrIntPoint(m))<br />
Call Rhino.SelectObject (ClosestLine)<br />
Call Rhino.UnselectAllObjects<br />
Next<br />
strPath = Rhino.AddLine (arrPoint, ClosestPoint)<br />
Call Rhino.DeleteObject (strTestPath)<br />
arrDivPts = Rhino.DivideCurveLength (strPath, 1)<br />
&#8216;Call Rhino.DeleteObject (strPath)<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,0,0)<br />
arrLine2(1) = Array(0,1,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
If i Mod 45 = 0 Then<br />
l = 0<br />
Else<br />
l=1<br />
End If<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,0,0)<br />
arrLine2(1) = Array(0,1,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
For k = 2 To UBound(arrDivPts) Step 2<br />
&#8216;Call Rhino.AddPoint (arrDivPts(k))<br />
arrPoint1 = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
arrPoint2 = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
Call Rhino.AddLine (arrPoint1, arrPoint2)<br />
strCrv = Rhino.AddLine (arrPoint1, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strCrv2 = Rhino.AddLine (arrPoint2, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strSrf = Rhino.AddLoftSrf (Array(strCrv, strCrv2))<br />
Call Rhino.DeleteObject(strCrv)<br />
Call Rhino.DeleteObject(strCrv2)<br />
&#8216;Call Rhino.DeleteObject(strPath)<br />
arrSltLCtrPt = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltLCtrFPt = Rhino.Polar (arrSltLCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI1 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrFPt)<br />
arrSltLCtrBPt = Rhino.Polar (arrSltLCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI2 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrBPt)<br />
arrSltLOutPt = Rhino.Polar (arrSltLCtrPt, i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltLOutFPt = Rhino.Polar (arrSltLOutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO1 = Rhino.AddLine(arrSltLOutPt, arrSltLOutFPt)<br />
arrSltLOutBPt = Rhino.Polar (arrSltLOutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO2 = Rhino.AddLine(arrSltLOutPt, arrSltLOutBPt)<br />
strSltLCrvF = Rhino.AddLine(arrSltLCtrFPt, arrSltLOutFPt)<br />
strSltLCrvB = Rhino.AddLine (arrSltLCtrBPt, arrSltLOutBPt)<br />
arrSltRCtrPt = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltRCtrFPt = Rhino.Polar (arrSltRCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI1 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrFPt)<br />
arrSltRCtrBPt = Rhino.Polar (arrSltRCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI2 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrBPt)<br />
arrSltROutPt = Rhino.Polar (arrSltRCtrPt, i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltROutFPt = Rhino.Polar (arrSltROutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO1 = Rhino.AddLine(arrSltROutPt, arrSltROutFPt)<br />
arrSltROutBPt = Rhino.Polar (arrSltROutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO2 = Rhino.AddLine(arrSltROutPt, arrSltROutBPt)<br />
strSltRCrvF = Rhino.AddLine(arrSltRCtrFPt, arrSltROutFPt)<br />
strSltRCrvB = Rhino.AddLine (arrSltRCtrBPt, arrSltROutBPt)<br />
Next<br />
Next<br />
For i = 191.25 To 333.75 Step 45<br />
arrPt = Rhino.Polar (arrPoint, i, 40, Rhino.WorldYZPlane)<br />
strTestPath = Rhino.AddLine (arrPoint, arrPt)<br />
counter = 0<br />
For Each strCurve In arrCurves<br />
arrCCX = Rhino.CurveCurveIntersection (strCurve, strTestPath)<br />
If Not IsArray(arrCCX) Then<br />
Rhino.Print &#8220;Selected curves do not intersect.&#8221;<br />
Else<br />
ReDim Preserve strIntLine(counter)<br />
ReDim Preserve arrIntPoint(counter)<br />
arrIntPoint(counter) = Rhino.AddPoint (arrCCX(j,1))<br />
strIntLine(counter) = strCurve<br />
counter = counter + 1<br />
End If<br />
Next<br />
OrigDistance = 1000000<br />
For m = 0 To UBound(arrIntPoint)<br />
arrIntPt = Rhino.Pointcoordinates (arrIntPoint(m))<br />
TestDistance = Rhino.Distance (arrPoint, arrIntPt)<br />
If TestDistance &lt; OrigDistance Then<br />
OrigDistance = TestDistance<br />
ClosestPoint = arrIntPt<br />
ClosestLine = strIntLine(m)<br />
End If<br />
Call Rhino.DeleteObject (arrIntPoint(m))<br />
Call Rhino.SelectObject (ClosestLine)<br />
Call Rhino.UnselectAllObjects<br />
Next<br />
strPath = Rhino.AddLine (arrPoint, ClosestPoint)<br />
Call Rhino.DeleteObject (strTestPath)<br />
arrDivPts = Rhino.DivideCurveLength (strPath, 1)<br />
&#8216;Call Rhino.DeleteObject (strPath)<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,0,0)<br />
arrLine2(1) = Array(0,1,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
If i Mod 45 = 0 Then<br />
l = 0<br />
Else<br />
l=1<br />
End If<br />
arrLine1(0) = Rhino.CurveStartPoint (strPath)<br />
arrLine1(1) = Rhino.CurveEndPoint (strPath)<br />
arrLine2(0) = Array(0,0,0)<br />
arrLine2(1) = Array(0,1,0)<br />
arrAngle = Rhino.Angle2(arrLine1, arrLine2)<br />
If IsArray(arrAngle ) Then<br />
Rhino.Print &#8220;Angle: &#8221; &amp; CStr(arrAngle(0))<br />
End If<br />
For k = 1 To UBound(arrDivPts) Step 2<br />
&#8216;Call Rhino.AddPoint (arrDivPts(k))<br />
arrPoint1 = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
arrPoint2 = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), Sin(k/12)*4, Rhino.WorldYZPlane)<br />
Call Rhino.AddLine (arrPoint1, arrPoint2)<br />
strCrv = Rhino.AddLine (arrPoint1, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strCrv2 = Rhino.AddLine (arrPoint2, Array(arrDivPts(k)(0)-Sin(k/12)*5-1,arrDivPts(k)(1),arrDivPts(k)(2)))<br />
strSrf = Rhino.AddLoftSrf (Array(strCrv, strCrv2))<br />
Call Rhino.DeleteObject(strCrv)<br />
Call Rhino.DeleteObject(strCrv2)<br />
&#8216;Call Rhino.DeleteObject(strPath)<br />
arrSltLCtrPt = Rhino.Polar (arrDivPts(k), i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltLCtrFPt = Rhino.Polar (arrSltLCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI1 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrFPt)<br />
arrSltLCtrBPt = Rhino.Polar (arrSltLCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvI2 = Rhino.AddLine(arrSltLCtrPt, arrSltLCtrBPt)<br />
arrSltLOutPt = Rhino.Polar (arrSltLCtrPt, i+90+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltLOutFPt = Rhino.Polar (arrSltLOutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO1 = Rhino.AddLine(arrSltLOutPt, arrSltLOutFPt)<br />
arrSltLOutBPt = Rhino.Polar (arrSltLOutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltLCrvO2 = Rhino.AddLine(arrSltLOutPt, arrSltLOutBPt)<br />
strSltLCrvF = Rhino.AddLine(arrSltLCtrFPt, arrSltLOutFPt)<br />
strSltLCrvB = Rhino.AddLine (arrSltLCtrBPt, arrSltLOutBPt)<br />
arrSltRCtrPt = Rhino.Polar (arrDivPts(k), i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotoffset/2, Rhino.WorldYZPlane)<br />
arrSltRCtrFPt = Rhino.Polar (arrSltRCtrPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI1 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrFPt)<br />
arrSltRCtrBPt = Rhino.Polar (arrSltRCtrPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvI2 = Rhino.AddLine(arrSltRCtrPt, arrSltRCtrBPt)<br />
arrSltROutPt = Rhino.Polar (arrSltRCtrPt, i+270+(arrAngle(0)-90)*k/UBound(arrDivPts), slotwidth, Rhino.WorldYZPlane)<br />
arrSltROutFPt = Rhino.Polar (arrSltROutPt, i+180+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2-matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO1 = Rhino.AddLine(arrSltROutPt, arrSltROutFPt)<br />
arrSltROutBPt = Rhino.Polar (arrSltROutPt, i+(arrAngle(0)-90)*k/UBound(arrDivPts), slotlength/2+matwidth/2, Rhino.WorldYZPlane)<br />
strSltRCrvO2 = Rhino.AddLine(arrSltROutPt, arrSltROutBPt)<br />
strSltRCrvF = Rhino.AddLine(arrSltRCtrFPt, arrSltROutFPt)<br />
strSltRCrvB = Rhino.AddLine (arrSltRCtrBPt, arrSltROutBPt)<br />
Next<br />
Next</p>
<p>Next<br />
Call Rhino.EnableRedraw (True)<br />
End Sub</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=561&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/12/broken-window-katie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/56aebaeb0ed2d62cdb382f00ef932c78?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">katieshima</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_1_title.jpg" medium="image">
			<media:title type="html">2008_12_12_1_title</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_2_script-2.jpg" medium="image">
			<media:title type="html">2008_12_12_2_script-2</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_3_open_closed-2.jpg" medium="image">
			<media:title type="html">2008_12_12_3_open_closed-2</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_12_4_overlay-2.jpg" medium="image">
			<media:title type="html">2008_12_12_4_overlay-2</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/2008_12_121.jpg" medium="image">
			<media:title type="html">2008_12_121</media:title>
		</media:content>
	</item>
		<item>
		<title>FINAL PROJECT</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/12/final-project/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/12/final-project/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 09:55:43 +0000</pubDate>
		<dc:creator>tdiede</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[Sina Mesdaghi]]></category>
		<category><![CDATA[Therese Diede]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=556</guid>
		<description><![CDATA[Sina Mesdaghi
Therese Diede
Call Main()
Sub Main()
Dim i,j,d,k,p,q,u,v, arrPlane, Circle, strAttractor, strPath, extrude, arrPoint, arrPoints, intLoop, arrRndNumber, strPoints()
Dim UDomain, VDomain, UStep, VStep, dblDistance, arrAttractor, testDistance
Dim intU : intU = 100 &#8216;Horizontal
Dim intV : intV = 1 &#8216;Vertical
ReDim arrCrvPt(intU)
ReDim arrCrv(intV)
ReDim arrFrame(intU,intV)
ReDim arrPts(intU,intV)
ReDim arrPtNormal(intU,intV)
Dim dblMatThick : dblMatThick = 0.25
For q = 0 To 4
For p = 1 To 5
arrPlane [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=556&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sina Mesdaghi</p>
<p>Therese Diede</p>
<p>Call Main()<br />
Sub Main()<br />
Dim i,j,d,k,p,q,u,v, arrPlane, Circle, strAttractor, strPath, extrude, arrPoint, arrPoints, intLoop, arrRndNumber, strPoints()<br />
Dim UDomain, VDomain, UStep, VStep, dblDistance, arrAttractor, testDistance<br />
Dim intU : intU = 100 &#8216;Horizontal<br />
Dim intV : intV = 1 &#8216;Vertical<br />
ReDim arrCrvPt(intU)<br />
ReDim arrCrv(intV)<br />
ReDim arrFrame(intU,intV)<br />
ReDim arrPts(intU,intV)<br />
ReDim arrPtNormal(intU,intV)<br />
Dim dblMatThick : dblMatThick = 0.25<br />
For q = 0 To 4<br />
For p = 1 To 5<br />
arrPlane = Rhino.PlaneFromPoints (Array(p*8,q*8,0), Array(p*8,q*8+1,0), Array(p*8+1,q*8,0))<br />
circle = Rhino.AddCircle (arrPlane, 3.5)<br />
strPath = Rhino.AddLine (Array(20,30,0), Array(20,30,dblMatThick/2))<br />
extrude = Rhino.ExtrudeCurve (circle, strPath)<br />
arrPoints = Rhino.DivideCurve (circle,(4+p*4))<br />
intLoop = Random(0+p*3, UBound(arrPoints))<br />
If intLoop &lt; 2 Then intLoop = 2<br />
For j = 0 To IntLoop<br />
ReDim Preserve strPoints(j)<br />
arrRndNumber = Random(0, UBound(arrPoints))<br />
arrPoint = arrPoints(arrRndNumber)<br />
strPoints(j) = Rhino.AddPoint (arrPoint)<br />
Next<br />
ReDim arrAttractors(UBound(strPoints))<br />
d = (p+2)*20<br />
k=0<br />
For Each strAttractor In strPoints<br />
arrAttractors(k) = Rhino.pointcoordinates (strAttractor)<br />
k=k+1<br />
Next<br />
UDomain = Rhino.SurfaceDomain(extrude, 0)<br />
VDomain = Rhino.SurfaceDomain(extrude, 1)<br />
UStep = (UDomain(1) &#8211; UDomain(0)) / intU<br />
VStep = (VDomain(1) &#8211; VDomain(0)) / intV<br />
For j = 0 To intV<br />
For i = 0 To intU<br />
u = UDomain(0) + UStep * i<br />
v = VDomain(0) + vStep * j<br />
arrFrame(i,j) = Rhino.SurfaceFrame (extrude, Array(U,V))<br />
dblDistance = d<br />
For Each arrAttractor In arrAttractors<br />
testDistance = Rhino.Distance (arrFrame(i,j)(0), arrAttractor)<br />
If testDistance &lt; dblDistance Then<br />
dblDistance = testDistance<br />
End If<br />
Next<br />
dblDistance = dblDistance/1<br />
arrPtNormal(i,j) = Rhino.PointAdd(arrFrame(i,j)(0), Rhino.VectorScale (arrFrame(i,j)(3),dblDistance+(j*0.5)))<br />
arrCrvPt(i) = arrPtNormal(i,j)<br />
Next<br />
arrCrv(j) = Rhino.AddCurve (arrCrvPt)<br />
Next<br />
Call Rhino.addLoftSrf (arrCrv)<br />
Call Rhino.DeleteObjects (strPoints)<br />
Call Rhino.DeleteObject (extrude)<br />
Call Rhino.addLoftSrf (Array(circle,arrCrv(0)))<br />
Call Rhino.SelectObject (arrCrv(1))<br />
Call Rhino.Command (&#8220;PlanarSrf &#8220;)<br />
Call Rhino.UnselectAllObjects<br />
Call Rhino.MoveObject (circle, Array(0,0,0),Array(0,0,dblMatThick+0.1))<br />
Call Rhino.OffsetCurve (circle, Array(0,0,0), 0.125)<br />
Call Rhino.deleteObject (circle)<br />
Call Rhino.deleteObjects (arrCrv)</p>
<p>Next<br />
Next</p>
<p>End Sub</p>
<p>Function Random(nMin, nMax)<br />
Random = Int((nMax &#8211; nMin)*Rnd + nMin)<br />
End Function</p>
<p><img class="alignnone size-full wp-image-555" title="final_render" src="http://parametricrealizations1.files.wordpress.com/2008/12/final_render.jpg?w=500&#038;h=493" alt="final_render" width="500" height="493" /></p>
<p><img class="alignnone size-full wp-image-557" title="final_process1" src="http://parametricrealizations1.files.wordpress.com/2008/12/final_process1.jpg?w=500&#038;h=374" alt="final_process1" width="500" height="374" /></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/556/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=556&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/12/final-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/02e1f9d7ae5aa23ecbcf2da4dac1e830?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tdiede</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/final_render.jpg" medium="image">
			<media:title type="html">final_render</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/final_process1.jpg" medium="image">
			<media:title type="html">final_process1</media:title>
		</media:content>
	</item>
		<item>
		<title>parametric lace_heath west</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/11/parametric-lace_heath-west/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/11/parametric-lace_heath-west/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 18:43:38 +0000</pubDate>
		<dc:creator>heath</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[heath west]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=543</guid>
		<description><![CDATA[








Option Explicit
Call distanceBasedRecursion()
Sub distanceBasedRecursion()
Dim strSrf : strSrf = Rhino.GetObjects (&#8220;Select surfaces&#8221;,8)
Dim arrPts : arrPts = Rhino.GetObjects (&#8220;Select points&#8221;,1)
Dim arrParameters : arrParameters = array(&#8220;Fall Off Distance from Points&#8221;, &#8220;Minimum Division Length&#8221;, &#8220;Maximum Division Length&#8221;)
Dim arrValues: arrValues = array(&#8220;2&#8243;, &#8220;2&#8243;, &#8220;4&#8243;)
Dim arrResults : arrResults = Rhino.PropertyListBox(arrParameters, arrValues, &#8220;Parameters&#8221;, &#8220;Distance Based Recursion&#8221; )
Dim fallOffDist, minLen, maxLen
If IsArray(arrResults) Then
fallOffDist [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=543&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-full wp-image-544" title="081211_layout_08" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_window.jpg?w=500&#038;h=374" alt="081211_layout_08" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-545" title="081211_layout_04" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_sub_a.jpg?w=500&#038;h=374" alt="081211_layout_04" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-546" title="081211_layout_05" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_sub_b.jpg?w=500&#038;h=374" alt="081211_layout_05" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-548" title="081211_layout_06" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_variation_b.jpg?w=500&#038;h=374" alt="081211_layout_06" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-549" title="081211_layout_07" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_variation_a1.jpg?w=500&#038;h=374" alt="081211_layout_07" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-550" title="081211_layout_03" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_cnc.jpg?w=500&#038;h=374" alt="081211_layout_03" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-551" title="081211_layout_02" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_details.jpg?w=500&#038;h=374" alt="081211_layout_02" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-593" title="081211_layout_09" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_frames.jpg?w=500&#038;h=374" alt="081211_layout_09" width="500" height="374" /></p>
<p><img class="alignnone size-full wp-image-552" title="081211_layout_01" src="http://parametricrealizations1.files.wordpress.com/2008/12/081211_cover.jpg?w=500&#038;h=374" alt="081211_layout_01" width="500" height="374" /></p>
<p>Option Explicit</p>
<p>Call distanceBasedRecursion()<br />
Sub distanceBasedRecursion()</p>
<p>Dim strSrf : strSrf = Rhino.GetObjects (&#8220;Select surfaces&#8221;,8)<br />
Dim arrPts : arrPts = Rhino.GetObjects (&#8220;Select points&#8221;,1)<br />
Dim arrParameters : arrParameters = array(&#8220;Fall Off Distance from Points&#8221;, &#8220;Minimum Division Length&#8221;, &#8220;Maximum Division Length&#8221;)<br />
Dim arrValues: arrValues = array(&#8220;2&#8243;, &#8220;2&#8243;, &#8220;4&#8243;)<br />
Dim arrResults : arrResults = Rhino.PropertyListBox(arrParameters, arrValues, &#8220;Parameters&#8221;, &#8220;Distance Based Recursion&#8221; )<br />
Dim fallOffDist, minLen, maxLen</p>
<p>If IsArray(arrResults) Then<br />
fallOffDist = FormatNumber(arrResults(0))<br />
fallOffDist = fallOffDist<br />
minLen = FormatNumber(arrResults(1))<br />
minLen = minLen<br />
maxLen = FormatNumber(arrResults(2))<br />
maxLen = maxLen<br />
End If</p>
<p>Dim triangle<br />
Call Rhino.Command (&#8220;selsrf &#8220;)<br />
Dim arrTriangle : arrTriangle = Rhino.SelectedObjects<br />
Rhino.EnableRedraw False<br />
For Each triangle In arrTriangle<br />
subdivideTriangle triangle<br />
Next<br />
Rhino.EnableRedraw True<br />
End Sub</p>
<p>Function subdivideTriangle(triangle)<br />
Dim triangleLength, vertexPts, centerPt, triangleCrv, srfParam, srfNormal, arrTri, nMin, nMax, i, j<br />
arrTri = Rhino.DuplicateSurfaceBorder (triangle)</p>
<p>For Each triangleCrv In arrTri<br />
triangleLength = Rhino.CurveLength(triangleCrv)</p>
<p>For i=0 To UBound(arrTri)<br />
If (triangleLength &gt; 1.5) Then</p>
<p>centerPt = Rhino.CurveAreaCentroid(triangleCrv)<br />
srfParam = Rhino.SurfaceClosestPoint(triangle, centerPt(0))<br />
srfNormal = Rhino.SurfaceNormal(triangle, srfParam)<br />
vertexPts = Rhino.PolylineVertices(triangleCrv)</p>
<p>Dim midpt0, midpt1, midpt2, midpt3, midpt4, midmid3, midmid4, quarterPt0, quarterPt1, quarterPt2, quarterPt3, quarterPt4<br />
Dim triangle0, triangle1, triangle2, triangle3, triangle4, triangle5, triangle6, triangle7</p>
<p>midPt0 = Array(((vertexPts(1)(0) + vertexPts(0)(0)))/2, ((vertexPts(1)(1) + vertexPts(0)(1)))/2, ((vertexPts(1)(2) + vertexPts(0)(2)))/2)<br />
midPt1 = Array(((vertexPts(2)(0) + vertexPts(1)(0)))/2, ((vertexPts(2)(1) + vertexPts(1)(1)))/2, ((vertexPts(2)(2) + vertexPts(1)(2)))/2)<br />
midPt2 = Array(((vertexPts(0)(0) + vertexPts(2)(0)))/2, ((vertexPts(0)(1) + vertexPts(2)(1)))/2, ((vertexPts(0)(2) + vertexPts(2)(2)))/2)<br />
&#8216;midPt3 = Array((vertexPts(3) (0) + vertexPts(4) (0))/2,(vertexPts(3) (1) + vertexPts(4) (1))/2, (vertexPts(3) (2) + vertexPts (4) (2))/2)<br />
&#8216;midPt4 = Array((vertexPts(4) (0) + vertexPts(0) (0))/2,(vertexPts(4) (1) + vertexPts(0) (1))/2, (vertexPts(4) (2) + vertexPts (0) (2))/2)</p>
<p>quarterPt0= Array((midPt0(0) + centerPt(0)(0))/2, (midPt0(1) + centerPt(0)(1))/2, (midPt0(2) + centerPt(0)(2))/2)<br />
quarterPt1= Array((midPt1(0) + centerPt(0)(0))/2, (midPt1(1) + centerPt(0)(1))/2, (midPt1(2) + centerPt(0)(2))/2)<br />
quarterPt2= Array((midPt2(0) + centerPt(0)(0))/2, (midPt2(1) + centerPt(0)(1))/2, (midPt2(2) + centerPt(0)(2))/2)<br />
&#8216;quarterPt3= Array((midPt3(0) + centerPt(0)(0))/2, (midPt3(1) + centerPt(0)(1))/2, (midPt3(2) + centerPt(0)(2))/2)<br />
&#8216;quarterPt4= Array((midPt4(0) + centerPt(0)(0))/2, (midPt4(1) + centerPt(0)(1))/2, (midPt4(2) + centerPt(0)(2))/2)</p>
<p>triangle4 = Rhino.AddSrfPt(Array(vertexPts(0), quarterPt0, quarterPt2))<br />
triangle5 = Rhino.AddSrfPt(Array(vertexPts(1), quarterPt1, quarterPt0))<br />
triangle6 = Rhino.AddSrfPt(Array(vertexPts(2), quarterPt2, quarterPt1))<br />
&#8216;triangle7 = Rhino.AddSrfPt(Array(quarterPt0, quarterPt1, quarterPt2, quarterPt0))</p>
<p>subdivideTriangle triangle4<br />
subdivideTriangle triangle5<br />
subdivideTriangle triangle6<br />
&#8217;subdivideTriangle triangle7&#8242;comment out this line to produce a sierpiński triangle</p>
<p>Rhino.DeleteObjects(Array(triangle, triangleCrv))<br />
End If<br />
Next</p>
<p>For j=0 To UBound(arrTri)<br />
If (triangleLength &gt; 3) Then</p>
<p>midPt0 = Array((vertexPts(0) (0) + vertexPts(1) (0))/2,(vertexPts(0) (1) + vertexPts(1) (1))/2, (vertexPts(0) (2) + vertexPts (1) (2))/2)<br />
midPt1 = Array((vertexPts(1) (0) + vertexPts(2) (0))/2,(vertexPts(1) (1) + vertexPts(2) (1))/2, (vertexPts(1) (2) + vertexPts (2) (2))/2)<br />
midPt2 = Array((vertexPts(2) (0) + vertexPts(3) (0))/2,(vertexPts(2) (1) + vertexPts(3) (1))/2, (vertexPts(2) (2) + vertexPts (3) (2))/2)<br />
&#8216;midPt3 = Array((vertexPts(3) (0) + vertexPts(4) (0))/2,(vertexPts(3) (1) + vertexPts(4) (1))/2, (vertexPts(3) (2) + vertexPts (4) (2))/2)<br />
&#8216;midPt4 = Array((vertexPts(4) (0) + vertexPts(0) (0))/2,(vertexPts(4) (1) + vertexPts(0) (1))/2, (vertexPts(4) (2) + vertexPts (0) (2))/2)</p>
<p>triangle0 = Rhino.AddSrfPt(Array(vertexPts(0), midPt0, midPt2))<br />
triangle1 = Rhino.AddSrfPt(Array(vertexPts(1), midPt1, midPt0))<br />
triangle2 = Rhino.AddSrfPt(Array(vertexPts(2), midPt2, midPt1))<br />
triangle3 = Rhino.AddSrfPt(Array(midPt0, midPt1, midPt2, midPt0))</p>
<p>subdivideTriangle triangle0<br />
subdivideTriangle triangle1<br />
subdivideTriangle triangle2<br />
subdivideTriangle triangle3&#8242;comment out this line to produce a sierpiński triangle</p>
<p>Rhino.DeleteObjects(Array(triangle, triangleCrv))<br />
End If<br />
Next<br />
Next<br />
End Function</p>
<p>Function RandomNumber(nMin, nMax)<br />
RandomNumber = Null</p>
<p>If Not IsNumeric(nMin) Then Exit Function<br />
If Not IsNumeric(nMax) Then Exit Function</p>
<p>If nMin &gt;= nMax Then Exit Function<br />
Randomize</p>
<p>RandomNumber = Int((nMax &#8211; nMin + 1) * Rnd + nMin)<br />
End Function</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=543&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/11/parametric-lace_heath-west/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/89907f617bb88466174c0a96a455e708?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heath</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_window.jpg" medium="image">
			<media:title type="html">081211_layout_08</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_sub_a.jpg" medium="image">
			<media:title type="html">081211_layout_04</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_sub_b.jpg" medium="image">
			<media:title type="html">081211_layout_05</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_variation_b.jpg" medium="image">
			<media:title type="html">081211_layout_06</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_variation_a1.jpg" medium="image">
			<media:title type="html">081211_layout_07</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_cnc.jpg" medium="image">
			<media:title type="html">081211_layout_03</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_details.jpg" medium="image">
			<media:title type="html">081211_layout_02</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_frames.jpg" medium="image">
			<media:title type="html">081211_layout_09</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/081211_cover.jpg" medium="image">
			<media:title type="html">081211_layout_01</media:title>
		</media:content>
	</item>
		<item>
		<title>TEN-Nobuhara_Rings : Series 1</title>
		<link>http://parametricrealizations1.wordpress.com/2008/12/11/ten-nobuhara_rings-series-1/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/12/11/ten-nobuhara_rings-series-1/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:18:29 +0000</pubDate>
		<dc:creator>ten2101</dc:creator>
				<category><![CDATA[Final Projects]]></category>
		<category><![CDATA[Thad Nobuhara]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=538</guid>
		<description><![CDATA[
Series 1 by Thad Nobuhara @ smallscalecollective:
Set of parametric rings.  User can design # of faces, size of ring opening, and length of ring.   Project also allows for user to &#8216;design&#8217; their own profile which is generated along the ring loops.
Script:
Option Explicit
&#8216;Ring Script written by &#60;Thad Nobuhara&#62;
&#8216;Script copyrighted by &#60;smallscalecollective&#62;
&#8216;Script version Sunday, December 10, 2008 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=538&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignleft size-full wp-image-539" title="rings_overal_croppedl" src="http://parametricrealizations1.files.wordpress.com/2008/12/rings_overal_croppedl.jpg?w=500&#038;h=340" alt="rings_overal_croppedl" width="500" height="340" /></p>
<p>Series 1 by Thad Nobuhara @ smallscalecollective:</p>
<p>Set of parametric rings.  User can design # of faces, size of ring opening, and length of ring.   Project also allows for user to &#8216;design&#8217; their own profile which is generated along the ring loops.</p>
<p>Script:</p>
<p>Option Explicit<br />
&#8216;Ring Script written by &lt;Thad Nobuhara&gt;<br />
&#8216;Script copyrighted by &lt;smallscalecollective&gt;<br />
&#8216;Script version Sunday, December 10, 2008 9:07:55 PM<br />
&#8216;Note: 1.815 is diameter of Thad&#8217;s finger</p>
<p>&#8216;Script written for centimeter units</p>
<p>Call Main()<br />
Sub Main()<br />
Dim i, strElpse(), arrPlane<br />
Dim intFacets : intFacets = rhino.GetInteger (&#8220;how many sides to your ring?&#8221;,16)<br />
If IsNull (intFacets) Then Exit Sub<br />
Dim dblWidth : dblWidth = rhino.GetReal (&#8220;how wide would you like your ring? (diameter)&#8221;,2.2)<br />
If IsNull (dblWidth) Then Exit Sub<br />
Dim dblLength : dblLength = rhino.GetReal (&#8220;how long would you like your ring?&#8221;,1)<br />
If IsNull (dblLength) Then Exit Sub<br />
Dim strObj : strObj = Rhino.GetObject(&#8220;select profile to orient&#8221;,4)<br />
Dim dblRotAngle : dblRotAngle = 360/intFacets<br />
For i = 0 To intFacets &#8211; 1<br />
ReDim Preserve strElpse(i)<br />
arrPlane = Rhino.PlaneFromPoints (Array(0,0,dblWidth/2), Array(1,0,dblWidth/2),array(0,1,dblWidth/2))<br />
strElpse(i) = Rhino.AddEllipse (arrPlane,dblWidth/2,dblLength/2)<br />
Call Rhino.RotateObject (strElpse(i),array(0,0,0),i*dblRotAngle,array(0,1,0))<br />
&#8216;call addProfile function<br />
Next<br />
Call orientProfile(strElpse, strObj)<br />
End Sub<br />
Sub orientProfile(strCrvs, strObj)<br />
Dim arrCtPt : arrCtPt = Rhino.CurveAreaCentroid(strObj)</p>
<p>Dim strdecide: strdecide = Rhino.GetString(&#8220;wanna try to select points on your own?&#8221;,&#8221;no&#8221;,Array(&#8220;yes&#8221;,&#8221;no&#8221;))<br />
Dim objDom : objDom = CurveDomain(strObj)<br />
Dim xP<br />
Dim yP</p>
<p>If strdecide = &#8220;no&#8221; Then<br />
xP = Rhino.EvaluateCurve(strObj,0)<br />
yP = Rhino.EvaluateCurve(strObj,(objDom(1)-objDom(0))/4)<br />
Else<br />
arrCtPt(0) = Rhino.GetPoint (&#8220;center Pt&#8221;)<br />
xP = Rhino.GetPoint(,,&#8221;pt 1 on X dir&#8221;)<br />
yP = Rhino.GetPoint(,,&#8221;pt 1 on Y dir&#8221;)<br />
End If</p>
<p>Dim vNormal : vNormal = Rhino.VectorAdd (Rhino.VectorUnitize(Rhino.VectorCrossProduct(xP,yP)),arrCtPt(0))<br />
&#8216;Rhino.AddPoint vNormal<br />
&#8216;Rhino.AddTextDot &#8220;Nr&#8221;, vNormal<br />
&#8216;Rhino.AddPoint arrCtPt(0)<br />
&#8216;Rhino.AddTextDot &#8220;arrCtPt(0)&#8221;, arrCtPt(0)<br />
&#8216;Rhino.AddPoint (xP)<br />
&#8216;Rhino.AddTextDot &#8220;xP&#8221;, xP<br />
&#8216;Rhino.AddPoint (yP)<br />
&#8216;Rhino.AddTextDot &#8220;yP&#8221;, yP</p>
<p>Dim arrPerpPlane : arrPerpPlane = Rhino.PlaneFromFrame(arrCtPt(0),xP,yP)</p>
<p>&#8216;let&#8217;s try to do the same with the curves&#8230;<br />
Dim strCrv<br />
Dim crvPt, crvTangent, crvPerp, crvNormal<br />
Dim crvCurvature<br />
Dim t</p>
<p>Dim orientObj()<br />
Rhino.EnableRedraw False</p>
<p>For Each strCrv In strCrvs</p>
<p>Dim crvDom : crvDom = Rhino.CurveDomain(strCrv)</p>
<p>Dim arrStPt : arrStPt = Rhino.CurveStartPoint(strCrv)<br />
Dim arrEnPt : arrEnPt = Rhino.CurveEndPoint(strCrv)<br />
Dim m : m=0</p>
<p>For t =0 To crvDom(1) Step (crvDom(1)-crvDom(0))&#8217;/2<br />
crvCurvature = Rhino.CurveCurvature(strCrv,t)<br />
If IsNull (crvCurvature) Then<br />
crvPt = Rhino.EvaluateCurve(strCrv,t)<br />
crvTangent = Rhino.VectorUnitize(Rhino.CurveTangent(strCrv,t))<br />
crvPerp = Array(0,0,1)<br />
Else<br />
crvPt = crvCurvature(0)<br />
crvTangent = Rhino.VectorUnitize(crvCurvature(1))<br />
crvPerp = Rhino.VectorUnitize(crvCurvature(4))<br />
End If</p>
<p>crvNormal = Rhino.VectorAdd(Rhino.VectorUnitize(Rhino.VectorCrossProduct(crvTangent,crvPerp)),crvPt)<br />
Dim CrossSectionPlane : CrossSectionPlane = Rhino.PlaneFromFrame(crvPt,crvPerp,crvNormal)<br />
Dim xPtgt : xPtgt = Rhino.VectorAdd(Rhino.VectorUnitize(CrossSectionPlane(1)),crvPt)<br />
Dim zPtgt : zPtgt = Rhino.VectorAdd(Rhino.VectorUnitize(CrossSectionPlane(2)),crvPt)</p>
<p>&#8216;Rhino.AddPoint crvNormal<br />
&#8216;Rhino.AddTextDot &#8220;Nr&#8221;, crvNormal<br />
&#8216;Rhino.AddPoint xPtgt<br />
&#8216;Rhino.AddTextDot &#8220;xPtgt&#8221;, xPtgt<br />
&#8216;Rhino.AddPoint zPtgt<br />
&#8216;Rhino.AddTextDot &#8220;zPtgt&#8221;, zPtgt</p>
<p>Dim strObj2 : strObj2 = Rhino.CopyObject(strObj,Array(0,0,0),Array(0,0,0))</p>
<p>&#8216;We orient the object<br />
ReDim Preserve orientObj(m)<br />
orientObj(m) = Rhino.OrientObject (strObj2,Array(arrCtPt(0),xP,yP),Array(crvPt,xPtgt,crvNormal),1)</p>
<p>&#8216;we scale the object<br />
&#8216;for the scalefactor we need to &#8220;unitize&#8221; the domain<br />
&#8221;   Dim scalefactor, n<br />
&#8221;   Dim unitize : unitize = crvDom(1)-crvDom(0)<br />
&#8221;   n = 180*(t-crvDom(0))/unitize<br />
&#8221;   Rhino.Print(n)<br />
&#8221;   If n = 0 Or n Mod 180 =0 Then<br />
&#8221;    scalefactor =.5<br />
&#8221;   Else<br />
&#8221;    scalefactor = .5<br />
&#8221;   End If<br />
&#8221;<br />
&#8221;   Rhino.ScaleObject orientObj(m),crvPt,Array(scalefactor,scalefactor,scalefactor)<br />
Rhino.DeleteObject(strObj2)<br />
m =m+1<br />
Next<br />
Rhino.Command &#8220;-Sweep1 _SelID &#8221; &amp; strCrv &amp; &#8221; _SelID &#8221; &amp; orientObj(0) &amp; &#8220;_enter _enter Natural enter enter&#8221;<br />
Rhino.DeleteObjects orientObj<br />
Rhino.DeleteObject strCrv<br />
&#8216;&#8221; _SelID &#8221; &amp; orientObj(1) &amp; &#8221; _SelID &#8221; &amp; orientObj(2) &amp;</p>
<p>Next<br />
Rhino.EnableRedraw True</p>
<p>End Sub</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/538/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/538/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/538/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=538&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/12/11/ten-nobuhara_rings-series-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c94c244ffcce05a1af5cd7f90da0b3d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ten2101</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/12/rings_overal_croppedl.jpg" medium="image">
			<media:title type="html">rings_overal_croppedl</media:title>
		</media:content>
	</item>
		<item>
		<title>final project _ initial script</title>
		<link>http://parametricrealizations1.wordpress.com/2008/11/20/final-project-_-initial-script/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/11/20/final-project-_-initial-script/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 10:11:01 +0000</pubDate>
		<dc:creator>nuoxu</dc:creator>
				<category><![CDATA[Homework]]></category>
		<category><![CDATA[Nuo Xu]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=525</guid>
		<description><![CDATA[
Call Main()
Sub Main()
Dim arrPlane, i, strCrv(), strInnerCrv(), strSrf(), strLftCrv, arrX, arrPt(), arrInnerPt(), counter
Dim strCrvv, strInnerCrvv, strLftCrvv, j, dblDist, arrTempPt, arrTempInnerPt
For i = 2 To 13
arrX = sin(i/15*3.14)*12
ReDim Preserve strCrv(i-2)
ReDim Preserve strInnerCrv(i-2)
ReDim Preserve strSrf(i-2)
arrPlane = Rhino.PlaneFromPoints (array(0,0,i), array(1,0,i), array(0,1,i))
strCrv(i-2) = Rhino.AddCircle (arrPlane, arrX)
strInnerCrv(i-2) = Rhino.AddCircle (arrPlane, arrX-1)
If i = 13 Then
Call Rhino.AddPlanarSrf (array(strCrv(i-2)))
Else
Call Rhino.AddLoftSrf (array(strCrv(i-2),strInnerCrv(i-2)))
End If
Next
Call [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=525&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone" src="http://farm4.static.flickr.com/3054/3044886311_6bb94b7cab.jpg?v=0" alt="" width="500" height="333" /></p>
<p>Call Main()<br />
Sub Main()<br />
Dim arrPlane, i, strCrv(), strInnerCrv(), strSrf(), strLftCrv, arrX, arrPt(), arrInnerPt(), counter<br />
Dim strCrvv, strInnerCrvv, strLftCrvv, j, dblDist, arrTempPt, arrTempInnerPt<br />
For i = 2 To 13<br />
arrX = sin(i/15*3.14)*12<br />
ReDim Preserve strCrv(i-2)<br />
ReDim Preserve strInnerCrv(i-2)<br />
ReDim Preserve strSrf(i-2)<br />
arrPlane = Rhino.PlaneFromPoints (array(0,0,i), array(1,0,i), array(0,1,i))<br />
strCrv(i-2) = Rhino.AddCircle (arrPlane, arrX)<br />
strInnerCrv(i-2) = Rhino.AddCircle (arrPlane, arrX-1)<br />
If i = 13 Then<br />
Call Rhino.AddPlanarSrf (array(strCrv(i-2)))<br />
Else<br />
Call Rhino.AddLoftSrf (array(strCrv(i-2),strInnerCrv(i-2)))<br />
End If<br />
Next</p>
<p>Call Rhino.DeleteObjects (strCrv)<br />
Call Rhino.DeleteObjects (strInnerCrv)<br />
For j = -180 To 179 Step 30<br />
counter = 0<br />
For i = 1 To 14<br />
arrX = sin(i/15*3.14)*12<br />
ReDim Preserve arrPt(counter)<br />
ReDim Preserve arrinnerPt(counter)<br />
arrTempPt = Rhino.Polar (array(0,0,0), j, arrX)<br />
arrPt(counter) = array(arrTempPt(0),arrTempPt(1),arrTempPt(2)+i)<br />
arrTempInnerPt = Rhino.Polar (array(0,0,0), j, arrX-1)<br />
arrinnerPt(counter) = array (arrTempInnerPt(0),arrTempInnerPt(1),arrTempInnerPt(2)+i)<br />
counter = counter + 1<br />
Next<br />
strCrvv = Rhino.AddCurve (arrPt)<br />
strinnerCrvv = Rhino.AddCurve (arrinnerPt)<br />
strLftCrvv = Rhino.AddLoftSrf (array(strCrvv, strInnerCrvv))<br />
Next<br />
End Sub</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/525/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=525&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/11/20/final-project-_-initial-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b374254cb1c34ae2c27cb77cbfc63dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nuo xu</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3054/3044886311_6bb94b7cab.jpg?v=0" medium="image" />
	</item>
		<item>
		<title>parametric window tactile louvers (katie)</title>
		<link>http://parametricrealizations1.wordpress.com/2008/11/19/parametric-window-tactile-louvers/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/11/19/parametric-window-tactile-louvers/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 02:13:07 +0000</pubDate>
		<dc:creator>katieshima</dc:creator>
				<category><![CDATA[Homework]]></category>
		<category><![CDATA[Katie Shima]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=496</guid>
		<description><![CDATA[Option Explicit
&#8216;Script written by &#60;insert name&#62;
&#8216;Script copyrighted by &#60;insert company name&#62;
&#8216;Script version Monday, November 17, 2008 12:19:20 AM
Call Main()
Sub Main()
 Dim i, j, arrPt, arrPt2, strCrv, strPath, strSrf, strPoint, arrPoint
 Dim arrPoints : arrPoints = Rhino.Getobjects 
 Call Rhino.EnableRedraw (False)
 For Each strPoint In arrPoints
  arrPoint = Rhino.PointCoordinates (strPoint)
  For j = 1 To 10
   For i = -180 To 180 Step 45
    arrPt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=496&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://parametricrealizations1.files.wordpress.com/2008/11/2008_11_161.jpg"><img class="alignnone size-full wp-image-498" title="2008_11_161" src="http://parametricrealizations1.files.wordpress.com/2008/11/2008_11_161.jpg?w=500&#038;h=463" alt="2008_11_161" width="500" height="463" /></a>Option Explicit<br />
&#8216;Script written by &lt;insert name&gt;<br />
&#8216;Script copyrighted by &lt;insert company name&gt;<br />
&#8216;Script version Monday, November 17, 2008 12:19:20 AM</p>
<p>Call Main()<br />
Sub Main()<br />
 Dim i, j, arrPt, arrPt2, strCrv, strPath, strSrf, strPoint, arrPoint<br />
 Dim arrPoints : arrPoints = Rhino.Getobjects <br />
 Call Rhino.EnableRedraw (False)<br />
 For Each strPoint In arrPoints<br />
  arrPoint = Rhino.PointCoordinates (strPoint)<br />
  For j = 1 To 10<br />
   For i = -180 To 180 Step 45<br />
    arrPt = Rhino.Polar (arrPoint, i, j,Rhino.WorldYZPlane)<br />
    strCrv = Rhino.AddLine (arrPt, Array(arrPt(0)-j/2,arrPt(1),arrPt(2)))<br />
    arrPt2 = Rhino.Polar (arrPoint, i+90, j/1.5,Rhino.WorldYZPlane)<br />
    strPath = Rhino.AddLine (arrPoint,arrPt2)<br />
    strSrf = Rhino.ExtrudeCurve (strCrv, strPath)<br />
    Call Rhino.MoveObject (strSrf,Rhino.CurveMidPoint (strPath),Rhino.CurveStartPoint (strPath))<br />
    Call Rhino.DeleteObject (strPath)<br />
   Next<br />
  Next<br />
 Next<br />
 Call Rhino.EnableRedraw (True)<br />
End Sub</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/496/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=496&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/11/19/parametric-window-tactile-louvers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/56aebaeb0ed2d62cdb382f00ef932c78?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">katieshima</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/11/2008_11_161.jpg" medium="image">
			<media:title type="html">2008_11_161</media:title>
		</media:content>
	</item>
		<item>
		<title>parametric lace_distanceBasedRecursion</title>
		<link>http://parametricrealizations1.wordpress.com/2008/11/17/parametric-lace_distancebasedrecursion/</link>
		<comments>http://parametricrealizations1.wordpress.com/2008/11/17/parametric-lace_distancebasedrecursion/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 16:57:47 +0000</pubDate>
		<dc:creator>heath</dc:creator>
				<category><![CDATA[Homework]]></category>
		<category><![CDATA[heath west]]></category>

		<guid isPermaLink="false">http://parametricrealizations1.wordpress.com/?p=490</guid>
		<description><![CDATA[ 
This rhinoscript subdivides triangular surfaces from multiple point attractors. There are two types of subdivision patterns which may be called; one derives from the mid points of each triangle, while the other divides from the quarter points. Both may be called at the sametime, or separately, within the function subdivideTriangle, the triangleLength for i [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=490&subd=parametricrealizations1&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_00.jpg"><img class="alignnone size-full wp-image-491" title="080731_layout_1" src="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_00.jpg?w=500&#038;h=374" alt="080731_layout_1" width="500" height="374" /></a> <a href="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_01.jpg"><img class="alignnone size-full wp-image-492" title="080731_layout_1" src="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_01.jpg?w=500&#038;h=374" alt="080731_layout_1" width="500" height="374" /></a></p>
<p>This rhinoscript subdivides triangular surfaces from multiple point attractors. There are two types of subdivision patterns which may be called; one derives from the mid points of each triangle, while the other divides from the quarter points. Both may be called at the sametime, or separately, within the function subdivideTriangle, the triangleLength for i &amp; j may be adjusted for such calls.</p>
<p>Option Explicit<br />
&#8216;Script written by heath west &amp; mark bearak<br />
&#8216;Script version 17 November 2008 13:57:37</p>
<p>Call distanceBasedRecursion()<br />
Sub distanceBasedRecursion()</p>
<p>Dim triangle, fallOffDist, intPts<br />
Dim j, k, strAttractor, strTriangle, arrPt, arrAttractor, testDistance, dblDistance, strCrv, arrCrvs, dblCrvLength, dblCurrentLength<br />
Dim triangleLength, vertexPts, i, centerPt, triangleCrv, srfParam, srfNormal, arrTri, arrAttPt, arrCrvCnt, dblDist</p>
<p>Dim arrtriangle : arrtriangle = Rhino.GetObjects(&#8220;select the triangles&#8221;,8)<br />
Dim arrStrAttractors : arrStrAttractors = Rhino.GetObjects (&#8220;select the points&#8221;,1)<br />
Dim arrParameters: arrParameters = array(&#8220;Fall Off Distance&#8221;)<br />
Dim arrValues: arrValues = array(&#8220;2&#8243;)<br />
Dim arrResults: arrResults = Rhino.PropertyListBox(arrParameters, arrValues, &#8220;Distance Based Recursion&#8221; )</p>
<p>If IsArray(arrResults) Then<br />
fallOffDist = arrResults(0)<br />
End If</p>
<p>Call Rhino.enableredraw (False)<br />
ReDim arrAttractors(UBound(arrStrAttractors ))<br />
k=0</p>
<p>For Each strAttractor In arrStrAttractors<br />
arrAttractors(k) = Rhino.PointCoordinates (strAttractor)<br />
k=k+1<br />
Next</p>
<p>For Each strTriangle In arrtriangle<br />
arrPt = Rhino.SurfaceAreaCentroid (strTriangle)<br />
arrCrvs    = Rhino.DuplicateSurfaceBorder (strTriangle)<br />
dblCrvLength = 0</p>
<p>For j = 0 To Ubound(arrCrvs)<br />
dblCurrentLength = Rhino.CurveLength (arrCrvs(j))<br />
dblCrvLength = dblCrvLength + dblCurrentLength<br />
Next</p>
<p>dblDistance = fallOffDist</p>
<p>For Each arrAttractor In arrAttractors<br />
testDistance = Rhino.Distance (arrPt(0), arrAttractor)<br />
If testDistance &lt; dblDistance Then<br />
dblDistance = testDistance<br />
End If<br />
Next</p>
<p>arrTri = Rhino.DuplicateSurfaceBorder (strTriangle)</p>
<p>For Each triangleCrv In arrTri<br />
triangleLength = Rhino.CurveLength(triangleCrv)<br />
arrAttPt = Rhino.PointCoordinates(arrStrAttractors(0))<br />
arrCrvCnt = Rhino.CurveAreaCentroid (triangleCrv)<br />
dblDist = Rhino.Distance (arrCrvCnt(0),arrAttPt)</p>
<p>If dblDistance &lt; fallOffDist+0.1 Then<br />
subdivideTriangle(strTriangle)<br />
Else<br />
End If<br />
Next<br />
Next<br />
Rhino.EnableRedraw (True)<br />
End Sub</p>
<p>Function subdivideTriangle(strTriangle)<br />
Dim triangleLength, vertexPts, centerPt, triangleCrv, srfParam, srfNormal, arrTri, nMin, nMax, i, j, fallOffDist<br />
arrTri = Rhino.DuplicateSurfaceBorder (strTriangle)</p>
<p>For Each triangleCrv In arrTri</p>
<p>Dim midpt0, midpt1, midpt2, midpt3, midpt4, midmid3, midmid4, quarterPt0, quarterPt1, quarterPt2, quarterPt3, quarterPt4<br />
Dim triangle0, triangle1, triangle2, triangle3, triangle4, triangle5, triangle6, triangle7<br />
triangleLength = Rhino.CurveLength(triangleCrv)<br />
centerPt = Rhino.CurveAreaCentroid(triangleCrv)<br />
srfParam = Rhino.SurfaceClosestPoint(strTriangle, centerPt(0))<br />
srfNormal = Rhino.SurfaceNormal(strTriangle, srfParam)<br />
vertexPts = Rhino.PolylineVertices(triangleCrv)</p>
<p>midPt0 = Array(((vertexPts(1)(0) + vertexPts(0)(0)))/2, ((vertexPts(1)(1) + vertexPts(0)(1)))/2, ((vertexPts(1)(2) + vertexPts(0)(2)))/2)<br />
midPt1 = Array(((vertexPts(2)(0) + vertexPts(1)(0)))/2, ((vertexPts(2)(1) + vertexPts(1)(1)))/2, ((vertexPts(2)(2) + vertexPts(1)(2)))/2)<br />
midPt2 = Array(((vertexPts(0)(0) + vertexPts(2)(0)))/2, ((vertexPts(0)(1) + vertexPts(2)(1)))/2, ((vertexPts(0)(2) + vertexPts(2)(2)))/2)</p>
<p>quarterPt0= Array((midPt0(0) + centerPt(0)(0))/2, (midPt0(1) + centerPt(0)(1))/2, (midPt0(2) + centerPt(0)(2))/2)<br />
quarterPt1= Array((midPt1(0) + centerPt(0)(0))/2, (midPt1(1) + centerPt(0)(1))/2, (midPt1(2) + centerPt(0)(2))/2)<br />
quarterPt2= Array((midPt2(0) + centerPt(0)(0))/2, (midPt2(1) + centerPt(0)(1))/2, (midPt2(2) + centerPt(0)(2))/2)</p>
<p>For i=0 To UBound(arrTri)<br />
If (triangleLength &gt; RandomNumber(2,3)) Then</p>
<p>triangle0 = Rhino.AddSrfPt(Array(vertexPts(0), quarterPt0, quarterPt2))<br />
triangle1 = Rhino.AddSrfPt(Array(vertexPts(1), quarterPt1, quarterPt0))<br />
triangle2 = Rhino.AddSrfPt(Array(vertexPts(2), quarterPt2, quarterPt1))<br />
triangle3 = Rhino.AddSrfPt(Array(quarterPt0, quarterPt1, quarterPt2, quarterPt0))</p>
<p>subdivideTriangle triangle0<br />
subdivideTriangle triangle1<br />
subdivideTriangle triangle2<br />
subdivideTriangle triangle3</p>
<p>Rhino.DeleteObjects(Array(strTriangle, triangleCrv))<br />
End If<br />
Next</p>
<p>For j=0 To UBound(arrTri)<br />
If (triangleLength &gt; RandomNumber(3,4)) Then</p>
<p>triangle4 = Rhino.AddSrfPt(Array(vertexPts(0), midPt0, midPt2))<br />
triangle5 = Rhino.AddSrfPt(Array(vertexPts(1), midPt1, midPt0))<br />
triangle6 = Rhino.AddSrfPt(Array(vertexPts(2), midPt2, midPt1))<br />
triangle7 = Rhino.AddSrfPt(Array(midPt0, midPt1, midPt2, midPt0))</p>
<p>subdivideTriangle triangle4<br />
subdivideTriangle triangle5<br />
subdivideTriangle triangle6<br />
subdivideTriangle triangle7&#8242;comment out this line to produce a sierpiński triangle</p>
<p>Rhino.DeleteObjects(Array(strTriangle, triangleCrv))<br />
End If<br />
Next<br />
Next<br />
End Function</p>
<p>Function RandomNumber(nMin, nMax)</p>
<p>RandomNumber = Null</p>
<p>If Not IsNumeric(nMin) Then Exit Function<br />
If Not IsNumeric(nMax) Then Exit Function</p>
<p>If nMin &gt;= nMax Then Exit Function<br />
Randomize</p>
<p>RandomNumber = Int((nMax &#8211; nMin + 1) * Rnd + nMin)</p>
<p>End Function</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/parametricrealizations1.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/parametricrealizations1.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/parametricrealizations1.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/parametricrealizations1.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/parametricrealizations1.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/parametricrealizations1.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/parametricrealizations1.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/parametricrealizations1.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/parametricrealizations1.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/parametricrealizations1.wordpress.com/490/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=parametricrealizations1.wordpress.com&blog=4726094&post=490&subd=parametricrealizations1&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://parametricrealizations1.wordpress.com/2008/11/17/parametric-lace_distancebasedrecursion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/89907f617bb88466174c0a96a455e708?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">heath</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_00.jpg" medium="image">
			<media:title type="html">080731_layout_1</media:title>
		</media:content>

		<media:content url="http://parametricrealizations1.files.wordpress.com/2008/11/081117_layout_01.jpg" medium="image">
			<media:title type="html">080731_layout_1</media:title>
		</media:content>
	</item>
	</channel>
</rss>