mirror of
https://github.com/jeremytammik/RevitSdkSamples.git
synced 2026-08-18 19:30:09 +00:00
1344 lines
90 KiB
HTML
1344 lines
90 KiB
HTML
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
|
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
xmlns:w="urn:schemas-microsoft-com:office:word"
|
|
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
|
xmlns="http://www.w3.org/TR/REC-html40">
|
|
|
|
<head>
|
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|
<meta name=ProgId content=Word.Document>
|
|
<meta name=Generator content="Microsoft Word 12">
|
|
<meta name=Originator content="Microsoft Word 12">
|
|
<link rel=File-List href="harry_files/filelist.xml">
|
|
<link rel=Edit-Time-Data href="harry_files/editdata.mso">
|
|
<!--[if !mso]>
|
|
<style>
|
|
v\:* {behavior:url(#default#VML);}
|
|
o\:* {behavior:url(#default#VML);}
|
|
w\:* {behavior:url(#default#VML);}
|
|
.shape {behavior:url(#default#VML);}
|
|
</style>
|
|
<![endif]--><!--[if gte mso 9]><xml>
|
|
<o:DocumentProperties>
|
|
<o:Author>Jeremy Tammik</o:Author>
|
|
<o:Template>NormalEmail.dotm</o:Template>
|
|
<o:Revision>1</o:Revision>
|
|
<o:TotalTime>1</o:TotalTime>
|
|
<o:Created>2009-12-23T10:00:00Z</o:Created>
|
|
<o:Pages>1</o:Pages>
|
|
<o:Words>1318</o:Words>
|
|
<o:Characters>7518</o:Characters>
|
|
<o:Lines>62</o:Lines>
|
|
<o:Paragraphs>17</o:Paragraphs>
|
|
<o:CharactersWithSpaces>8819</o:CharactersWithSpaces>
|
|
<o:Version>12.00</o:Version>
|
|
</o:DocumentProperties>
|
|
</xml><![endif]-->
|
|
<link rel=themeData href="harry_files/themedata.thmx">
|
|
<link rel=colorSchemeMapping href="harry_files/colorschememapping.xml">
|
|
<!--[if gte mso 9]><xml>
|
|
<w:WordDocument>
|
|
<w:Zoom>0</w:Zoom>
|
|
<w:TrackMoves/>
|
|
<w:TrackFormatting/>
|
|
<w:ValidateAgainstSchemas/>
|
|
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
|
|
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
|
|
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
|
|
<w:DoNotPromoteQF/>
|
|
<w:LidThemeOther>EN-GB</w:LidThemeOther>
|
|
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
|
|
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
|
|
<w:Compatibility>
|
|
<w:DoNotExpandShiftReturn/>
|
|
<w:BreakWrappedTables/>
|
|
<w:SplitPgBreakAndParaMark/>
|
|
<w:DontVertAlignCellWithSp/>
|
|
<w:DontBreakConstrainedForcedTables/>
|
|
<w:DontVertAlignInTxbx/>
|
|
<w:Word11KerningPairs/>
|
|
<w:CachedColBalance/>
|
|
</w:Compatibility>
|
|
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
|
<m:mathPr>
|
|
<m:mathFont m:val="Cambria Math"/>
|
|
<m:brkBin m:val="before"/>
|
|
<m:brkBinSub m:val="--"/>
|
|
<m:smallFrac m:val="off"/>
|
|
<m:dispDef/>
|
|
<m:lMargin m:val="0"/>
|
|
<m:rMargin m:val="0"/>
|
|
<m:defJc m:val="centerGroup"/>
|
|
<m:wrapIndent m:val="1440"/>
|
|
<m:intLim m:val="subSup"/>
|
|
<m:naryLim m:val="undOvr"/>
|
|
</m:mathPr></w:WordDocument>
|
|
</xml><![endif]--><!--[if gte mso 9]><xml>
|
|
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
|
|
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
|
|
LatentStyleCount="267">
|
|
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
|
|
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
|
|
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
|
|
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
|
|
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
|
|
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
|
|
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
|
|
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
|
|
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
|
|
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
|
|
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Table Grid"/>
|
|
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
|
|
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
|
|
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
|
|
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
|
|
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
|
|
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
|
|
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light List Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
|
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
|
|
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
|
|
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
|
|
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
|
|
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
|
|
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
|
|
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
|
|
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
|
|
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
|
|
</w:LatentStyles>
|
|
</xml><![endif]-->
|
|
<style>
|
|
<!--
|
|
/* Font Definitions */
|
|
@font-face
|
|
{font-family:"Cambria Math";
|
|
panose-1:2 4 5 3 5 4 6 3 2 4;
|
|
mso-font-charset:0;
|
|
mso-generic-font-family:roman;
|
|
mso-font-pitch:variable;
|
|
mso-font-signature:-1610611985 1107304683 0 0 159 0;}
|
|
@font-face
|
|
{font-family:Calibri;
|
|
panose-1:2 15 5 2 2 2 4 3 2 4;
|
|
mso-font-charset:0;
|
|
mso-generic-font-family:swiss;
|
|
mso-font-pitch:variable;
|
|
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
|
|
@font-face
|
|
{font-family:Tahoma;
|
|
panose-1:2 11 6 4 3 5 4 4 2 4;
|
|
mso-font-charset:0;
|
|
mso-generic-font-family:swiss;
|
|
mso-font-pitch:variable;
|
|
mso-font-signature:1627400839 -2147483648 8 0 66047 0;}
|
|
/* Style Definitions */
|
|
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
|
{mso-style-unhide:no;
|
|
mso-style-qformat:yes;
|
|
mso-style-parent:"";
|
|
margin:0in;
|
|
margin-bottom:.0001pt;
|
|
mso-pagination:widow-orphan;
|
|
font-size:11.0pt;
|
|
font-family:"Calibri","sans-serif";
|
|
mso-fareast-font-family:Calibri;
|
|
mso-fareast-theme-font:minor-latin;
|
|
mso-bidi-font-family:"Times New Roman";}
|
|
a:link, span.MsoHyperlink
|
|
{mso-style-noshow:yes;
|
|
mso-style-priority:99;
|
|
color:blue;
|
|
text-decoration:underline;
|
|
text-underline:single;}
|
|
a:visited, span.MsoHyperlinkFollowed
|
|
{mso-style-noshow:yes;
|
|
mso-style-priority:99;
|
|
color:purple;
|
|
text-decoration:underline;
|
|
text-underline:single;}
|
|
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
|
|
{mso-style-noshow:yes;
|
|
mso-style-priority:99;
|
|
mso-style-link:"Balloon Text Char";
|
|
margin:0in;
|
|
margin-bottom:.0001pt;
|
|
mso-pagination:widow-orphan;
|
|
font-size:8.0pt;
|
|
font-family:"Tahoma","sans-serif";
|
|
mso-fareast-font-family:Calibri;
|
|
mso-fareast-theme-font:minor-latin;}
|
|
span.BalloonTextChar
|
|
{mso-style-name:"Balloon Text Char";
|
|
mso-style-noshow:yes;
|
|
mso-style-priority:99;
|
|
mso-style-unhide:no;
|
|
mso-style-locked:yes;
|
|
mso-style-link:"Balloon Text";
|
|
font-family:"Tahoma","sans-serif";
|
|
mso-ascii-font-family:Tahoma;
|
|
mso-hansi-font-family:Tahoma;
|
|
mso-bidi-font-family:Tahoma;}
|
|
span.EmailStyle19
|
|
{mso-style-type:personal;
|
|
mso-style-noshow:yes;
|
|
mso-style-unhide:no;
|
|
font-family:"Calibri","sans-serif";
|
|
mso-ascii-font-family:Calibri;
|
|
mso-hansi-font-family:Calibri;
|
|
color:windowtext;}
|
|
.MsoChpDefault
|
|
{mso-style-type:export-only;
|
|
mso-default-props:yes;
|
|
font-size:10.0pt;
|
|
mso-ansi-font-size:10.0pt;
|
|
mso-bidi-font-size:10.0pt;}
|
|
@page Section1
|
|
{size:8.5in 11.0in;
|
|
margin:1.0in 1.0in 1.0in 1.0in;
|
|
mso-header-margin:.5in;
|
|
mso-footer-margin:.5in;
|
|
mso-paper-source:0;}
|
|
div.Section1
|
|
{page:Section1;}
|
|
-->
|
|
</style>
|
|
<!--[if gte mso 10]>
|
|
<style>
|
|
/* Style Definitions */
|
|
table.MsoNormalTable
|
|
{mso-style-name:"Table Normal";
|
|
mso-tstyle-rowband-size:0;
|
|
mso-tstyle-colband-size:0;
|
|
mso-style-noshow:yes;
|
|
mso-style-priority:99;
|
|
mso-style-qformat:yes;
|
|
mso-style-parent:"";
|
|
mso-padding-alt:0in 5.4pt 0in 5.4pt;
|
|
mso-para-margin:0in;
|
|
mso-para-margin-bottom:.0001pt;
|
|
mso-pagination:widow-orphan;
|
|
font-size:10.0pt;
|
|
font-family:"Times New Roman","serif";}
|
|
</style>
|
|
<![endif]-->
|
|
</head>
|
|
|
|
<body lang=EN-GB link=blue vlink=purple style='tab-interval:.5in'>
|
|
|
|
<div class=Section1>
|
|
|
|
<p class=MsoNormal style='margin-left:120.0pt;text-indent:-120.0pt;tab-stops:
|
|
120.0pt;mso-layout-grid-align:none;text-autospace:none'><b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>From:<span style='mso-tab-count:
|
|
1'>���������������������������������������� </span></span></b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Harry Mattison<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='margin-left:120.0pt;text-indent:-120.0pt;tab-stops:
|
|
120.0pt;mso-layout-grid-align:none;text-autospace:none'><b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Sent:<span style='mso-tab-count:
|
|
1'>������������������������������������������ </span></span></b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Wednesday, December 23, 2009
|
|
04:26<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='margin-left:120.0pt;text-indent:-120.0pt;tab-stops:
|
|
120.0pt;mso-layout-grid-align:none;text-autospace:none'><b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>To:<span style='mso-tab-count:
|
|
1'>���������������������������������������������� </span></span></b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Anthony Hauck; Jeremy Tammik;
|
|
Scott Conover<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='margin-left:120.0pt;text-indent:-120.0pt;tab-stops:
|
|
120.0pt;mso-layout-grid-align:none;text-autospace:none'><b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Subject:<span
|
|
style='mso-tab-count:1'>������������������������������������ </span></span></b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>playing pool with
|
|
FindReferencesByDirection <o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='margin-left:120.0pt;text-indent:-120.0pt;tab-stops:
|
|
120.0pt;mso-layout-grid-align:none;text-autospace:none'><b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>Attachments:<span
|
|
style='mso-tab-count:1'>������������������������� </span></span></b><span
|
|
style='mso-bidi-font-family:Calibri;color:black'>PoolTable.rvt;
|
|
ClassLibraryC.dll<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><o:p> </o:p></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Hi,<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Here's the
|
|
modification we discussed to make the ray shooting SDK example a bit more fun.
|
|
Some code cleanup might be in order before publishing it, but it works and can
|
|
amuse a 6 year old, if nothing else.<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Harry<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shapetype
|
|
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
|
|
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
|
|
<v:stroke joinstyle="miter"/>
|
|
<v:formulas>
|
|
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
|
|
<v:f eqn="sum @0 1 0"/>
|
|
<v:f eqn="sum 0 0 @1"/>
|
|
<v:f eqn="prod @2 1 2"/>
|
|
<v:f eqn="prod @3 21600 pixelWidth"/>
|
|
<v:f eqn="prod @3 21600 pixelHeight"/>
|
|
<v:f eqn="sum @0 0 1"/>
|
|
<v:f eqn="prod @6 1 2"/>
|
|
<v:f eqn="prod @7 21600 pixelWidth"/>
|
|
<v:f eqn="sum @8 21600 0"/>
|
|
<v:f eqn="prod @7 21600 pixelHeight"/>
|
|
<v:f eqn="sum @10 21600 0"/>
|
|
</v:formulas>
|
|
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
|
|
<o:lock v:ext="edit" aspectratio="t"/>
|
|
</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
|
|
alt="" style='width:342pt;height:320.25pt'>
|
|
<v:imagedata src="harry_files/image001.png" o:href="cid:image001.png@01CA8355.35763AC0"/>
|
|
</v:shape><![endif]--><![if !vml]><img width=456 height=427
|
|
src="harry_files/image002.jpg" v:shapes="Picture_x0020_1"><![endif]><o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
|
|
id="Picture_x0020_2" o:spid="_x0000_i1026" type="#_x0000_t75" alt="" style='width:390.75pt;
|
|
height:308.25pt'>
|
|
<v:imagedata src="harry_files/image003.png" o:href="cid:image002.png@01CA8355.CD7583D0"/>
|
|
</v:shape><![endif]--><![if !vml]><img width=521 height=411
|
|
src="harry_files/image004.jpg" v:shapes="Picture_x0020_2"><![endif]><o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:blue'>class</span> <span
|
|
style='color:#2B91AF'>RaytraceBouncePool</span> : <span style='color:#2B91AF'>IExternalCommand</span>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:green'>// have a line style "bounce" created in
|
|
the document before running this<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";color:green;mso-ansi-language:
|
|
EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>ExternalCommandData</span> <span style='color:#030003'>cdata</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>Autodesk</span>.<span style='color:#030003'>Revit</span>.<span
|
|
style='color:#2B91AF'>Application</span> <span style='color:#030003'>app</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Document</span> <span style='color:#030003'>doc</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Face</span> <span style='color:#030003'>face</span>
|
|
= <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>Autodesk</span>.<span style='color:#030003'>Revit</span>.<span
|
|
style='color:#030003'>Geometry</span>.<span style='color:#2B91AF'>Reference</span>
|
|
<span style='color:#030003'>rClosest</span> = <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>Autodesk</span>.<span style='color:#030003'>Revit</span>.<span
|
|
style='color:#030003'>Elements</span>.<span style='color:#2B91AF'>View3D</span>
|
|
<span style='color:#030003'>view</span> = <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>static</span> <span style='color:blue'>double</span> <span
|
|
style='color:#030003'>epsilon</span> = 0.00000001;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>int</span> <span style='color:#030003'>LineCount</span>
|
|
= 0;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>int</span> <span style='color:#030003'>RayCount</span>
|
|
= 0;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:#2B91AF'>IExternalCommand</span>.<span
|
|
style='color:#2B91AF'>Result</span> <span style='color:#030003'>Execute</span>(<span
|
|
style='color:#2B91AF'>ExternalCommandData</span> <span style='color:#030003'>commandData</span>,
|
|
<span style='color:blue'>ref</span> <span style='color:blue'>string</span> <span
|
|
style='color:#030003'>message</span>, <span style='color:#2B91AF'>ElementSet</span>
|
|
<span style='color:#030003'>elements</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>cdata</span> = <span style='color:#030003'>commandData</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>app</span> = <span style='color:#030003'>commandData</span>.<span
|
|
style='color:#030003'>Application</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>doc</span> = <span style='color:#030003'>app</span>.<span
|
|
style='color:#030003'>ActiveDocument</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>Get3DView</span>();<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>DeleteLines</span>();<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:green'>// find the cue<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>XYZ</span> <span style='color:#030003'>direction</span>
|
|
= <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>XYZ</span> <span style='color:#030003'>startpt</span>
|
|
= <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>
|
|
<span style='color:#030003'>list</span> = <span style='color:blue'>new</span> <span
|
|
style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>();<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Filter</span> <span style='color:#030003'>filter</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>Create</span>.<span
|
|
style='color:#030003'>Filter</span>.<span style='color:#030003'>NewTypeFilter</span>(<span
|
|
style='color:blue'>typeof</span>(<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Elements</span>.<span
|
|
style='color:#2B91AF'>FamilyInstance</span>));<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>int</span> <span style='color:#030003'>num</span> = <span
|
|
style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>get_Elements</span>(<span style='color:#030003'>filter</span>,
|
|
<span style='color:#030003'>list</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>foreach</span> (<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span> <span
|
|
style='color:#030003'>e</span> <span style='color:blue'>in</span> <span
|
|
style='color:#030003'>list</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>e</span>.<span
|
|
style='color:#030003'>Name</span> == <span style='color:#A31515'>"cue"</span>)
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>LocationCurve</span> <span style='color:#030003'>lc</span>
|
|
= <span style='color:#030003'>e</span>.<span style='color:#030003'>Location</span>
|
|
<span style='color:blue'>as</span> <span style='color:#2B91AF'>LocationCurve</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>direction</span> = <span style='color:#030003'>lc</span>.<span
|
|
style='color:#030003'>Curve</span>.<span style='color:#030003'>ComputeDerivatives</span>(0,<span
|
|
style='color:blue'>true</span>).<span style='color:#030003'>BasisX</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>startpt</span> = <span style='color:#030003'>lc</span>.<span
|
|
style='color:#030003'>Curve</span>.<span style='color:#030003'>get_EndPoint</span>(1);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>break</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>view</span> == <span
|
|
style='color:blue'>null</span>) <span style='color:#2B91AF'>MessageBox</span>.<span
|
|
style='color:#030003'>Show</span>(<span style='color:#A31515'>"A default 3D
|
|
view (named {3D}) must exist before running this command"</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>else</span>
|
|
{
|
|
<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>for</span> (<span style='color:blue'>int</span> <span
|
|
style='color:#030003'>ctr</span> = 1; <span style='color:#030003'>ctr</span>
|
|
<= 100; <span style='color:#030003'>ctr</span>++) <span style='color:green'>//
|
|
how many bounces to run<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Geometry</span>.<span
|
|
style='color:#2B91AF'>ReferenceArray</span> <span style='color:#030003'>references</span>
|
|
= <span style='color:#030003'>doc</span>.<span style='color:#030003'>FindReferencesByDirection</span>(<span
|
|
style='color:#030003'>startpt</span>, <span style='color:#030003'>direction</span>,
|
|
<span style='color:#030003'>view</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>rClosest</span> = <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>FindClosestReference</span>(<span style='color:
|
|
#030003'>references</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>rClosest</span>
|
|
== <span style='color:blue'>null</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>MessageBox</span>.<span style='color:#030003'>Show</span>(<span
|
|
style='color:#A31515'>"Ray "</span> + <span style='color:#030003'>ctr</span>
|
|
+ <span style='color:#A31515'>" aborted. No closest face reference
|
|
found."</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>return</span> <span style='color:#2B91AF'>IExternalCommand</span>.<span
|
|
style='color:#2B91AF'>Result</span>.<span style='color:#030003'>Succeeded</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>else</span> {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>XYZ</span> <span style='color:#030003'>endpt</span>
|
|
= <span style='color:blue'>new</span> <span style='color:#2B91AF'>XYZ</span>(<span
|
|
style='color:#030003'>rClosest</span>.<span style='color:#030003'>GlobalPoint</span>.<span
|
|
style='color:#030003'>X</span>, <span style='color:#030003'>rClosest</span>.<span
|
|
style='color:#030003'>GlobalPoint</span>.<span style='color:#030003'>Y</span>, <span
|
|
style='color:#030003'>rClosest</span>.<span style='color:#030003'>GlobalPoint</span>.<span
|
|
style='color:#030003'>Z</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>startpt</span>.<span
|
|
style='color:#030003'>AlmostEqual</span>(<span style='color:#030003'>endpt</span>))
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>MessageBox</span>.<span style='color:#030003'>Show</span>(<span
|
|
style='color:#A31515'>"Start and end points are equal. Ray "</span> +
|
|
<span style='color:#030003'>ctr</span> + <span style='color:#A31515'>"
|
|
aborted\n"</span> + <span style='color:#030003'>startpt</span>.<span
|
|
style='color:#030003'>X</span> + <span style='color:#A31515'>", "</span>
|
|
+ <span style='color:#030003'>startpt</span>.<span style='color:#030003'>Y</span>
|
|
+ <span style='color:#A31515'>", "</span> + <span style='color:#030003'>startpt</span>.<span
|
|
style='color:#030003'>Z</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>break</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>else</span> {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>MakeLine</span>(<span style='color:#030003'>startpt</span>,
|
|
<span style='color:#030003'>endpt</span>, <span style='color:#030003'>direction</span>,
|
|
<span style='color:#A31515'>"bounce"</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>RayCount</span> = <span style='color:#030003'>RayCount</span>
|
|
+ 1;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>face</span> = <span style='color:#030003'>rClosest</span>.<span
|
|
style='color:#030003'>GeometryObject</span> <span style='color:blue'>as</span> <span
|
|
style='color:#2B91AF'>Face</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>rClosest</span>.<span
|
|
style='color:#030003'>Element</span>.<span style='color:#030003'>Category</span>.<span
|
|
style='color:#030003'>Name</span> == <span style='color:#A31515'>"Doors"</span>)<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>MessageBox</span>.<span style='color:#030003'>Show</span>(<span
|
|
style='color:#A31515'>"You sank the ball with "</span> + <span
|
|
style='color:#030003'>ctr</span> + <span style='color:#A31515'>"
|
|
shots."</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>return</span> <span style='color:#2B91AF'>IExternalCommand</span>.<span
|
|
style='color:#2B91AF'>Result</span>.<span style='color:#030003'>Succeeded</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>UV</span> <span style='color:#030003'>endptUV</span>
|
|
= <span style='color:#030003'>rClosest</span>.<span style='color:#030003'>UVPoint</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>XYZ</span> <span style='color:#030003'>FaceNormal</span>
|
|
= <span style='color:#030003'>face</span>.<span style='color:#030003'>ComputeDerivatives</span>(<span
|
|
style='color:#030003'>endptUV</span>).<span style='color:#030003'>BasisZ</span>;
|
|
<span style='color:green'>// face normal where ray hits<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>FaceNormal</span> = <span style='color:#030003'>rClosest</span>.<span
|
|
style='color:#030003'>Transform</span>.<span style='color:#030003'>OfVector</span>(<span
|
|
style='color:#030003'>FaceNormal</span>); <span style='color:green'>//
|
|
transformation to get it in terms of document coordinates instead of the parent
|
|
symbol<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>XYZ</span> <span style='color:#030003'>directionMirrored</span>
|
|
= <span style='color:#030003'>direction</span> - 2 * <span style='color:#030003'>direction</span>.<span
|
|
style='color:#030003'>Dot</span>(<span style='color:#030003'>FaceNormal</span>)
|
|
* <span style='color:#030003'>FaceNormal</span>; <span style='color:green'>//http://www.fvastro.org/presentations/ray_tracing.htm<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>direction</span> = <span style='color:#030003'>directionMirrored</span>;
|
|
<span style='color:green'>// get ready to shoot the next ray<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>startpt</span> = <span style='color:#030003'>endpt</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>return</span> <span style='color:#2B91AF'>IExternalCommand</span>.<span
|
|
style='color:#2B91AF'>Result</span>.<span style='color:#030003'>Succeeded</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Geometry</span>.<span
|
|
style='color:#2B91AF'>Reference</span> <span style='color:#030003'>FindClosestReference</span>(<span
|
|
style='color:#2B91AF'>ReferenceArray</span> <span style='color:#030003'>references</span>)
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>double</span> <span style='color:#030003'>face_prox</span>
|
|
= <span style='color:#2B91AF'>Double</span>.<span style='color:#030003'>PositiveInfinity</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>double</span> <span style='color:#030003'>edge_prox</span>
|
|
= <span style='color:#2B91AF'>Double</span>.<span style='color:#030003'>PositiveInfinity</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:green'>//string refs = "";<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>foreach</span> (<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Geometry</span>.<span
|
|
style='color:#2B91AF'>Reference</span> <span style='color:#030003'>r</span> <span
|
|
style='color:blue'>in</span> <span style='color:#030003'>references</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>Element</span>.<span style='color:#030003'>Category</span>.<span
|
|
style='color:#030003'>Name</span> != <span style='color:#A31515'>"Generic
|
|
Models"</span>)<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>face</span> = <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>face</span> = <span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>GeometryObject</span> <span style='color:blue'>as</span> <span
|
|
style='color:#2B91AF'>Face</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Edge</span> <span style='color:#030003'>edge</span>
|
|
= <span style='color:blue'>null</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>edge</span> = <span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>GeometryObject</span> <span style='color:blue'>as</span> <span
|
|
style='color:#2B91AF'>Edge</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>face</span> != <span
|
|
style='color:blue'>null</span>)<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:green'>//refs = refs + r.ProximityParameter +
|
|
"\n";<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#2B91AF'>Math</span>.<span
|
|
style='color:#030003'>Abs</span>(<span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>ProximityParameter</span>) < <span style='color:#030003'>face_prox</span>
|
|
&& <span style='color:#030003'>r</span>.<span style='color:#030003'>ProximityParameter</span>
|
|
> <span style='color:#030003'>epsilon</span>) <span style='color:green'>//when
|
|
startpoint is on a surface, should FindReferencesByDirection find that surface?<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>rClosest</span> = <span style='color:#030003'>r</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>face_prox</span> = <span style='color:#2B91AF'>Math</span>.<span
|
|
style='color:#030003'>Abs</span>(<span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>ProximityParameter</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>edge</span> != <span
|
|
style='color:blue'>null</span>)<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#2B91AF'>Math</span>.<span
|
|
style='color:#030003'>Abs</span>(<span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>ProximityParameter</span>) < <span style='color:#030003'>edge_prox</span>
|
|
&& <span style='color:#030003'>r</span>.<span style='color:#030003'>ProximityParameter</span>
|
|
> <span style='color:#030003'>epsilon</span>) <span style='color:green'>//when
|
|
startpoint is on a surface, should FindReferencesByDirection find that surface?<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>edge_prox</span> = <span style='color:#2B91AF'>Math</span>.<span
|
|
style='color:#030003'>Abs</span>(<span style='color:#030003'>r</span>.<span
|
|
style='color:#030003'>ProximityParameter</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:green'>//MessageBox.Show("Distance to references
|
|
found:\n" + refs);<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>edge_prox</span>
|
|
<= <span style='color:#030003'>face_prox</span>) <span style='color:#030003'>rClosest</span>
|
|
= <span style='color:blue'>null</span>; <span style='color:green'>// stop
|
|
bouncing if there is an edge at least as close as the neareast face - there is
|
|
no single angle of reflection for a ray striking a line<o:p></o:p></span></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>return</span> <span style='color:#030003'>rClosest</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:blue'>void</span> <span
|
|
style='color:#030003'>MakeLine</span>(<span style='color:#2B91AF'>XYZ</span> <span
|
|
style='color:#030003'>startpt</span>, <span style='color:#2B91AF'>XYZ</span> <span
|
|
style='color:#030003'>endpt</span>, <span style='color:#2B91AF'>XYZ</span> <span
|
|
style='color:#030003'>direction</span>, <span style='color:blue'>string</span> <span
|
|
style='color:#030003'>style</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>LineCount</span> = <span style='color:#030003'>LineCount</span>
|
|
+ 1;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Line</span> <span style='color:#030003'>line</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>Create</span>.<span
|
|
style='color:#030003'>NewLineBound</span>(<span style='color:#030003'>startpt</span>,
|
|
<span style='color:#030003'>endpt</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Plane</span> <span style='color:#030003'>geometryPlane</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>Create</span>.<span
|
|
style='color:#030003'>NewPlane</span>(<span style='color:#030003'>direction</span>,
|
|
<span style='color:#030003'>startpt</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>SketchPlane</span> <span style='color:#030003'>skplane</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>Create</span>.<span style='color:#030003'>NewSketchPlane</span>(<span
|
|
style='color:#030003'>geometryPlane</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>ModelCurve</span> <span style='color:#030003'>mcurve</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>Create</span>.<span style='color:#030003'>NewModelCurve</span>(<span
|
|
style='color:#030003'>line</span>, <span style='color:#030003'>skplane</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>ElementArray</span> <span style='color:#030003'>lsArr</span>
|
|
= <span style='color:#030003'>mcurve</span>.<span style='color:#030003'>LineStyles</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>foreach</span> (<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span> <span
|
|
style='color:#030003'>e</span> <span style='color:blue'>in</span> <span
|
|
style='color:#030003'>lsArr</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>e</span>.<span
|
|
style='color:#030003'>Name</span> == <span style='color:#030003'>style</span>)
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>mcurve</span>.<span style='color:#030003'>LineStyle</span>
|
|
= <span style='color:#030003'>e</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>break</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:blue'>void</span> <span
|
|
style='color:#030003'>Get3DView</span>() {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>
|
|
<span style='color:#030003'>list</span> = <span style='color:blue'>new</span> <span
|
|
style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>();<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Filter</span> <span style='color:#030003'>filter</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>Create</span>.<span
|
|
style='color:#030003'>Filter</span>.<span style='color:#030003'>NewTypeFilter</span>(<span
|
|
style='color:blue'>typeof</span>(<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Elements</span>.<span
|
|
style='color:#2B91AF'>View3D</span>));<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Int64</span> <span style='color:#030003'>num</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>get_Elements</span>(<span style='color:#030003'>filter</span>,
|
|
<span style='color:#030003'>list</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>foreach</span> (<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span> <span
|
|
style='color:#030003'>v</span> <span style='color:blue'>in</span> <span
|
|
style='color:#030003'>list</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>v</span>.<span
|
|
style='color:#030003'>Name</span> == <span style='color:#A31515'>"{3D}"</span>)
|
|
{<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#030003'>view</span> = <span style='color:#030003'>v</span> <span
|
|
style='color:blue'>as</span> <span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Elements</span>.<span
|
|
style='color:#2B91AF'>View3D</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>break</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>public</span> <span style='color:blue'>void</span> <span
|
|
style='color:#030003'>DeleteLines</span>() {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>
|
|
<span style='color:#030003'>list</span> = <span style='color:blue'>new</span> <span
|
|
style='color:#2B91AF'>List</span><<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span>>();<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Filter</span> <span style='color:#030003'>filter</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>Create</span>.<span
|
|
style='color:#030003'>Filter</span>.<span style='color:#030003'>NewTypeFilter</span>(<span
|
|
style='color:blue'>typeof</span>(<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#030003'>Elements</span>.<span
|
|
style='color:#2B91AF'>CurveElement</span>), <span style='color:blue'>true</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>Int64</span> <span style='color:#030003'>num</span>
|
|
= <span style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>get_Elements</span>(<span style='color:#030003'>filter</span>,
|
|
<span style='color:#030003'>list</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>foreach</span> (<span style='color:#030003'>Autodesk</span>.<span
|
|
style='color:#030003'>Revit</span>.<span style='color:#2B91AF'>Element</span> <span
|
|
style='color:#030003'>e</span> <span style='color:blue'>in</span> <span
|
|
style='color:#030003'>list</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:#2B91AF'>ModelCurve</span> <span style='color:#030003'>mc</span>
|
|
= <span style='color:#030003'>e</span> <span style='color:blue'>as</span> <span
|
|
style='color:#2B91AF'>ModelCurve</span>;<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>mc</span> != <span
|
|
style='color:blue'>null</span>) {<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
<span style='color:blue'>if</span> (<span style='color:#030003'>mc</span>.<span
|
|
style='color:#030003'>LineStyle</span>.<span style='color:#030003'>Name</span>
|
|
== <span style='color:#A31515'>"bounce"</span> || <span
|
|
style='color:#030003'>mc</span>.<span style='color:#030003'>LineStyle</span>.<span
|
|
style='color:#030003'>Name</span> == <span style='color:#A31515'>"normal"</span>)
|
|
<span style='color:#030003'>app</span>.<span style='color:#030003'>ActiveDocument</span>.<span
|
|
style='color:#030003'>Delete</span>(<span style='color:#030003'>e</span>);<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
|
|
style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>
|
|
}<o:p></o:p></span></p>
|
|
|
|
<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|