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

<channel>
	<title>cwwang.com &#187; Architecture</title>
	<atom:link href="http://cwwang.com/category/architecture/feed/" rel="self" type="application/rss+xml" />
	<link>http://cwwang.com</link>
	<description>Che-Wei Wang</description>
	<lastBuildDate>Sat, 06 Nov 2010 15:58:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Drum Space</title>
		<link>http://cwwang.com/2008/03/30/drum-space/</link>
		<comments>http://cwwang.com/2008/03/30/drum-space/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:28:54 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Objects]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sculpture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/?p=716</guid>
		<description><![CDATA[Drum space is a percussion instrument that transforms environments into drums. Participants are immersed within the space of drums as beats are created from the surrounding surfaces. The audio experience of the space is negotiated by each participant as they add and remove beats from sequences previously constructed by other participants. Will the space be [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://cwwang.com/wordpress/wp-content/uploads/drum-space.png' rel="lightbox[716]"><img src="http://cwwang.com/wordpress/wp-content/uploads/drum-space-150x150.png" alt="" title="drum-space" width="150" height="150" class="alignnone size-thumbnail wp-image-722" /></a><a href='http://cwwang.com/wordpress/wp-content/uploads/drum-space-01r01a.png' rel="lightbox[716]"><img src="http://cwwang.com/wordpress/wp-content/uploads/drum-space-01r01a-150x150.png" alt="" title="drum-space-01r01a" width="150" height="150" class="alignnone size-thumbnail wp-image-720" /></a><a href='http://cwwang.com/wordpress/wp-content/uploads/drum-space-01r03a.png' rel="lightbox[716]"><img src="http://cwwang.com/wordpress/wp-content/uploads/drum-space-01r03a-150x150.png" alt="" title="drum-space-01r03a" width="150" height="150" class="alignnone size-thumbnail wp-image-719" /></a></p>
<p>Drum space is a percussion instrument that transforms environments into drums.  Participants are immersed within the space of drums as beats are created from the surrounding surfaces. The audio experience of the space is negotiated by each participant as they add and remove beats from sequences previously constructed by other participants.  Will the space be raging noise or subtle clicks?<br />
<span id="more-716"></span><br />
The core of the project is an electronically activated mechanism which swings various drum mallets.  This module acts as an extension of a drummer&#8217;s hand and is mounted on various surfaces in the space.  The walls, ceilings, floors, doors, and windows are all great candidates for drum surfaces.  The mallet modules each hold different types of percussion mallets to create a range of sounds.  At the center of the space is the control sequencer which connects to all the modules.   The sequencer records and plays back beat sequences so additional effects can be explored through trimming and layering of beats.  Each participant has the power to eliminate and add beats to previously constructed sequences enabling a collaborative participation.  The web interface replicates the physical sequencer and streams live video of the space allowing participants to manipulate the drum sequences and participate in the exhibition.</p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/03/30/drum-space/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oblik</title>
		<link>http://cwwang.com/2008/03/16/oblik/</link>
		<comments>http://cwwang.com/2008/03/16/oblik/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 16:03:04 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/03/16/oblik/</guid>
		<description><![CDATA[Oblik ( オブリク ) Yokohama, Japan Completed February 2008 6 story residential, 1st floor commercial Architects: Che-Wei Wang and Akio Narita]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><strong>Oblik ( オブリク )</strong><br />
Yokohama, Japan<br />
Completed February 2008<br />
<img class="alignnone size-large wp-image-1327" title="003" src="http://cwwang.com/wordpress/wp-content/uploads/0031-570x380.jpg" alt="003" width="570" height="380" /><span id="more-679"></span></p>
<p><img class="alignnone size-large wp-image-1349" title="015" src="http://cwwang.com/wordpress/wp-content/uploads/0151-570x771.jpg" alt="015" width="570" height="771" /></p>
<p><img class="alignnone size-large wp-image-1346" title="008" src="http://cwwang.com/wordpress/wp-content/uploads/0082-570x670.jpg" alt="008" width="570" height="670" /></p>
<p><img class="alignnone size-large wp-image-1347" title="011" src="http://cwwang.com/wordpress/wp-content/uploads/0113-570x854.jpg" alt="011" width="570" height="854" /></p>
<p><img class="alignnone size-large wp-image-1335" title="013" src="http://cwwang.com/wordpress/wp-content/uploads/013-570x380.jpg" alt="013" width="570" height="380" /></p>
<p>6 story residential, 1st floor commercial<br />
Architects: Che-Wei Wang and Akio Narita</p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/03/16/oblik/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oblik : Afternoon</title>
		<link>http://cwwang.com/2008/02/01/oblik-afternoon/</link>
		<comments>http://cwwang.com/2008/02/01/oblik-afternoon/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 22:34:12 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/01/oblik-afternoon/</guid>
		<description><![CDATA[A few more views from the afternoon and some interior views]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4251.jpg" title="img_4251.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4251.thumbnail.jpg" alt="img_4251.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4221.jpg" title="img_4221.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4221.thumbnail.jpg" alt="img_4221.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4225.jpg" title="img_4225.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4225.thumbnail.jpg" alt="img_4225.jpg" class="imageframe" height="96" width="128" /></a></p>
<p>A few more views from the afternoon and some interior views</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4233.jpg" title="img_4233.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4233.thumbnail.jpg" alt="img_4233.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4236.jpg" title="img_4236.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4236.thumbnail.jpg" alt="img_4236.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4238.jpg" title="img_4238.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4238.thumbnail.jpg" alt="img_4238.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4242.jpg" title="img_4242.jpg" rel="lightbox[599]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4242.thumbnail.jpg" alt="img_4242.jpg" class="imageframe" height="170" width="128" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/01/oblik-afternoon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oblik : Scaffolding Removed</title>
		<link>http://cwwang.com/2008/02/01/oblik-scaffolding-removed/</link>
		<comments>http://cwwang.com/2008/02/01/oblik-scaffolding-removed/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 21:44:02 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/02/01/oblik-scaffolding-removed/</guid>
		<description><![CDATA[After 8 months of being completely wrapped with scaffolding and gray tarps, Oblik is finally revealed. More photos coming soon.]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4198.jpg" title="img_4198.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4198.thumbnail.jpg" alt="img_4198.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4193.jpg" title="img_4193.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4193.thumbnail.jpg" alt="img_4193.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4178.jpg" title="img_4178.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4178.thumbnail.jpg" alt="img_4178.jpg" class="imageframe" height="170" width="128" /></a></p>
<p>After 8 months of being completely wrapped with scaffolding and gray tarps, Oblik is finally revealed.  More photos coming soon.</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4196.jpg" title="img_4196.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4196.thumbnail.jpg" alt="img_4196.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4217.jpg" title="img_4217.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4217.thumbnail.jpg" alt="img_4217.jpg" class="imageframe" height="96" width="128" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4213.jpg" title="img_4213.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4213.thumbnail.jpg" alt="img_4213.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_4218.jpg" title="img_4218.jpg" rel="lightbox[591]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_4218.thumbnail.jpg" alt="img_4218.jpg" class="imageframe" height="170" width="128" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/02/01/oblik-scaffolding-removed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oblik : Construction</title>
		<link>http://cwwang.com/2008/01/08/oblik-construction/</link>
		<comments>http://cwwang.com/2008/01/08/oblik-construction/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 15:06:57 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/2008/01/08/oblik-construction/</guid>
		<description><![CDATA[We&#8217;ve finally agreed on the building&#8217;s name, Oblik ( オブリク ), derived from the word oblique. Construction is now set to be completed by the end of February. Major concrete and exterior work is almost done. Now it&#8217;s mostly millwork and interior finishes.]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0724.jpg" title="img_0724.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0724.thumbnail.jpg" alt="img_0724.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0727.jpg" title="img_0727.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0727.thumbnail.jpg" alt="img_0727.jpg" class="imageframe" height="170" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0752.jpg" title="img_0752.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0752.thumbnail.jpg" alt="img_0752.jpg" class="imageframe" height="170" width="128" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0731.jpg" title="img_0731.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0731.thumbnail.jpg" alt="img_0731.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/oblik-construction.jpg" title="oblik-construction.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/oblik-construction.thumbnail.jpg" alt="oblik-construction.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0745.jpg" title="img_0745.jpg" rel="lightbox[543]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0745.thumbnail.jpg" alt="img_0745.jpg" class="imageframe" height="96" width="128" /></a></p>
<p>We&#8217;ve finally agreed on the building&#8217;s name, Oblik ( オブリク ), derived from the word oblique.  Construction is now set to be completed by the end of February.  Major concrete and exterior work is almost done.  Now it&#8217;s mostly millwork and interior finishes.</p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2008/01/08/oblik-construction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Denen Apts: DD</title>
		<link>http://cwwang.com/2007/10/03/denen-apts-dd/</link>
		<comments>http://cwwang.com/2007/10/03/denen-apts-dd/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 03:04:05 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/wordpress/2007/10/03/denen-apts-dd/</guid>
		<description><![CDATA[So, the project started with this then it gets real then we add stuff client asks for a giant revision then you cut corners and backtrack construction completes in December. Fun. The pleasant and not so pleasant surprises keep coming.]]></description>
			<content:encoded><![CDATA[<p>So, the project started with this</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04e-render.jpg" title="denen-3d-model-04e-render.jpg" rel="lightbox[305]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04e-render.thumbnail.jpg" alt="denen-3d-model-04e-render.jpg" class="imageframe" height="102" width="128" /><span id="more-305"></span></a></p>
<p>then it gets real</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r3aa.jpg" title="denen-3d-model-04c-r3aa.jpg" rel="lightbox[305]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r3aa.thumbnail.jpg" alt="denen-3d-model-04c-r3aa.jpg" class="imageframe" height="102" width="128" /></a></p>
<p>then we add stuff</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04f-r1-render.jpg" title="denen-3d-model-04f-r1-render.jpg" rel="lightbox[305]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04f-r1-render.thumbnail.jpg" alt="denen-3d-model-04f-r1-render.jpg" class="imageframe" height="102" width="128" /></a></p>
<p>client asks for a giant revision</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r3a.jpg" title="denen-3d-model-04c-r3a.jpg" rel="lightbox[305]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r3a.thumbnail.jpg" alt="denen-3d-model-04c-r3a.jpg" class="imageframe" height="102" width="128" /></a></p>
<p>then you cut corners and backtrack</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r2a-cc.jpg" title="denen-3d-model-04c-r2a-cc.jpg" rel="lightbox[305]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/denen-3d-model-04c-r2a-cc.thumbnail.jpg" alt="denen-3d-model-04c-r2a-cc.jpg" class="imageframe" height="102" width="128" /></a></p>
<p>construction completes in December.  Fun. The pleasant and not so pleasant surprises keep coming.</p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2007/10/03/denen-apts-dd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Den-en: Construction</title>
		<link>http://cwwang.com/2007/09/25/den-en-construction/</link>
		<comments>http://cwwang.com/2007/09/25/den-en-construction/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 16:25:45 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/wordpress/2007/09/25/den-en-construction/</guid>
		<description><![CDATA[Beautiful Japanese scaffolding.  We&#8217;ll see in January, if it&#8217;s everything we thought it would be underneath.]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/dscf0076.JPG" title="dscf0076.JPG" rel="lightbox[512]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/dscf0076.thumbnail.JPG" alt="dscf0076.JPG" class="imageframe" height="170" width="128" /></a></p>
<p>Beautiful Japanese scaffolding.  We&#8217;ll see in January, if it&#8217;s everything we thought it would be underneath.</p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2007/09/25/den-en-construction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seroussi Pavillion</title>
		<link>http://cwwang.com/2007/04/19/seroussi-pavillion/</link>
		<comments>http://cwwang.com/2007/04/19/seroussi-pavillion/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 16:38:53 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Parametric Modeling]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Rhinoscript]]></category>

		<guid isPermaLink="false">http://cwwang.com/wordpress/2007/04/19/seroussi-pavillion/</guid>
		<description><![CDATA[Here are some images from a collaboration with biothing. My focus was on developing the outer tiling module. The facted skylight is modulated with intersecting sin wave functions in relation to nodes of interest distributed across the site. Rhinoscript 'component surface array 'cw wang'modified from 'skin panel prototype 'joshua vermillion Dim sourceSurface, uDiv, vDiv, height, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_001.jpg" title="biothing_roof_001.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_001.thumbnail.jpg" alt="biothing_roof_001.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_0021.jpg" title="biothing_roof_0021.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_0021.thumbnail.jpg" alt="biothing_roof_0021.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_003.jpg" title="biothing_roof_003.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_003.thumbnail.jpg" alt="biothing_roof_003.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_004.jpg" title="biothing_roof_004.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_004.thumbnail.jpg" alt="biothing_roof_004.jpg" class="imageframe" height="96" width="128" /></a></p>
<p>Here are some images from a collaboration with <a href="http://biothing.org/wiki/doku.php?id=seroussi">biothing</a>.  My focus was on developing the outer tiling module.  The facted skylight is modulated with intersecting sin wave functions in relation to nodes of interest distributed across the site.</p>
<p><span id="more-404"></span></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_005.jpg" title="biothing_roof_005.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/biothing_roof_005.thumbnail.jpg" alt="biothing_roof_005.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/electric-line-charge-with-components-03-v3maxwell-r01.jpg" title="electric-line-charge-with-components-03-v3maxwell-r01.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/electric-line-charge-with-components-03-v3maxwell-r01.thumbnail.jpg" alt="electric-line-charge-with-components-03-v3maxwell-r01.jpg" class="imageframe" height="96" width="128" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0211.jpg" title="img_0211.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0211.thumbnail.jpg" alt="img_0211.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/img_0212.jpg" title="img_0212.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/img_0212.thumbnail.jpg" alt="img_0212.jpg" class="imageframe" height="96" width="128" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r07-gf-pink.jpg" title="seroussi-house-r07-gf-pink.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r07-gf-pink.thumbnail.jpg" alt="seroussi-house-r07-gf-pink.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r08-gf-pink.jpg" title="seroussi-house-r08-gf-pink.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r08-gf-pink.thumbnail.jpg" alt="seroussi-house-r08-gf-pink.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r09-gf-pink.jpg" title="seroussi-house-r09-gf-pink.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r09-gf-pink.thumbnail.jpg" alt="seroussi-house-r09-gf-pink.jpg" class="imageframe" height="96" width="128" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r10-gf-pink.jpg" title="seroussi-house-r10-gf-pink.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/seroussi-house-r10-gf-pink.thumbnail.jpg" alt="seroussi-house-r10-gf-pink.jpg" class="imageframe" height="96" width="128" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/roofplan.jpg" aiotarget="false" aiotitle="roofplan.jpg" rel="lightbox[404]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/roofplan.thumbnail.jpg" alt="roofplan.jpg" class="imageframe" height="190" width="128" /></a></p>
<p>Rhinoscript</p>
<pre><code>
'component surface array

'cw wang</code>'modified from

'skin panel prototype

'joshua vermillion

Dim sourceSurface, uDiv, vDiv, height, grid

Dim uStep, vStep

Dim uVal, vVal

Dim width

Dim depth

Dim  ap1,ap2,ap3,ap4,ap5

Dim  ap1n,ap2n,ap3n,ap4n,ap5n

Dim yTilt

Dim xTilt

Dim xTmin

Dim xTmax

Dim yTmin

Dim yTmax

Dim yStep

Dim offset

Dim splitWidth

Dim parentLayer

Dim midCurve

Dim midSurface

Dim componentColor : componentColor = RGB(125,125,125)

Dim underCocoon

Dim overCocoon

Dim court

Dim sinMult

Dim locator

Dim locatorMidDist

Sub panel

Dim i, j ,k

Dim sourceCurves

 'Prompt user for input data

 'sourceSurface = Rhino.GetObject("Select a surface to populate", 8,, True)

 parentLayer = Rhino.GetString("Enter layer number",1)

 sourceCurves = Rhino.GetObjects("Select curves", 4,, True)

Dim componentType : componentType =  Rhino.ListBox(Array("Exterior","Mesh"),"Select Component Type")

Dim vertBool	: vertBool = Rhino.GetBoolean("Build vertical?", Array("Build", "horizontal", "vertical"),Array(False))

 Dim louvres : louvres = Rhino.GetBoolean("Build courtyard louvres?", Array("Build", "no", "yes"),Array(False))

 locator= Rhino.GetPoint("select locator point")

'uDiv = Rhino.GetInteger("Enter the number of divisions in the U direction", 1, 1)

 uDiv = 1

 If componentType = "Mesh"  Then

 	vDiv = Rhino.GetInteger("Enter the number of divisions in the V direction", 5, 1)

 	'	height = Rhino.GetReal("Enter a height multiplier ", 2)

 	height=2

 	'		xTmin =  Rhino.GetReal("Enter x tilt minimum(0-1)", .7)

 	'		xTmax =  Rhino.GetReal("Enter x tilt maximum(0-1)", .8)

 	'

 	'		yTmin =  Rhino.GetReal("Enter Y tilt minimum(0-1)", .4)

 	'		yTmax =  Rhino.GetReal("Enter Y tilt maximum(0-1)", .45)

 	'

 	xTmin = .7

 	xTmax =   .8

yTmin = .4

 	yTmax =.45

End If

If componentType = "Exterior"  Then

 	vDiv = Rhino.GetInteger("Enter the number of divisions in the V direction", 60, 1)

 	'vDiv=60

 	'height = Rhino.GetReal("Enter a height multiplier ", .2)

 	'sinMult = Rhino.GetReal("Enter a Sin multiplier ", 3)

 	sinMult =3

'splitWidth = Rhino.GetReal("Enter split width", 15)

 	splitWidth =15

 	'xTmin =  Rhino.GetReal("Enter x tilt minimum(0-1)", .1)

 	'xTmax =  Rhino.GetReal("Enter x tilt maximum(0-1)", .9)

 	xTmin=.1

 	xTmax=.9

 	'yTmin =  Rhino.GetReal("Enter Y tilt minimum(0-1)", .3)

 	'yTmax =  Rhino.GetReal("Enter Y tilt maximum(0-1)", .9)

 	yTmin=.2

 	yTmax=.9

 	'offset =  Rhino.GetReal("Enter component offset (0-1)", .05)

 	offset=.02

 	height =.1

End If

If componentType = "Transition"  Then

 	vDiv = Rhino.GetInteger("Enter the number of divisions in the V direction", 80, 1)

 	height = Rhino.GetReal("Enter a height multiplier ", .02)

splitWidth = Rhino.GetReal("Enter split width", 30)

 	'xTmin =  Rhino.GetReal("Enter x tilt minimum(0-1)", .1)

 	'xTmax =  Rhino.GetReal("Enter x tilt maximum(0-1)", .9)

 	xTmin=.2

 	xTmax=.5

 	'yTmin =  Rhino.GetReal("Enter Y tilt minimum(0-1)", .3)

 	'yTmax =  Rhino.GetReal("Enter Y tilt maximum(0-1)", .9)

 	yTmin=.9

 	yTmax=.9

 	'offset =  Rhino.GetReal("Enter component offset (0-1)", .05)

 	offset=.1

 End If

 If componentType = "Wall"  Then

 	vDiv = Rhino.GetInteger("Enter the number of divisions in the V direction", 60, 1)

 	height = Rhino.GetReal("Enter a height multiplier ", .4)

xTmin =  Rhino.GetReal("Enter x tilt minimum(0-1)", .1)

 	xTmax =  Rhino.GetReal("Enter x tilt maximum(0-1)", .8)

yTmin =  Rhino.GetReal("Enter Y tilt minimum(0-1)", .1)

 	yTmax =  Rhino.GetReal("Enter Y tilt maximum(0-1)", .8)

splitWidth = Rhino.GetReal("Enter split width", 8)

 	offset =  Rhino.GetReal("Enter component offset (0-1)", .05)

 End If

'Dim flip : flip = Rhino.GetBoolean("Flip U and V?", Array("Flip","U,V", "V,U"),Array(False))

 '	Dim showDraw : showDraw =  Rhino.GetBoolean("Show or Hide construction?", Array("Construction","Hide", "Show"), Array(True))

'loft curves

If vertBool(0)=True	 Then

 	ReDim sourceSurface(UBound(sourceCurves)-2)

Dim a: a=0

 	For i=0 To UBound(sourceSurface)

Dim scArrV : scArrV = Array(sourceCurves(i),sourceCurves(i+2))

 		CheckLayerParent "construction"

 		sourceSurface(i)  = Rhino.AddEdgeSrf(scArrV)

 		'sourceSurface(i)  =Rhino.AddLoftSrf (scArrV ,  ,  , 3 , 1 )

 		Rhino.Command "SelNone"

 		Rhino.LastCreatedObjects  True

 		Rhino.Command "Reparameterize 0 1 0 1 "

a=a+2

Next

Else

 	ReDim sourceSurface(UBound(sourceCurves)-1)

 	For i=0 To 	UBound(sourceSurface )

 		Dim scArr : scArr = Array(sourceCurves(i),sourceCurves(i+1))

CheckLayerParent "construction"

 		sourceSurface(i)  = Rhino.AddEdgeSrf(scArr)

Rhino.Command "SelNone"

 		Rhino.LastCreatedObjects  True

 		Rhino.Command "Reparameterize 0 1 0 1 "

Next

 End If

'	If cocoonBool(0) = True Then

 '

 '		For i=0 To UBound(sourceCurves)-1

 '			CheckLayerParent "construction"

 '			Dim sourceSurfaceM : sourceSurfaceM  = Rhino.AddEdgeSrf(Array(sourceCurves(1),sourceCurves(3)))

 '

 '			Rhino.Command "SelNone"

 '			Rhino.LastCreatedObjects  True

 '			Rhino.Command "Reparameterize 0 1 0 1 "

 '

 '			'		Dim arrDomU :	arrDomU = Rhino.SurfaceDomain(sourceSurfaceM, 0)

 '			'		Dim u0 :	u0 = arrDomU(0)+.5

 '			'		Dim u1 :	u1 = arrDomU(1)-.5

 '			'		Dim arrDomV:	arrDomV = Rhino.SurfaceDomain(sourceSurfaceM, 1)

 '			'		Dim v0:v0 = arrDomV(0)

 '			'		Dim v1: v1 = arrDomV(1)

 '			'		CheckLayerParent "construction"

 '			'		midCurve=Rhino.AddInterpCrvOnSrfUV(sourceSurfaceM,Array(Array(u0,v0), Array(u1,v1)))

 '			'

 '

 '			'

 '

 '

 '			'		For j=0 To 	UBound(midCurve)-1

 '			'			CheckLayerParent "construction"

 '			'			midSurface(j)  = Rhino.AddEdgeSrf(Array(midCurve(j),midCurve(j+1)))

 '			'			Rhino.Command "SelNone"

 '			'			Rhino.LastCreatedObjects  True

 '			'			Rhino.Command "Reparameterize 0 1 0 1 "

 '			'		Next

 '

 '			End If

ReDim ap1<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_0_404" id="identifier_0_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">1</a></sup>

 ReDim ap2<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_1_404" id="identifier_1_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">2</a></sup>

 ReDim ap3<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_2_404" id="identifier_2_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">3</a></sup>

 ReDim ap4<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_3_404" id="identifier_3_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">4</a></sup>

 ReDim ap5<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_4_404" id="identifier_4_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">5</a></sup>

ReDim ap1n<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_5_404" id="identifier_5_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">6</a></sup>

 ReDim ap2n<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_6_404" id="identifier_6_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">7</a></sup>

 ReDim ap3n<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_7_404" id="identifier_7_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">8</a></sup>

 ReDim ap4n<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_8_404" id="identifier_8_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">9</a></sup>

 ReDim ap5n<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_9_404" id="identifier_9_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">10</a></sup>

ReDim underCocoon<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_10_404" id="identifier_10_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">11</a></sup>

 ReDim overCocoon<sup><a href="http://cwwang.com/2007/04/19/seroussi-pavillion/#footnote_11_404" id="identifier_11_404" class="footnote-link footnote-identifier-link" title="uDiv-1),(vDiv-1">12</a></sup>

'Redimension the arrays that will hold all the values of U and V to the number of tiles in each direction

 ReDim uVal(uDiv)

 ReDim vVal(vDiv)

'Find the step value, i.e. the distance between tiles in each direction. (note: this is not the euclidian distance, it is the distance measured in UV space)

 uStep = 1/uDiv

 vStep = 1/vDiv

'Fill the arrays with the actual values of U and V at each step

 For i = 0 To uDiv

 	uVal(i) = i * uStep

 	'Rhino.Print "uVal(" &amp; i &amp; "):" &amp; uVal(i)

 Next

For i = 0 To vDiv

 	vVal(i) = i * vStep

'Rhino.Print "vVal(" &amp; i &amp; "):" &amp; vVal(i)

 Next

'Disable Rhino from redrawing the views during the tile construction to speed things up

 '	If showDraw(0) = False Then

 '		Rhino.EnableRedraw vbFalse

 '		Rhino.Print "Populating component..."

 '	End If

'Start looping through each u and v division and create the tile within

If componentType = "Wall"  Then

 	Dim UB : UB=	 UBound(sourceSurface)/2

Else

 	UB=	 UBound(sourceSurface)

 End If

For k = 0 To UB

 	yStep = 0

 	xStep = 0

For i = 0 To uDiv-1

 		For j = 0 To vDiv-1

'Find the 3D coordinate for each of the 4 corners of the tile using the UV coordinates as input

 			Dim topLeft :topLeft=	Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)))

 			Dim topRight : topRight = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+1, vVal(j)))

 			Dim bottomLeft : bottomLeft = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j+1)))

width =  Rhino.Distance(topLeft,topRight)

 			depth =  Rhino.Distance(topLeft,bottomLeft)

Dim curveMid:CurveMid=Rhino.EvaluateSurface(sourceSurface(k),Array(uVal(uDiv/2), vVal(vDiv/2)))

 			locatorMidDist=Rhino.Distance(Array(curveMid(0),curveMid(1),curveMid(2)),locator)

If componentType = "Wall"  Then

 				Dim top :top=	Rhino.EvaluateSurface(sourceSurface(k*2), Array(uVal(i), vVal(j)))

 				Dim bottom : bottom = Rhino.EvaluateSurface(sourceSurface(k*2+1),Array(uVal(i), vVal(j)))

 				height=Rhino.Distance(top,bottom)

 				wallComponent i,j,k*2,sourceSurface

End If

If componentType = "Mesh"  Then

meshComponent i,j,k,sourceSurface

End If

'					For m = 0 To 1

 			'						height=height*-1

 			'

If componentType = "Exterior" Or componentType="Transition"  Then

If width &gt;splitWidth Then

 					For p=0 To 1

 						uVal(0)=p/2

 						uVal(1)=1/2

 						extComponent i,j,k

 					Next

 				End If

If width<splitwidth></splitwidth>

If louvres(0)=True   Then

 						louvreComponent i,j,k

 						louvres(0)=False

 					Else

uVal(0)=0

 						uVal(1)=1

 						extComponent i,j,k

End If

Else

 					If width <splitwidth>

 						uVal(0)=0

 						uVal(1)=1

 						extComponent i,j,k

 					End If</splitwidth>

End If

 			End If

Next

 	Next

 Next

Rhino.DeleteObjects (sourceSurface)

Dim YN2:YN2= Rhino.MessageBox ("Delete construction lines?"  , 4)

 If YN2 =6 Then

 	Rhino.PurgeLayer ("construction")

 	'			Rhino.DeleteObjects(underCocoon(0,RandomNumber(0,UBound(underCocoon))))

 	'			Rhino.DeleteObjects(overCocoon(0,RandomNumber(0,UBound(overCocoon))))

 End If

End Sub

panel

Function cocoonComponent (i,j,k,surfaceA)

 checkLayerParent(parentLayer)

yTilt = Sin(j/vDiv)

If yTilt&gt;yTmax Then

 	yTilt = yTmax

 End If

 If yTilt<ytmin></ytmin>

yTilt = yTmin

 End If

xTilt = Sin(j/vDiv)

If xTilt&gt;xTmax Then

 	xTilt = xTmax

 End If

If xTilt<xtmin>

 	xTilt = xTmin

 End If</xtmin>

Dim overC : overC = RGB(125,125,125)

Dim a0 : a0 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i), vVal(j)))

 Dim c0 : c0 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i)+uVal(1), vVal(j)))

 Dim c2 : c2 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i)+uVal(1), vVal(j+1)))

 Dim a2 : a2 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i), vVal(j+1)))

