Application: InplaceFamilyAnalyticalModel3D
Revit Platform: Structure
Revit Version: 2009.0
First Released For: 2008.0
Last Modified: 02/26/2008
Modified By: JY Autodesk
Programming Language: VB.NET
Skill Level: Beginning
Category: Geometry
Type: ExternalCommand

Subject: AnalyticalModel3D elements.
Summary: 
This sample demonstrates how to read an analytical model 3D object from an in-place family instance.

Classes: 
Autodesk.Revit.IExternalCommand 
Autodesk.Revit.Elements.FamilyInstance
Autodesk.Revit.Structural.AnalyticalModel3D

Project Files: 
InplaceFamilyAnalyticalModel3D.vb
This is the main DLL source file. It contains the class Command which inherits IExternalCommand interface and implements Execute method. And this class also dumps the family instance information (Family name, Family Symbol name and Family Instance name) and the curves of its 3D analytical model.

Description: 
-	Iterate through the selection, picking out family instances that have a 3D analytical model.
-	Output family instance information
-	Family name (use FamilyInstance.Symbol.Family.Name)
-	Family Symbol name (use FamilyInstance.Symbol.Name)
-	Family Instance name (use FamilyInstance.Name)
-	Use FamilyInstance.AnalyticalModel property to access the analytical model and check if the type is AnalyticalModel3D. Then output the curve of this AnalyticalModel3D.

Instructions: 
1.	Create an in-place structure column that has AnalyticalModel.

[Tip]A sample project file InplaceFamilyAnalyticalModel3D.rvt is available in the sample’s folder.

2.	Select some elements in which the in-place structure column is included.
3.	Run this sample.
4.	Expected result: the selected column’s basic information and the AnalyticalModel3D curves information will be dumped to output window.