本文整理汇总了C#中Wall.GetGeneratingElementIds方法的典型用法代码示例。如果您正苦于以下问题:C# Wall.GetGeneratingElementIds方法的具体用法?C# Wall.GetGeneratingElementIds怎么用?C# Wall.GetGeneratingElementIds使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wall
的用法示例。
在下文中一共展示了Wall.GetGeneratingElementIds方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetWallOpeningPlanarFaces
/// <summary>
/// Retrieve all planar faces belonging to the
/// specified opening in the given wall.
/// </summary>
static List<PlanarFace> GetWallOpeningPlanarFaces(
Wall wall,
ElementId openingId)
{
List<PlanarFace> faceList = new List<PlanarFace>();
List<Solid> solidList = new List<Solid>();
Options geomOptions = wall.Document.Application.Create.NewGeometryOptions();
if( geomOptions != null )
{
//geomOptions.ComputeReferences = true; // expensive, avoid if not needed
//geomOptions.DetailLevel = ViewDetailLevel.Fine;
//geomOptions.IncludeNonVisibleObjects = false;
GeometryElement geoElem = wall.get_Geometry( geomOptions );
if( geoElem != null )
{
foreach( GeometryObject geomObj in geoElem )
{
if( geomObj is Solid )
{
solidList.Add( geomObj as Solid );
}
}
}
}
foreach( Solid solid in solidList )
{
foreach( Face face in solid.Faces )
{
if( face is PlanarFace )
{
if( wall.GetGeneratingElementIds( face )
.Any( x => x == openingId ) )
{
faceList.Add( face as PlanarFace );
}
}
}
}
return faceList;
}