Dim b1 : b1 = Rhino.SurfaceCurvature(surfaceA(k), Array(uVal(i)+(uVal(1)*.5), vVal(j) + vVal(1)*(1-xTilt)))

 ap1(i,j) = offsetCalc(b1, height*.1)

 Dim bb1 : bb1 = Rhino.SurfaceCurvature(surfaceA(k), Array(uVal(i)+(uVal(1)*.5), vVal(j)+vVal(1)*xTilt ))

 ap2(i,j) = offsetCalc(bb1, height*.1)

ap3(i,j) = offsetCalc(b1, height/2)

 ap4(i,j) = offsetCalc(bb1, height/2)

Dim a0B : a0B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i), vVal(j)))

 Dim c0B : c0B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i)+uVal(1), vVal(j)))

 Dim c2B : c2B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i)+uVal(1), vVal(j+1)))

 Dim a2B : a2B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i), vVal(j+1)))

Dim b1B : b1B = Rhino.SurfaceCurvature(surfaceA	(k+1), Array(uVal(i)+(uVal(1)*.5), vVal(j) + vVal(1)*(1-xTilt)))

 ap1n(i,j) = offsetCalc(b1B, -height*.1)

Dim bb1B : bb1B = Rhino.SurfaceCurvature(surfaceA(k+1), Array(uVal(i)+(uVal(1)*.5), vVal(j)+vVal(1)*xTilt))

 ap2n(i,j) = offsetCalc(bb1B, -height*.1)

