本文整理汇总了C#中FamilyInstance.GetGeometryObjectFromReference方法的典型用法代码示例。如果您正苦于以下问题:C# FamilyInstance.GetGeometryObjectFromReference方法的具体用法?C# FamilyInstance.GetGeometryObjectFromReference怎么用?C# FamilyInstance.GetGeometryObjectFromReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FamilyInstance
的用法示例。
在下文中一共展示了FamilyInstance.GetGeometryObjectFromReference方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSpecialFamilyReference
public static Reference GetSpecialFamilyReference(
FamilyInstance inst,
SpecialReferenceType refType)
{
Reference indexRef = null;
int idx = (int) refType;
if( inst != null )
{
Document dbDoc = inst.Document;
Options geomOptions = dbDoc.Application.Create
.NewGeometryOptions();
if( geomOptions != null )
{
geomOptions.ComputeReferences = true;
geomOptions.DetailLevel = ViewDetailLevel.Undefined;
geomOptions.IncludeNonVisibleObjects = true;
}
GeometryElement gElement = inst.get_Geometry(
geomOptions );
GeometryInstance gInst = gElement.First()
as GeometryInstance;
String sampleStableRef = null;
if( gInst != null )
{
GeometryElement gSymbol = gInst
.GetSymbolGeometry();
if( gSymbol != null )
{
foreach( GeometryObject geomObj in gSymbol )
{
if( geomObj is Solid )
{
Solid solid = geomObj as Solid;
if( solid.Faces.Size > 0 )
{
Face face = solid.Faces.get_Item( 0 );
sampleStableRef = face.Reference
.ConvertToStableRepresentation(
dbDoc );
break;
}
}
else if( geomObj is Curve )
{
Curve curve = geomObj as Curve;
sampleStableRef = curve.Reference
.ConvertToStableRepresentation( dbDoc );
break;
}
else if( geomObj is Point )
{
Point point = geomObj as Point;
sampleStableRef = point.Reference
.ConvertToStableRepresentation( dbDoc );
break;
}
}
}
if( sampleStableRef != null )
{
String[] refTokens = sampleStableRef.Split(
new char[] { ':' } );
String customStableRef = refTokens[0] + ":"
+ refTokens[1] + ":" + refTokens[2] + ":"
+ refTokens[3] + ":" + idx.ToString();
indexRef = Reference
.ParseFromStableRepresentation(
dbDoc, customStableRef );
GeometryObject geoObj = inst
.GetGeometryObjectFromReference(
indexRef );
if( geoObj != null )
{
String finalToken = "";
if( geoObj is Edge )
{
finalToken = ":LINEAR";
}
//.........这里部分代码省略.........