mirror of
https://github.com/jeremytammik/RevitSdkSamples.git
synced 2026-08-09 14:41:37 +00:00
35 lines
3.3 KiB
Plaintext
35 lines
3.3 KiB
Plaintext
{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Calibri;}}
|
|
{\colortbl ;\red0\green0\blue255;}
|
|
\viewkind4\uc1\pard\ltrpar\nowidctlpar\b\f0\fs20 Application:\b0 PanelEdgeLengthAngle\line\b Revit Platform:\b0 All\line\b Revit Version:\b0 2011.0\line\b First Released For:\b0 2010.\f1 0\f0\line\b Programming Language:\b0 C#\line\b Skill Level:\b0 Beginning\line\b Category:\b0 Geometry\f1\par
|
|
\b\f0 Type:\b0 ExternalCommand\line\line\b Subject:\b0 Divided surface panel measurement \par
|
|
\par
|
|
\b Summary:\b0 \line Measure the edge length and angle of curtain panels in divided surfaces. Save the length and angle data to the instance parameters of curtain panels\f1 .\par
|
|
\b\par
|
|
\f0 Classes:\b0 \par
|
|
\tab Autodesk.Revit.UI.IExternalCommand\par
|
|
\f1\fs22\tab\f2 Autodesk.Revit.DB\f1 .\f2 DividedSurface\f1\par
|
|
\tab\f2 Autodesk.Revit.DB\f1 .\f2 Panel\par
|
|
\b\f1\fs20\par
|
|
\f0 Project Files:\par
|
|
\cf1\b0\par
|
|
\cf0 Command.cs\par
|
|
\tab This file contains the SetLengthAngleParams class and is invoked when the external command. This class is used to compute the length and angle data and update the parameters.\f1\par
|
|
\f0\par
|
|
\b Description:\b0 \par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li720 1.\tab Find divided surfaces in the massing family\par
|
|
2.\tab Find all panels in the DividedSurface elements. The panels are FamilyInstance elements returned by the DividedSurface.GetTileFamilyInstance(GridNode, tileIndex) method.\par
|
|
3.\tab Check the parameters of each panel, make sure the \ldblquote Length1\rdblquote to \ldblquote Length4\rdblquote and \ldblquote Angle1\rdblquote to \ldblquote Angle4\rdblquote parameters exist\f1\par
|
|
\f0 4.\tab Get the edges of each panel using FamilyInstance.get_Geometry(opt)\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li1440 a.\tab For partial border panels, get_Geometry returns the panel geometry in a Solid object\par
|
|
b.\tab For uncut panels, their geometry is found through Instance.SymbolGeometry.Objects\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li720 5.\tab Compute the length of each edge and the angle between 2 edges, store the data to the length and angle parameters.\par
|
|
\pard\ltrpar\nowidctlpar\b\f1\par
|
|
\f0 Instructions:\cf1\b0 \cf0\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li720\tx360 1.\tab Open a curtain panel by pattern family from the Data folder, for example, \ldblquote Rectangle Surface.rfa\rdblquote (at .\\ Data\\Platform\\Imperial\\Library\\Architectural\\Curtain Panel By Pattern\f1\\\f0 Rectangle Surface.rfa)\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li720 2.\tab Add 8 instance parameters: \ldblquote Length1\rdblquote to \ldblquote Length4\rdblquote with the type of Length, and \ldblquote Angle1\rdblquote to \ldblquote Angle4\rdblquote with the type of Angle\par
|
|
3.\tab Create one or more massing forms with divided surfaces, load the panel family into this massing family, and apply \ldblquote Rectangle Surface\rdblquote pattern to the divided surfaces\par
|
|
4.\tab Run this command\par
|
|
5.\tab The length and angle values are computed and set to the \ldblquote Length1\rdblquote to \ldblquote Length4\rdblquote and \ldblquote Angle1\rdblquote to \ldblquote Angle4\rdblquote parameters\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li360\par
|
|
}
|
|
|