'based on curvature

 'ap1(i,j) = offsetCalc(cb2, height*cb2(7)*10)

 'ap2(i,j) = offsetCalc(cb4, height*cb4(7)*10)

'constant height

 'ap1(i,j) = offsetCalc(cb2, height)

 'ap2(i,j) = offsetCalc(cb4, height)

'based on width height

 'xTilt=.1

'	ap2(i,j) = offsetCalc(c0, height*(1-yTilt))

 '	ap3(i,j) = offsetCalc(d0, height*xTilt)

 '	ap4(i,j) = offsetCalc(e0, height*(1-yTilt))

 '	ap5(i,j) = offsetCalc(f0, height*yTilt)

 '

 '	ap1n(i,j) = offsetCalc(b1, height*yTilt)

 '	ap2n(i,j) = offsetCalc(c1, height*(1-yTilt))

 '	ap3n(i,j) = offsetCalc(d1, height)

 '	ap4n(i,j) = offsetCalc(e1, height*(1-yTilt))

 '	ap5n(i,j) = offsetCalc(f1, height*yTilt)

CheckLayerParent "construction"

 'Dim a2ap1c0 : a2ap1c0 = Rhino.AddArc3Pt(a2,c0,ap1(i,j))

 'Dim c4ap4e2 : c4ap4e2 = Rhino.AddArc3Pt(c4,e2,ap4(i,j))

 'Dim a0ap1ap2b3 : a0ap1ap2b3 = Rhino.AddNurbsCurve (Array(a0,ap1(i,j),ap2(i,j),b3),Array(-1,-.5,0,.5,1) ,2,Array(100,1,1,100))

 'Dim a0nap1fnap2fnb3n : a0nap1fnap2fnb3n = Rhino.AddNurbsCurve (Array(a0n,ap1fn(i,j),ap2fn(i,j),b3n),Array(-1,-.5,0,.5,1) ,2,Array(100,1,1,100))

