<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>

<channel>
	<title>sloArch &#187; Tutorials</title>
	<atom:link href="http://www.sloarch.com/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sloarch.com</link>
	<description>architecture in the real world</description>
	<lastBuildDate>Fri, 10 Sep 2010 14:30:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<!-- podcast_generator="Blubrry PowerPress/1.0.9" mode="advanced" entry="simple" -->
	<itunes:summary>Join us every week as we interview Cal Poly San Luis Obispo Architecture alumni and students and talk about the things that matter to us!</itunes:summary>
	<itunes:author>sloArch</itunes:author>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.sloarch.com/thestudio/TheStudioAlbumArt.jpg" />
	<itunes:owner>
		<itunes:name>sloArch</itunes:name>
		<itunes:email>thestudio@sloarch.com</itunes:email>
	</itunes:owner>
	<managingEditor>thestudio@sloarch.com (sloArch)</managingEditor>
	<copyright>2010 sloArch.com</copyright>
	<itunes:subtitle>the only podcast for Cal Poly students and alumni</itunes:subtitle>
	<itunes:keywords>CalPoly, San Luis Obispo, Architecture, Alumni, Students, Architect</itunes:keywords>
	<image>
		<title>sloArch &#187; Tutorials</title>
		<url>http://www.sloarch.com/thestudio/TheStudioAlbumArt.jpg</url>
		<link>http://www.sloarch.com/category/practice-matters/tutorials/</link>
	</image>
	<itunes:category text="Arts">
		<itunes:category text="Design" />
	</itunes:category>
	<itunes:category text="Business">
		<itunes:category text="Business News" />
	</itunes:category>
		<item>
		<title>Revit Families 102 &#8211; Revit Experts don&#8217;t Use Locks</title>
		<link>http://www.sloarch.com/2009/12/revit-families-102-revit-experts-dont-use-locks/</link>
		<comments>http://www.sloarch.com/2009/12/revit-families-102-revit-experts-dont-use-locks/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:30:13 +0000</pubDate>
		<dc:creator>Tim Alatorre</dc:creator>
				<category><![CDATA[Revit]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Revit Families]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.sloarch.com/?p=519</guid>
		<description><![CDATA[In May I published my picks for Best Revit Blogs on the Web.  Coming in at number 2 was The Revit Kid and Jeff&#8217;s Lock Noob Classic Thong.  I still try to read everything Jeff writes but I thought I might stir up a little controversy and make the argument that, contrary to what the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">In May I published my picks for <a title="Best Revit Blogs on the Web (May 2009)" href="http://www.sloarch.com/2009/05/best-revit-blogs-on-the-web/" target="_blank">Best Revit Blogs on the Web</a>.  Coming in at number 2 was <a title="The Revit Kid" href="http://therevitkid.blogspot.com/" target="_blank">The Revit Kid</a> and Jeff&#8217;s <a title="The Revit Kid - Lock Noob Classic Thong" href="http://www.cafepress.com/TheRevitKid.369615253" target="_blank">Lock Noob Classic Thong</a>.  I still try to read everything Jeff writes but I thought I might stir up a little controversy and make the argument that, contrary to what the thong says, a Revit expert is one who <span style="text-decoration: underline;">doesn&#8217;t</span> use locks.</p>
<p>I think that Jeff has it backwards.  In my experience the newcomer to Revit wants to lock everything.  I think the initial instinct is to not trust Revit and just lock things down.  Later when this user tries to change something they get a string of messages telling them constraints aren&#8217;t met and they end up getting frustrated and removing all the locks anyway.</p>
<p><img class="size-full wp-image-520 aligncenter" title="therevitkid-locknoobthong" src="http://www.sloarch.com/wp-content/uploads/2009/12/therevitkid-locknoobthong.jpg" alt="therevitkid-locknoobthong" width="475" height="420" /></p>
<p>I&#8217;m sure Jeff would argue that the Revit Expert knows how to use locks properly.  I would agree that as you experiment with Revit you learn when to lock and when not to lock.  With Revit family creation that time is <span style="text-decoration: underline;">only</span> as a last resort.</p>
<p>So what to do instead of locking?</p>
<ol>
<li><strong>Reference lines and planes</strong>:  Hosting and aligning geometry to reference lines and planes automatically creates a strong connection between them.  The link isn&#8217;t quite as strong as a lock, under some conditions it will detach.  But for most purposes it works just fine.  Align geometry to a reference plane and flex your model.  You&#8217;ll be surprised how often this works.  Carl Gibson has a great <a title="Revit TotD - 7.16.09: Is Reference Is Useful" href="http://revittotd.com/07/499" target="_blank">overview of the types of Reference lines</a>.</li>
<li><strong>Parameters</strong>:  Instead of locking a dimension to a fixed dimension assign a parameter to it.  Using parameters gives you flexibility to easily change things later, and more importantly it lets the user of the family know what&#8217;s going on inside it without having to edit the family.  For example, create a a parameter called <em>Table Thickness</em> and give it the formula 0&#8242; 2&#8243;.  This tells the user that the Table is 2&#8243; thick and locks it from changing.  Note that locking a parameter with a formula locks it across all types in the family.</li>
</ol>
<p>Locking does have it&#8217;s place, but I always try to make a family work without locks first.</p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.sloarch.com/2009/12/revit-families-102-revit-experts-dont-use-locks/&amp;layout=standard&amp;show_faces=true&amp;width=260&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:260px; height:26px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.sloarch.com/2009/12/revit-families-102-revit-experts-dont-use-locks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Revit Families 401 – Data Validation</title>
		<link>http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/</link>
		<comments>http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 15:30:43 +0000</pubDate>
		<dc:creator>Tim Alatorre</dc:creator>
				<category><![CDATA[Revit]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[BIM Management]]></category>
		<category><![CDATA[Revit Families]]></category>
		<category><![CDATA[Revit Formulas]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sloarch.com/?p=491</guid>
		<description><![CDATA[As I mentioned in a follow up comment to Revit Families 103 – Formula Basics, Revit still doesn&#8217;t allow you to do data validation on values or formulas in families or on table data. Still, you can build some functionality into your families to ensure that a value never exceeds a specified range or create warnings for the user of your [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in a follow up comment to <a title="Revit Families 103 - Formula Basics" href="http://www.sloarch.com/2009/10/revit-families-103-formula-basics/" target="_self">Revit Families 103 – Formula Basics</a>, Revit still doesn&#8217;t allow you to do data validation on values or formulas in families or on table data.</p>
<p>Still, you can build some functionality into your families to ensure that a value never exceeds a specified range or create warnings for the user of your family.</p>
<p>Lets start with a simple example.  In the plan view below I am showing a basic table.</p>
<p><a rel="attachment wp-att-504" href="http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/screen1/"><img class="aligncenter size-medium wp-image-504" title="Screen1" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen1-550x520.jpg" alt="Screen1" width="550" height="520" /></a></p>
<p>Lets say in this example that we never want the table&#8217;s width to be greater than 1/2 the depth.  We have a few choices.</p>
<ol>
<li>Don&#8217;t do anything</li>
<li>Display an error message for the user</li>
<li>Default to another value</li>
</ol>
<p><span id="more-491"></span></p>
<h3 style="font-size: 1.17em;">Don&#8217;t do Anything</h3>
<p>By default your parameters allow the user to input any value they want.  You can set up relationships between parameters using formulas but the results are still dependent on user entered values.</p>
<p>When creating families it&#8217;s good practice to set up the basic types that you expect the user  will need.  This will limit the amount they need to edit the parameter values.  Understanding when to use instance versus type parameters will also limit problems in the future and make the family easier to use.</p>
<p>A well designed family should be clear and easily understandable by someone other than the person who made it.  Some things I look for are:</p>
<ul>
<li>Model geometry is hosted to reference plans and lines that have meaningful names</li>
<li>Well named parameters grouped under the appropriate categories</li>
<li>Parameters are assigned to the geometry in a logical sequence</li>
<li>Model and dimension locks are kept to a minimum</li>
</ul>
<p>Even in a well designed family there will be times that a user will be confused as to why a model is breaking, or there are conditions that must be met to keep the model valid in the real world that must be maintained.  For example, a manufacturer won&#8217;t make a table longer than 8 feet long.  With the default model there is no way to tell the user that 8 feet is the maximum length or provide clarification as to why the model broke when value &#8220;x&#8221; exceeded value &#8220;y&#8221;.  So what can we do?</p>
<h3 style="font-size: 1.17em;">Display an Error Message</h3>
<p>The easiest thing to do is to give the user a message.  Start by creating a text parameter, I placed my error message in the Text category so that it&#8217;s at the top of the Family Types browser.</p>
<p>Back to our example of not wanting the table&#8217;s width to be greater than 1/2 the depth.  To alert the user to this we create the following formula for our new text parameter.</p>
<p style="padding-left: 30px; "><em>=if(TableWidth &gt; (0.5 * TableDepth), &#8220;TableDepth&#8221;, &#8220;OK&#8221;)</em></p>
<p>Notice how I am mixing parameter names, numbers and text strings?  Pretty cool right?  If our table with is greater then half the table depth then the user gets the message &#8220;TableDepth&#8221;.</p>
<p><a rel="attachment wp-att-509" href="http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/screen6-2/"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Screen6" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen61-550x456.jpg" alt="Screen6" width="550" height="456" /></a>Of course in the real world you give a more descriptive message like &#8220;Table width can not exceed half the depth&#8221;.  But I wanted to make sure the formula fit in my screen shots.</p>
<p>If the Width is less than half the Depth then the user gets a simple &#8220;OK&#8221; message.</p>
<p><a rel="attachment wp-att-508" href="http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/screen5/"><img class="aligncenter size-medium wp-image-508" title="Screen5" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen5-550x456.jpg" alt="Screen5" width="550" height="456" /></a></p>
<p>I really like this technique.  You can create nested error messages to handle different scenarios too.</p>
<p style="padding-left: 30px; "><em>=if(TableWidth &gt; (0.5 * TableDepth), &#8220;Table is too wide&#8221;, (<em>if(TableWidth &lt; (2&#8242;-0&#8243;), &#8220;Table width must be greater than 2 feet&#8221;, &#8220;OK&#8221;)</em>))</em></p>
<h3 style="font-size: 1.17em;">Default to Another Value</h3>
<p>The guys in my office will point out that this option can be annoying because it overrides the value the user inputs and may cause confusion.  Sometimes inputing a value out of range will break a model completely so this method is necessary to prevent that from occuring.  I recommend using this method in conjunction with the error message to let your users know what you did when they weren&#8217;t looking.</p>
<p>In order to build this functionality you need to add some complexity to how your family is structured.  In the examples above the parameters were directly linked to a piece of geometry.  We need to insert some logic between what the user inputs and what the model does.  To make this work we create an additional set of parameters.</p>
<p style="text-align: center; "><img class="size-full wp-image-502 aligncenter" title="Screen2" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen2.jpg" alt="Screen2" width="531" height="509" /></p>
<p>The parameters under the <em>Dimensions</em> category are what the user modifies however the parameters under the <em>Analytical Model</em> are what actually control the geometry.</p>
<p><a rel="attachment wp-att-505" href="http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/screen3/"><img class="aligncenter size-medium wp-image-505" title="Screen3" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen3-550x520.jpg" alt="Screen3" width="550" height="520" /></a></p>
<p>Now we have some flexibility to insert control logic.  We can now assign the following formula to TableWidthActual.</p>
<p style="padding-left: 30px; "><em>=if(TableWidth &gt; (0.5 * TableDepth), (0.5 * TableDepth), TableWidth)</em></p>
<p>This formula checks the values the user entered for TableWidth and TableDepth.  If TableWidth exceeds half the depth then the formula ignores the user entered width and defaults to half the depth.  Otherwise the formula passes the user entered width through.  (NOTE:  The formula in the image below is incorrect)</p>
<p><a rel="attachment wp-att-506" href="http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/screen4/"><img class="aligncenter size-medium wp-image-506" title="Screen4" src="http://www.sloarch.com/wp-content/uploads/2009/12/Screen4-550x456.jpg" alt="Screen4" width="550" height="456" /></a></p>
<p>The ability to control the values your users enter is powerful.  Use it with caution, and like I said earlier, creating an error message like this is helpful.</p>
<p style="padding-left: 30px; "><em>=if(not(TableWidth = TableWidthActual), &#8220;Your width was changed because it was too big&#8221;, &#8220;OK&#8221;)</em></p>
<p>If you have any questions leave them in the comments.  Thanks Faekk for the inspiration for this article.</p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/&amp;layout=standard&amp;show_faces=true&amp;width=260&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:260px; height:26px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.sloarch.com/2009/12/revit-families-401-%e2%80%93-data-validation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Revit Families 103 &#8211; Formula Basics</title>
		<link>http://www.sloarch.com/2009/10/revit-families-103-formula-basics/</link>
		<comments>http://www.sloarch.com/2009/10/revit-families-103-formula-basics/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 16:38:31 +0000</pubDate>
		<dc:creator>Tim Alatorre</dc:creator>
				<category><![CDATA[Revit]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Revit Families]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.sloarch.com/?p=459</guid>
		<description><![CDATA[I love formulas, they let you do some really fun things.  The formula I mentioned in my last post calculates the overall width of a family taking into account if the family has one or two loops toggled to be visible.  Formulas let you create a family that is truly flexible and has a lot [...]]]></description>
			<content:encoded><![CDATA[<p>I love formulas, they let you do some really fun things.  The formula I mentioned <a title="Revit Families 302 - Naming and Grouping Parameters" href="http://www.sloarch.com/2009/10/revit-families-302-naming-and-grouping-parameters" target="_blank">in my last post</a> calculates the overall width of a family taking into account if the family has one or two loops toggled to be visible.  Formulas let you create a family that is truly flexible and has a lot of built in intelligence and a few safeguards.  They can also make using the family a lot easier to use by maintaining relationships between elements or calculating details about the family like area, volume, etc.</p>
<p>I do some pretty advanced stuff with formulas, but we need to get the basics under our belt first.  Most of this post is from the Revit Help files.  To save you the trouble of looking it up, I&#8217;m putting it here.</p>
<h3>Basic opperators:</h3>
<table border="0">
<tbody>
<tr>
<td>+</td>
<td>Add: 15&#8242; + 0&#8242;  6&#8243; + Length</td>
<td>sin</td>
<td>Sine: sin(75)</td>
</tr>
<tr>
<td>-</td>
<td>Subtract: 1&#8242; 2&#8243; &#8211; Width</td>
<td>cos</td>
<td>Cosine</td>
</tr>
<tr>
<td>*</td>
<td>Multiply: Length * Width</td>
<td>tan</td>
<td>Tangent</td>
</tr>
<tr>
<td>/</td>
<td>Divide: Length / 8</td>
<td>asin</td>
<td>Arcsine</td>
</tr>
<tr>
<td>^</td>
<td>Exponent: x^y, x raised to the y power</td>
<td>acos</td>
<td>Arccosine</td>
</tr>
<tr>
<td>log</td>
<td>Logarithm</td>
<td>atan</td>
<td>Arctangent</td>
</tr>
<tr>
<td>sqrt</td>
<td>Square root: sqrt(64)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>exp</td>
<td>E raised to an x power: exp(2)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>abs</td>
<td>Absolute Value: abs(-2)</td>
<td></td>
<td><span style="font-size: medium;"><span style="line-height: 19px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"><strong><span style="font-size: small;"><span style="font-weight: normal; line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br />
</span></span></strong></span></span></td>
</tr>
</tbody>
</table>
<h3>Conditional Statements</h3>
<div>
<p>A conditional  statement uses this structure:</p>
<p><strong>IF (&lt;condition&gt;, &lt;result-if-true&gt;,  &lt;result-if-false&gt;)</strong></p>
<p>This means that the  values entered for the parameter depend on whether the condition is satisfied  (true) or not satisfied (false). If the condition is true, the software returns  the true value. If the condition is false, it returns the false value.</p>
<h4>Supported Conditional Operators</h4>
<table border="0">
<tbody>
<tr>
<td>&lt;</td>
<td>Less Than</td>
</tr>
<tr>
<td>&gt;</td>
<td>Greater Than</td>
</tr>
<tr>
<td>=</td>
<td>Equal to</td>
</tr>
<tr>
<td>/</td>
<td>Divide: Length / 8</td>
</tr>
<tr>
<td>AND</td>
<td>Both statements are true</td>
</tr>
<tr>
<td>OR</td>
<td>One of the statements is true</td>
</tr>
<tr>
<td>NOT</td>
<td>Statement is false</td>
</tr>
</tbody>
</table>
<p>Conditional  statements can contain numeric values, numeric parameter names, and Yes/No  parameters.</p>
<p>Currently, &lt;= and &gt;= are not implemented. To express such a comparison,  you can use a logical NOT. For example, a&lt;=b can be entered as NOT(a&gt;b).</p>
<h4>Sample Conditional Statements</h4>
<p><strong>Simple IF Statement</strong><br />
IF (Length &lt; 30&#8242;, 2&#8242; 6&#8243;, 4&#8242;)</p>
<p><strong>Formula That Returns Strings</strong><br />
IF (Length &gt; 30&#8242;, “This thing is tall”, “This thing is short”)</p>
<p><em><strong><span style="font-style: normal;">Using logical AND</span><br />
</strong></em>IF ( AND (x = 1 , y = 2), 8 , 3 )</p>
<p><em><strong><span style="font-style: normal;">Using logical OR</span></strong><br />
</em>IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )</p>
<p><em><strong><span style="font-style: normal;">Nested IF statements</span><br />
</strong></em>IF ( Length &lt; 35&#8242; , 2&#8242; 6&#8243; , IF (  Length &lt; 45&#8242; , 3&#8242; , IF ( Length &lt; 55&#8242; , 5&#8242; , 8&#8242; ) ) )</p>
<p><em><strong><span style="font-style: normal;">IF  with Yes/No condition<br />
</span></strong></em>Length &gt; 40 (Note that both the condition and  the results are implied.)</p>
</div>
<h3>Some Extra Stuff</h3>
<ul>
<li>Revit allows you to use integers, decimals, fractional values, and parameter names in formulas.  You can enter dimensions in feet and inches just like you do in dimension strings.  Remember that parameter names are case sensitive.</li>
<li>You can enter a value in a formula essentially locking it across all types.  This is an alternative to locking the dimension in the model.</li>
<li>Instance and Type parameters can not be used in the same formula.</li>
</ul>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.sloarch.com/2009/10/revit-families-103-formula-basics/&amp;layout=standard&amp;show_faces=true&amp;width=260&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:260px; height:26px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.sloarch.com/2009/10/revit-families-103-formula-basics/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Revit Families 302 &#8211; Naming and Grouping Parameters</title>
		<link>http://www.sloarch.com/2009/10/revit-families-302-naming-and-grouping-parameters/</link>
		<comments>http://www.sloarch.com/2009/10/revit-families-302-naming-and-grouping-parameters/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 16:35:25 +0000</pubDate>
		<dc:creator>Tim Alatorre</dc:creator>
				<category><![CDATA[Revit]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Revit Families]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sloarch.com/?p=458</guid>
		<description><![CDATA[I started a post a couple weeks ago on tips for creating families in Revit but I didn&#8217;t get very far.   Our friends over at Inside the Factory are more disciplined bloggers than I and beat me to it. Erik Egbertson put together a great post of Family Editor Tips.  He talks about flexing a family, placing [...]]]></description>
			<content:encoded><![CDATA[<p>I started a post a couple weeks ago on tips for creating families in Revit but I didn&#8217;t get very far.   Our friends over at <a title="Inside the Factory" href="http://insidethefactory.typepad.com" target="_blank">Inside the Factory</a> are more disciplined bloggers than I and beat me to it. <a title="Eric Egbertson biography" href="http://insidethefactory.typepad.com/my_weblog/about-the-authors.html" target="_blank">Erik Egbertson</a> put together a great post of <a title="Familiy Editor Tips" href="http://insidethefactory.typepad.com/my_weblog/2009/10/familiy-editor-tips.html" target="_blank">Family Editor Tips</a>.  He talks about flexing a family, placing Constraints Consistently, not over constraining, avoiding chaining references, shortcuts to duplicating elements, shortcuts to creating dimensions, labeling shortcuts, and a couple other tips.</p>
<h3 style="font-size: 1.17em;">Initial Setup and Naming of Family Parameters</h3>
<p>One thing that Eric didn&#8217;t cover in too much depth was naming and grouping of parameters.  I also use Eric&#8217;s programming syntax method for naming parameters except I usually capitalize the first letter.  It doesn&#8217;t make much difference really, I just like the look of it in my parameter list.  For example, &#8220;WindowTrimWidth&#8221; instead of &#8220;windowTrimWidth&#8221;.  Although Revit supports parameter names with spaces, I think having your parameters as one &#8220;word&#8221; makes writing formulas easier.</p>
<p>The first thing I do when setting up a new family is place all of my reference planes, dimensions and parameters.  I flex the model with the reference planes and make sure it works.  If it does then I&#8217;ll start modeling the geometry.</p>
<p>When I first add parameters I don&#8217;t write out the whole name for parameters that I know will involve some calculations.   Sometimes formulas can become quite complex:</p>
<blockquote><p>if(and(LoopOne, LoopTwo), DepthDefault, if(or(LoopOne, LoopTwo),DepthDefault- DepthBikeLoop, Diameter))</p></blockquote>
<p>Make one error in typing this out and you have a hard time debugging it.  I start with naming my parameters with shortened names like LO, LT, DD, etc.  This makes the structure easier to see.</p>
<blockquote><p>if(and(LO, LT), DD, if(or(LO, LT), DD &#8211; DBL, D))</p></blockquote>
<p>Once I know everything is working I rename the parameters and they are automatically updated in my formulas.</p>
<h3 style="font-size: 1.17em;">Grouping of Family Parameters</h3>
<p>Currently Revit only allows us to categorize parameters in a set list.</p>
<ul>
<li>Analysis Results</li>
<li>Analytical Model</li>
<li>Constraints</li>
<li>Construction</li>
<li>Dimensions</li>
<li>Electrical</li>
<li>Electrical &#8211; Lighting</li>
<li>Electrical &#8211; Loads</li>
<li>Electrical Engineering</li>
<li>Energy Analysis</li>
<li>Fire Protection</li>
<li>Graphics</li>
<li>Green Building Properties</li>
<li>Identiy Data</li>
<li>IFC Parameters</li>
<li>Layers</li>
<li>Materials and Finishes</li>
<li>Mechanical</li>
<li>Mechanical &#8211; Airflow</li>
<li>Mechanical &#8211; Loads</li>
<li>Model Properties</li>
<li>Other</li>
<li>Phasing</li>
<li>Photometrics</li>
<li>Plumbing</li>
<li>Rebar Set</li>
<li>Slab Shape Edit</li>
<li>Structural</li>
<li>Structural Analysis</li>
<li>Text</li>
<li>Title Text</li>
</ul>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Analysis Results</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Analytical Model</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Constraints</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Construction</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Dimensions</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Electrical</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Electrical &#8211; Lighting</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Electrical &#8211; Loads</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Electrical Engineering</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Energy Analysis</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Fire Protection</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Graphics</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Green Building Properties</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Identiy Data</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">IFC Parameters</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Layers</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Materials and Finishes</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Mechanical</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Mechanical &#8211; Airflow</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Mechanical &#8211; Loads</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Model Properties</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Other</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Phasing</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Photometrics</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Plumbing</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Rebar Set</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Slab Shape Edit</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Structural</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Structural Analysis</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Text</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 504px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Title Text</div>
<p>I&#8217;m glad that Revit doesn&#8217;t let us customize this list, it would just complicate things even more.  Eric reminds us to &#8220;choose a pertinent parameter group for your parameters,&#8221; but what does that mean?  Really, it depends on your office.  I would recommend creating a standard.</p>
<p>I discourage the use of the &#8220;<strong>Other</strong>&#8221; category because it ends up being a trash bin holding everything.  &#8221;<strong>Dimensions</strong>&#8221; is obvious, but I only put parameters in this group that are relevant to the user of the family.  I use &#8220;<strong>Analytical Model</strong>&#8221; for any behind the scenes calculations or dimensions that the user of the model doesn&#8217;t need to bother with; unit conversions, dimension calculations to keep the model from breaking, etc.  I have also seen &#8220;<strong>Model Properties</strong>&#8221; used for this. <strong> </strong>If I have toggles for the visibility of different components I put those under &#8220;<strong>Construction</strong>&#8220;, if I have a toggle for something that is graphical only, like in an annotation family, I put that under &#8220;<strong>Graphics</strong>&#8220;.</p>
<p>Tomorrow we will look at using formulas in families.</p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.sloarch.com/2009/10/revit-families-302-naming-and-grouping-parameters/&amp;layout=standard&amp;show_faces=true&amp;width=260&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:260px; height:26px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.sloarch.com/2009/10/revit-families-302-naming-and-grouping-parameters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revit Tip: Easy Wall Poche</title>
		<link>http://www.sloarch.com/2009/09/revit-tip-easy-wall-poche/</link>
		<comments>http://www.sloarch.com/2009/09/revit-tip-easy-wall-poche/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 23:00:15 +0000</pubDate>
		<dc:creator>Tim Alatorre</dc:creator>
				<category><![CDATA[Revit]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.sloarch.com/?p=388</guid>
		<description><![CDATA[This is the first of what is hopefully many more Revit Tips to come.  Something that I&#8217;ve seen in some projects I&#8217;ve worked on lately is using filled regions to poché walls and floors in section views.  DON&#8217;T DO THIS! Besides taking a large amount of time to initially create, filled regions are not going to [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first of what is hopefully many more Revit Tips to come.  Something that I&#8217;ve seen in some projects I&#8217;ve worked on lately is using filled regions to poché walls and floors in section views.  <strong>DON&#8217;T DO THIS! </strong> Besides taking a large amount of time to initially create, filled regions are not going to update as you add or remove walls, windows, etc.  So how do you poché your walls?  Easy.</p>
<p><div id="attachment_390" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-01.jpg"><img class="size-medium wp-image-390  " title="Revit-Section-01" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-01-550x278.jpg" alt="Default Revit Sections Are Flat!" width="550" height="278" /></a><p class="wp-caption-text">Default Revit Sections Are Flat!</p></div></p>
<p>There are two tools that you will use to make this happen, <strong>Visibility/Graphic Overrides</strong> and the <strong>Join Tool</strong>.</p>
<p>I think the reason that you would try to used filled regions to poché walls is because you don&#8217;t fully understand how Revit displays objects.  Revit uses a hierarchy of graphic settings to determine what to display.</p>
<p>On the most general level are the project&#8217;s Object Styles.  You reach these by going to Manage -&gt; Settings -&gt; Object Styles.  I could write a number of essays on what you can do here, but right now we will just focus on the Walls category.  The main walls category by default has 3 sub-categories.  For these 4 category/sub-categories you can set the line weights/color/pattern for projection and cut views as well as the default material.  This is where we could bump up the line weight for cut walls to make our elevations read clearer.</p>
<p><span id="more-388"></span></p>
<p><div id="attachment_389" class="wp-caption alignright" style="width: 160px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Material-Definitions.jpg"><img class="size-thumbnail wp-image-389   " title="Revit-Material Definitions" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Material-Definitions-150x150.jpg" alt="Using Material Cut and Surface Patterns" width="150" height="150" /></a><p class="wp-caption-text">Using Material Cut and Surface Patterns</p></div></p>
<p>The category parameters are where you will want to define the defaults for your project.  Materials definitions allow you to define a Cut Pattern.  In a default project walls have no fill pattern, so in your section your walls will have a white fill when printed.  If you had a masonry wall you might want the cut pattern to reflect that.  Material patterns can be a lot of fun as I show in the screenshot to the right.</p>
<p>Revit offers a lot of control over what is displayed.  So far we have just discussed project wide settings.  The next level is view specific.  Each view in Revit allows you to override these general settings.  You might for example want your masonry cut pattern to display in a detail view or large scale sections, but for design presentations or small scale sections you want to override those patterns and show a solid color poché.  That&#8217;s where Visibility/Graphic Overrides come in.</p>
<p>To access Visibility/Graphic Overrides use the key shortcut &#8220;VG&#8221; or right click and select View Properties, then edit V/G Overrides from there.</p>
<p><div id="attachment_394" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Vis-Graphic_Override.jpg"><img class="size-medium wp-image-394  " title="Revit-Vis-Graphic_Override" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Vis-Graphic_Override-550x425.jpg" alt="Visibility / Graphic Override " width="550" height="425" /></a><p class="wp-caption-text">Visibility / Graphic Override Dialog</p></div></p>
<p>The V/G Overrides dialog looks like the Object Styles dialog except it has an extra tab &#8220;Filters.&#8221;  (I&#8217;ll discuss filters in a nother post)  Remember, the changes we make in the V/G Overrides dialog are specific to this view and Object Styles are the defaults for your entire project.  This is where we can create our view specific poché.  Click the Override under Cut -&gt; Patterns then select a solid pattern fill and set the color for the fill.</p>
<p><div id="attachment_395" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-02.jpg"><img class="size-medium wp-image-395 " title="Revit-Section-02" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-02-550x278.jpg" alt="Building Section With Wall Cut Pattern override" width="550" height="278" /></a><p class="wp-caption-text">Building Section With Wall Cut Pattern override</p></div></p>
<p>Now, we&#8217;re getting closer, but some designers like to have a monolithic look to their sections and not see the divisions between foundation, floor, walls, and roof.</p>
<p><div id="attachment_402" class="wp-caption aligncenter" style="width: 245px"><img class="size-full wp-image-402 " title="Revit-Join-Tool" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Join-Tool.jpg" alt="The Join Tool" width="235" height="100" /><p class="wp-caption-text">The Join Tool</p></div></p>
<p>This is an easy fix with the join tool!</p>
<p><div id="attachment_403" class="wp-caption alignleft" style="width: 255px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Join-Tool-01.jpg"><img class="size-medium wp-image-403     " title="Revit-Join-Tool-01" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Join-Tool-01-364x550.jpg" alt="Using the Join tool, join the walls floor and roof" width="245" height="380" /></a><p class="wp-caption-text">Using the Join tool, join the walls floor and roof</p></div></p>
<p><div id="attachment_404" class="wp-caption alignright" style="width: 255px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Join-Tool-02.jpg"><img class="size-medium wp-image-404     " title="Revit-Join-Tool-02" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Join-Tool-02-364x550.jpg" alt="After the join tool things look much cleaner." width="245" height="380" /></a><p class="wp-caption-text">After the join tool things look much cleaner.</p></div></p>
<p>There we go.  This section is looking a lot better and it will update when move, add, or remove elements.  The one thing that may require some touch up are our element joins.  New elements will need to be told what to join with.</p>
<p>Don&#8217;t forget to save these settings to your view and project templates!</p>
<p><div id="attachment_418" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-03.jpg"><img class="size-medium wp-image-418" title="Revit-Section-03" src="http://www.sloarch.com/wp-content/uploads/2009/09/Revit-Section-03-550x278.jpg" alt="Finished Section" width="550" height="278" /></a><p class="wp-caption-text">Finished Section</p></div></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.sloarch.com/2009/09/revit-tip-easy-wall-poche/&amp;layout=standard&amp;show_faces=true&amp;width=260&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:260px; height:26px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.sloarch.com/2009/09/revit-tip-easy-wall-poche/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