'Dim a2ap1c0 : a2ap1c0 = Rhino.AddEllipse3Pt (a2,c0,ap1(i,j))

 'Dim c4ap4e2 : c4ap4e2 = Rhino.AddEllipse3Pt (c4,e2,ap4(i,j))

'	Dim a0a1: a0a1 = Rhino.AddLine(a0,a1)

'horiz

 'top

 Dim a0ap1c0 : a0ap1c0 = Rhino.AddNurbsCurve (Array(a0,ap1(i,j),c0),Array(0,0,1,1) ,2,Array(100,100,100))

 'bottom

 Dim a0Bap1nc0B : a0Bap1nc0B = Rhino.AddNurbsCurve (Array(a0B,ap1n(i,j),c0B),Array(0,0,1,1) ,2,Array(100,100,100))

 'vert

 'left

 Dim a0ap3a0B :  a0ap3a0B = 	Rhino.AddNurbsCurve (Array(a0,ap3(i,j),a0B),Array(0,0,1,1) ,2,Array(100,100,100))

 'right

 Dim c0ap3c0B :  c0ap3c0B = 	Rhino.AddNurbsCurve (Array(c0,ap3(i,j),c0B),Array(0,0,1,1) ,2,Array(100,100,100))

'horiz

 'top

 Dim a2ap2c2 : a2ap2c2 = Rhino.AddNurbsCurve (Array(a2,ap2(i,j),c2),Array(0,0,1,1) ,2,Array(100,100,100))

 'bottom

 Dim a2Bap2nc2B : a2Bap2nc2B = Rhino.AddNurbsCurve (Array(a2B,ap2n(i,j),c2B),Array(0,0,1,1) ,2,Array(100,100,100))

'vert

 'left

 Dim a2ap4a2B :  a2ap4a2B = 	Rhino.AddNurbsCurve (Array(a2,ap4(i,j),a2B),Array(0,0,1,1) ,2,Array(100,100,100))

 'right

 Dim c2ap4c2B :  c2ap4c2B = 	Rhino.AddNurbsCurve (Array(c2,ap4(i,j),c2B),Array(0,0,1,1) ,2,Array(100,100,100))

CheckLayer"Cocoon Component" , overC

 'overCocoon(i,j)=Rhino.AddLoftSrf(Array(a0a1,ap1ap1n,ap2ap2n,ap3ap3n))

'underCocoon(i,j)=Rhino.AddLoftSrf(Array(ap3ap3n,ap4ap4n,ap5ap5n,g0g1))

'	Rhino.AddEdgeSrf(Array(a0ap1c0, a0Bap1nc0B,a0ap3a0B, c0ap3c0B))

 '	Rhino.AddEdgeSrf(Array(a2ap2c2, a2Bap2nc2B,a2ap4a2B, c2ap4c2B))

 '	edgeSurface a0ap1c0,  a2ap2c2

 '	edgeSurface a0Bap1nc0B,  a2Bap2nc2B

 '	edgeSurface a0ap3a0B,  a2ap4a2B

 '	edgeSurface c0ap3c0B,  c2ap4c2B

'Rhino.AddLoftSrf Array(	a0ap3a0B, c0ap3c0B,c2ap4c2B,a2ap4a2B),,,,,,True

 edgeSurface  a0ap1c0, a2ap4a2B

edgeSurface   a2Bap2nc2B, c0ap3c0B

End Function

Function meshComponent (i,j,k,surface)

checkLayerParent(parentLayer)

yTilt = Sin(j/vDiv)

If yTilt&gt;yTmax Then

 	yTilt = yTmax

 End If

 If yTilt<ytmin></ytmin>

yTilt = yTmin

 End If

xTilt = Sin(1-j/vDiv)

If xTilt&gt;xTmax Then

 	xTilt = xTmax

 End If

If xTilt<xtmin></xtmin>

xTilt = xTmin

 End If

Dim overC : overC = RGB(125,125,125)

Dim a0 : a0 = Rhino.EvaluateSurface(surface(k), Array(uVal(i), vVal(j)))

 Dim g0 : g0 = Rhino.EvaluateSurface(surface(k), Array(uVal(i)+uVal(1), vVal(j)))

 Dim g1 : g1 = Rhino.EvaluateSurface(surface(k), Array(uVal(i)+uVal(1), vVal(j+1)))

 Dim a1 : a1 = Rhino.EvaluateSurface(surface(k), Array(uVal(i), vVal(j+1)))

Dim b0 : b0 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.05), vVal(j)))

 Dim c0 : c0 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*yTilt), vVal(j)+vVal(1)*xTilt))

Dim d0 : d0 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.5), vVal(j)))

 Dim e0 : e0 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*(1-yTilt)), vVal(j)+vVal(1)*xTilt))

Dim f0 : f0 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.95), vVal(j)))

Dim b1 : b1 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.05), vVal(j+1)))

 Dim c1 : c1 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*yTilt), vVal(j+1)-vVal(1)*xTilt))

Dim d1 : d1 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.5), vVal(j+1)))

 Dim e1 : e1 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*(1-yTilt)), vVal(j+1)-vVal(1)*xTilt))

Dim f1 : f1 = Rhino.SurfaceCurvature(surface(k), Array(uVal(i)+(uVal(1)*.95), vVal(j+1)))

ap1(i,j) = offsetCalc(b0, height*yTilt)

 ap2(i,j) = offsetCalc(c0, height*(1-yTilt))

 ap3(i,j) = offsetCalc(d0, height)

 ap4(i,j) = offsetCalc(e0, height*(1-yTilt))

 ap5(i,j) = offsetCalc(f0, height*yTilt)

ap1n(i,j) = offsetCalc(b1, height*yTilt)

 ap2n(i,j) = offsetCalc(c1, height*(1-yTilt))

 ap3n(i,j) = offsetCalc(d1, height)

 ap4n(i,j) = offsetCalc(e1, height*(1-yTilt))

 ap5n(i,j) = offsetCalc(f1, height*yTilt)

CheckLayerParent "construction"

Dim a0a1: a0a1 = Rhino.AddLine(a0,a1)

 Dim ap1ap1n:ap1ap1n = Rhino.AddLine(ap1(i,j),ap1n(i,j))

 Dim ap2ap2n:ap2ap2n = Rhino.AddLine(ap2(i,j),ap2n(i,j))

 Dim ap3ap3n:ap3ap3n = Rhino.AddLine(ap3(i,j),ap3n(i,j))

 Dim ap4ap4n:ap4ap4n = Rhino.AddLine(ap4(i,j),ap4n(i,j))

 Dim ap5ap5n:ap5ap5n = Rhino.AddLine(ap5(i,j),ap5n(i,j))

 Dim g0g1:g0g1 = Rhino.AddLine(g0,g1)

CheckLayer"Cocoon Component" , overC

 overCocoon(i,j)=Rhino.AddLoftSrf(Array(a0a1,ap1ap1n,ap2ap2n,ap3ap3n))

 underCocoon(i,j)=Rhino.AddLoftSrf(Array(ap3ap3n,ap4ap4n,ap5ap5n,g0g1))

End Function

Function wallComponent(i,j,k,surfaceA)

checkLayerParent(parentLayer)

yTilt = Sin(j/vDiv)

If yTilt&gt;yTmax Then

 	yTilt = yTmax

 End If

 If yTilt<ytmin></ytmin>

yTilt = yTmin

 End If

xTilt = Sin(j/vDiv)

If xTilt&gt;xTmax Then

 	xTilt = xTmax

 End If

If xTilt<xtmin>

 	xTilt = xTmin

 End If</xtmin>

wallComponent

Dim overC : overC = RGB(125,125,125)

Dim a0 : a0 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i), vVal(j)))

 Dim c0 : c0 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i)+uVal(1), vVal(j)))

 Dim c2 : c2 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i)+uVal(1), vVal(j+1)))

 Dim a2 : a2 = Rhino.EvaluateSurface(surfaceA(k), Array(uVal(i), vVal(j+1)))

Dim b1 : b1 = Rhino.SurfaceCurvature(surfaceA(k), Array(uVal(i)+(uVal(1)*.5), vVal(j) + vVal(1)*(1-xTilt)))

 ap1(i,j) = offsetCalc(b1, height*.1)

 Dim bb1 : bb1 = Rhino.SurfaceCurvature(surfaceA(k), Array(uVal(i)+(uVal(1)*.5), vVal(j)+vVal(1)*xTilt ))

 ap2(i,j) = offsetCalc(bb1, height*.1)

ap3(i,j) = offsetCalc(b1, height/2)

 ap4(i,j) = offsetCalc(bb1, height/2)

Dim a0B : a0B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i), vVal(j)))

 Dim c0B : c0B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i)+uVal(1), vVal(j)))

 Dim c2B : c2B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i)+uVal(1), vVal(j+1)))

 Dim a2B : a2B = Rhino.EvaluateSurface(surfaceA(k+1), Array(uVal(i), vVal(j+1)))

Dim b1B : b1B = Rhino.SurfaceCurvature(surfaceA	(k+1), Array(uVal(i)+(uVal(1)*.5), vVal(j) + vVal(1)*(1-xTilt)))

 ap1n(i,j) = offsetCalc(b1B, -height*.1)

Dim bb1B : bb1B = Rhino.SurfaceCurvature(surfaceA(k+1), Array(uVal(i)+(uVal(1)*.5), vVal(j)+vVal(1)*xTilt))

 ap2n(i,j) = offsetCalc(bb1B, -height*.1)

CheckLayerParent "construction"

'horiz

 'top

 Dim a0ap1c0 : a0ap1c0 = Rhino.AddNurbsCurve (Array(a0,ap1(i,j),c0),Array(0,0,1,1) ,2,Array(100,100,100))

 'bottom

 Dim a0Bap1nc0B : a0Bap1nc0B = Rhino.AddNurbsCurve (Array(a0B,ap1n(i,j),c0B),Array(0,0,1,1) ,2,Array(100,100,100))

 'vert

 'left

 Dim a0ap3a0B :  a0ap3a0B = 	Rhino.AddNurbsCurve (Array(a0,ap3(i,j),a0B),Array(0,0,1,1) ,2,Array(100,100,100))

 'right

 Dim c0ap3c0B :  c0ap3c0B = 	Rhino.AddNurbsCurve (Array(c0,ap3(i,j),c0B),Array(0,0,1,1) ,2,Array(100,100,100))

'horiz

 'top

 Dim a2ap2c2 : a2ap2c2 = Rhino.AddNurbsCurve (Array(a2,ap2(i,j),c2),Array(0,0,1,1) ,2,Array(100,100,100))

 'bottom

 Dim a2Bap2nc2B : a2Bap2nc2B = Rhino.AddNurbsCurve (Array(a2B,ap2n(i,j),c2B),Array(0,0,1,1) ,2,Array(100,100,100))

'vert

 'left

 Dim a2ap4a2B :  a2ap4a2B = 	Rhino.AddNurbsCurve (Array(a2,ap4(i,j),a2B),Array(0,0,1,1) ,2,Array(100,100,100))

 'right

 Dim c2ap4c2B :  c2ap4c2B = 	Rhino.AddNurbsCurve (Array(c2,ap4(i,j),c2B),Array(0,0,1,1) ,2,Array(100,100,100))

CheckLayer"Cocoon Component" , overC

edgeSurface  a0ap1c0, a2ap4a2B

 edgeSurface   a2Bap2nc2B, c0ap3c0B

End Function

Function extComponent (i,j,k)

 checkLayerParent(parentLayer)

Dim ySin:ySin = Abs(Sin(sinMult*j/vDiv))

 Dim xSin:xSin = Abs(Sin(sinMult*j/vDiv))

Dim glassColor : glassColor = RGB(127,255,191 )

 Dim a0 : a0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)))

Dim dist : dist=Rhino.Distance(Array(a0(0),a0(1),a0(2)),locator)

Dim arrNormal:arrNormal = Rhino.SurfaceNormal(sourceSurface(k), Array(uVal(i), vVal(j)))

 CheckLayerParent "construction"

Rhino.addline Array(0,0,0),arrNormal

 Rhino.addline a0,locator

 Dim angle:angle=Rhino.Angle2(Array(a0,locator),Array(Array(0,0,0),arrNormal))

 'xTilt=1- locatorMidDist/dist

 'yTilt=1-locatorMidDist/dist

xTilt=angle(0)/30

 yTilt=angle(0)/30

 Rhino.Print "x"&amp; xTilt

 Rhino.Print "y"&amp; yTilt

If yTilt&gt;yTmax Then

 	yTilt = yTmax

 End If

 If yTilt<ytmin>

 	yTilt = yTmin

 End If</ytmin>

If xTilt&gt;xTmax Then

 	xTilt = xTmax

 End If

If xTilt<xtmin>

 	xTilt = xTmin

 End If</xtmin>

Dim f0 : f0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(j)))

 Dim a5 : a5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)+ vVal(1)))

Dim c0 : c0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(xTilt)), vVal(j)))

 Dim e0 : e0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-offset)), vVal(j)))

Dim a1 : a1 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)+vVal(1)*(offset)))

Dim a2 : a2 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)+vVal(1)*(yTilt)))

 Dim b2 : b2 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(offset)) , vVal(j)+vVal(1)*(yTilt)))

Dim b5 : b5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(offset)) , vVal(j)+vVal(1)))

 Dim d5 : d5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-xTilt)) , vVal(j)+vVal(1)))

Dim e3 : e3 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-offset)), vVal(j)+vVal(1)*(1-yTilt)))

 Dim f3 : f3 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(j)+vVal(1)*(1-yTilt)))

 Dim f4 : f4 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(j)+vVal(1)*(1-offset)))

Dim f5 : f5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(j)+vVal(1)))

Dim cc1 : cc1 = Rhino.SurfaceCurvature(sourceSurface(k), Array(uVal(i)+(uVal(1)*(xTilt)), vVal(j)+(vVal(1)*offset)))

 Dim cd4 : cd4 = Rhino.SurfaceCurvature(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-xTilt)), vVal(j)+vVal(1)*(1-offset)))

'based on width height

height=xTilt/10

 ap1(i,j) = offsetCalc(cc1,  width*height)

 ap2(i,j) = offsetCalc(cd4,  width*height)

Dim arrVertices(15)

 arrVertices(0) = a0

 arrVertices(1) = c0

 arrVertices(2) = e0

 arrVertices(3) = f0

 arrVertices(4) = a1

 arrVertices(5) = ap1(i,j)

 arrVertices(6) = a2

 arrVertices(7) =b2

 arrVertices(8) =e3

 arrVertices(9) =f3

 arrVertices(10) =ap2(i,j)

 arrVertices(11) =f4

 arrVertices(12) =a5

 arrVertices(13) =b5

 arrVertices(14) =d5

 arrVertices(15) =f5

Dim arrFaceVertices(7)

 arrFaceVertices(0) = Array(0,1,5,4)

 arrFaceVertices(1) = Array(1,2,8,5)

 arrFaceVertices(2) = Array(2,3,9,8)

 arrFaceVertices(3) = Array(4,5,7,6)

 arrFaceVertices(4) = Array(8,9,11,10)

 arrFaceVertices(5) = Array(6,7,13,12)

 arrFaceVertices(6) = Array(7,10,14,13)

 arrFaceVertices(7) = Array(10,11,15,14)

CheckLayer"Component" , componentColor

 Rhino.AddMesh arrVertices, arrFaceVertices

Dim arrGlassVertices(1)

 arrGlassVertices		(0) = Array(5,8,10,10)

 arrGlassVertices(1) = Array(5,7,10,10)

CheckLayer"Component Glass" , glassColor

 Rhino.AddMesh arrVertices, arrGlassVertices

End Function

Function louvreComponent (i,j,k)

 checkLayerParent(parentLayer)

yTilt = Sin(5*j/vDiv)

If yTilt&gt;yTmax Then

 	yTilt = yTmax

 End If

 If yTilt<ytmin></ytmin>

yTilt = yTmin

 End If

xTilt = Sin(5*j/vDiv)

If xTilt&gt;xTmax Then

 	xTilt = xTmax

 End If

If xTilt<xtmin>

 	xTilt = xTmin

 End If</xtmin>

Dim glassColor : glassColor = RGB(127,255,191 )

 Dim a0 : a0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)))

 Dim f0 : f0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(j)))

 Dim a5 : a5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(vDiv)))

Dim c0 : c0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(xTilt)), vVal(j)))

 Dim e0 : e0 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-offset)), vVal(j)))

Dim a1 : a1 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)+vVal(1)*(offset)))

Dim a2 : a2 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i), vVal(j)+vVal(1)*(yTilt)))

 Dim b2 : b2 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(offset)) , vVal(j)+vVal(1)*(yTilt)))

Dim b5 : b5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(offset)) , vVal(vDiv)))

 Dim d5 : d5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-xTilt)) , vVal(vDiv)))

Dim e3 : e3 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-offset)), vVal(vDiv-1)+vVal(1)*(-yTilt)))

 Dim f3 : f3 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(vDiv)+vVal(1)*(-yTilt)))

 Dim f4 : f4 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(vDiv)+vVal(1)*(-offset)))

Dim f5 : f5 = Rhino.EvaluateSurface(sourceSurface(k), Array(uVal(i)+uVal(1), vVal(vDiv)))

Dim cc1 : cc1 = Rhino.SurfaceCurvature(sourceSurface(k), Array(uVal(i)+(uVal(1)*(xTilt)), vVal(j)+(vVal(1)*offset)))

 Dim cd4 : cd4 = Rhino.SurfaceCurvature(sourceSurface(k), Array(uVal(i)+(uVal(1)*(1-xTilt)), vVal(vDiv)+vVal(1)*(-offset)))

'based on width height

ap1(i,j) = offsetCalc(cc1,  height*2)

 ap2(i,j) = offsetCalc(cd4,  height*2)

CheckLayerParent "construction"

 Dim a0c0 : a0c0 = Rhino.AddLine(a0 , c0)

 Dim a1ap1 : a1ap1 = Rhino.AddLine(a1, ap1(i,j))

 Dim c0ap1 : c0ap1 = Rhino.AddLine(c0, ap1(i,j))

 Dim a0a1 : a0a1 = Rhino.AddLine(a0 , a1)

 Dim a2b2 : a2b2 = Rhino.AddLine(a2 , b2)

 Dim a2a5 : a2a5 = Rhino.AddLine(a2 ,a5)

 Dim b2b5 : b2b5 = Rhino.AddLine(b2 , b5)

 Dim d5ap2 : d5ap2= Rhino.AddLine(d5,ap2(i,j))

 Dim b2ap2 : b2ap2  = Rhino.AddLine(b2,ap2(i,j))

 Dim b5d5 : b5d5 =  Rhino.AddLine(b5 , d5)

 CheckLayer"Component" , componentColor

 edgeSurface a0c0,a1ap1

 edgeSurface a1ap1,a2b2

 edgeSurface a2a5,b2b5

 edgeSurface b2ap2,b5d5

 CheckLayerParent "construction"

 Dim d5f5 : d5f5 = Rhino.AddLine(d5 , f5)

 Dim e3f3 : e3f3 = Rhino.AddLine(e3 , f3)

 Dim e0f0 : e0f0 = Rhino.AddLine(e0 , f0)

 Dim e0e3 : e0e3 = Rhino.AddLine(e0 , e3)

 Dim f0f3 : f0f3 = Rhino.AddLine(f0 , f3)

 Dim c0e0 : c0e0 = Rhino.AddLine(c0 , e0)

 Dim f4ap2 : f4ap2 = Rhino.AddLine(f4 , ap2(i,j))

 Dim e3ap1 : e3ap1 = Rhino.AddLine( ap1(i,j), e3)

 CheckLayer"Component" , componentColo

 edgeSurface f4ap2,e3f3

 edgeSurface e0e3,f0f3

 edgeSurface f4ap2,d5f5

 edgeSurface c0e0,e3ap1

 CheckLayerParent "construction"

 Dim ap1ap2 : ap1ap2 = Rhino.AddLine(ap1(i,j) , ap2(i,j))

 Dim e3ap2 : e3ap2 = Rhino.AddLine( ap2(i,j), e3)

 Dim b2ap1 : b2ap1  = Rhino.AddLine(b2,ap1(i,j))

 CheckLayer "Component Glass",glassColor

 Rhino.AddPlanarSrf(Array(ap1ap2,e3ap2,e3ap1))

 Rhino.AddPlanarSrf(Array(ap1ap2,b2ap2,b2ap1))

End Function

Function edgeSurface(edge1,edge2)

Dim f : f = Rhino.CurveDirectionsMatch(edge1,edge2)

 Dim rEdge

If f = False Then

 	rEdge=	Rhino.ReverseCurve(edge2)

 End If

 Rhino.AddEdgeSrf(Array(edge1, edge2 ))

End Function

Function RandomNumber(nMin, nMax)

 RandomNumber = vbNull

 If Not IsNumeric(nMin) Then Exit Function

 If Not IsNumeric(nMax) Then Exit Function

 If nMin &gt;= nMax Then Exit Function

 Randomize

 RandomNumber = Int((nMax - nMin + 1) * Rnd + nMin)

End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 	'This fucntion finds the coordinate of a point normal to, and at a <height> from, a point on the surface

Function offsetCalc(oData, height)

 Dim vscaled

 vscaled = VectorScale(oData(1),height)

 offsetCalc = VectorAdd(vscaled,oData(0))

End Function</height>

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 	'function by RMA, "vectors.rvb"

Function VectorAdd(v1, v2)

VectorAdd = Null

 'If Not IsArray(v1) Or (UBound(v1) &lt;&gt; 2) Then Exit Function

 'If Not IsArray(v2) Or (UBound(v2) &lt;&gt; 2) Then Exit Function

 VectorAdd = Array(v1(0) + v2(0), v1(1) + v2(1), v1(2) + v2(2))

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 	'function by RMA, "vectors.rvb"

Function VectorScale(v, d)

VectorScale = Null

 'If Not IsArray(v) Or (UBound(v) &lt;&gt; 2) Then Exit Function

 'If Not IsNumeric(d) Then Exit Function

 VectorScale = Array(v(0) * d, v(1) * d, v(2) * d)

End Function

'--------------------------------------------------------------------------------------------------------------------

 	'This function checks if the current layer is <layername> and if it isn't, makes it so. If the layer <layername> doesn't

 	'     exist then it creates it with the name <layername>.

Function CheckLayerParent(layername)

 If Rhino.IsLayer(layername) Then

 	Rhino.CurrentLayer(layername)</layername></layername></layername>

Else

 	Rhino.AddLayer layername,RGB(Cint(parentLayer*5),125,125)

 	Rhino.CurrentLayer(layername)

 End If

End Function

Function CheckLayer(layername,color)

 If Rhino.IsLayerChildOf(parentLayer, layername+"_"+parentLayer) Then

 	Rhino.CurrentLayer(layername+"_"+parentLayer)

Else

 	Rhino.AddLayer layername+"_"+parentLayer,color,,,parentLayer

 	Rhino.CurrentLayer(layername+"_"+parentLayer)

 End If

End Function

Function mesh()

 Rhino.Command "SelNone"

 Rhino.Command "Sellast"

 Rhino.Command "_mesh           Enter"

End Function</pre>
<ol class="footnotes"><li id="footnote_0_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_1_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_2_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_3_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_4_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_5_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_6_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_7_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_8_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_9_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_10_404" class="footnote">uDiv-1),(vDiv-1</li><li id="footnote_11_404" class="footnote">uDiv-1),(vDiv-1</li></ol>]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2007/04/19/seroussi-pavillion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Denen Apts</title>
		<link>http://cwwang.com/2007/02/04/denen/</link>
		<comments>http://cwwang.com/2007/02/04/denen/#comments</comments>
		<pubDate>Mon, 05 Feb 2007 02:35:13 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Work in Progress]]></category>

		<guid isPermaLink="false">http://cwwang.com/wordpress/2007/02/04/denen/</guid>
		<description><![CDATA[This 6 story apartment building with first floor commercial in Yokohama, Japan was design in collaboration with Akio Narita of Unit N.]]></description>
			<content:encoded><![CDATA[<p>This 6 story apartment building with first floor commercial in Yokohama, Japan was design in collaboration with Akio Narita of Unit N.</p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r6.jpg" title="den-en-clinic-006a-r6.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r6.thumbnail.jpg" alt="den-en-clinic-006a-r6.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-002.jpg" title="den-en-clinic-002.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-002.thumbnail.jpg" alt="den-en-clinic-002.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r7.jpg" title="den-en-clinic-006a-r7.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r7.thumbnail.jpg" alt="den-en-clinic-006a-r7.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r3.jpg" title="den-en-clinic-006a-r3.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a-r3.thumbnail.jpg" alt="den-en-clinic-006a-r3.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-003-mr05.jpg" title="den-en-clinic-003-mr05.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-003-mr05.thumbnail.jpg" alt="den-en-clinic-003-mr05.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-003-mr04.jpg" title="den-en-clinic-003-mr04.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-003-mr04.thumbnail.jpg" alt="den-en-clinic-003-mr04.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-0_1.jpg" title="den-en-clinic-0_1.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-0_1.thumbnail.jpg" alt="den-en-clinic-0_1.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-021ar1.jpg" title="den-en-clinic-021ar1.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-021ar1.thumbnail.jpg" alt="den-en-clinic-021ar1.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a.jpg" title="den-en-clinic-006a.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-006a.thumbnail.jpg" alt="den-en-clinic-006a.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-025-stair-r2.jpg" title="den-en-clinic-025-stair-r2.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-025-stair-r2.thumbnail.jpg" alt="den-en-clinic-025-stair-r2.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-025-stair-de.jpg" title="den-en-clinic-025-stair-de.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/den-en-clinic-025-stair-de.thumbnail.jpg" alt="den-en-clinic-025-stair-de.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/stair-012.jpg" title="stair-012.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/stair-012.thumbnail.jpg" alt="stair-012.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/stair-013.jpg" title="stair-013.jpg" rel="lightbox[146]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/stair-013.thumbnail.jpg" alt="stair-013.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2007/02/04/denen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Window Brick</title>
		<link>http://cwwang.com/2007/02/04/window-brick/</link>
		<comments>http://cwwang.com/2007/02/04/window-brick/#comments</comments>
		<pubDate>Mon, 05 Feb 2007 02:05:06 +0000</pubDate>
		<dc:creator>che-wei wang</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Objects]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://cwwang.com/wordpress/2007/02/04/window-brick/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://cwwang.com/wordpress/wp-content/uploads/brick-lineup-01.jpg" title="brick-lineup-01.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/brick-lineup-01.thumbnail.jpg" alt="brick-lineup-01.jpg" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-001-r01.jpg" title="windowbrick-001-r01.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-001-r01.thumbnail.jpg" alt="windowbrick-001-r01.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-001-r02.jpg" title="windowbrick-001-r02.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-001-r02.thumbnail.jpg" alt="windowbrick-001-r02.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-002-r01.jpg" title="windowbrick-002-r01.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-002-r01.thumbnail.jpg" alt="windowbrick-002-r01.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-002-r02.jpg" title="windowbrick-002-r02.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/windowbrick-002-r02.thumbnail.jpg" alt="windowbrick-002-r02.jpg" /></a></p>
<p><a href="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-02a.jpg" title="brick-wall-02a.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-02a.thumbnail.jpg" alt="brick-wall-02a.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-02b.jpg" title="brick-wall-02b.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-02b.thumbnail.jpg" alt="brick-wall-02b.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-03a.jpg" title="brick-wall-03a.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-03a.thumbnail.jpg" alt="brick-wall-03a.jpg" /></a><a href="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-03b.jpg" title="brick-wall-03b.jpg" rel="lightbox[131]" rel="lightbox"><img src="http://cwwang.com/wordpress/wp-content/uploads/brick-wall-03b.thumbnail.jpg" alt="brick-wall-03b.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cwwang.com/2007/02/04/window-brick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

