本文整理汇总了C#中ExporterIFC.FindSpatialElementHandle方法的典型用法代码示例。如果您正苦于以下问题:C# ExporterIFC.FindSpatialElementHandle方法的具体用法?C# ExporterIFC.FindSpatialElementHandle怎么用?C# ExporterIFC.FindSpatialElementHandle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExporterIFC
的用法示例。
在下文中一共展示了ExporterIFC.FindSpatialElementHandle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessIFCSpaceBoundary
/// <summary>
/// Create space boundary.
/// </summary>
/// <param name="exporterIFC">
/// The ExporterIFC object.
/// </param>
/// <param name="boundary">
/// The space boundary object.
/// </param>
/// <param name="file">
/// The IFC file.
/// </param>
/// <returns>
/// True if processed successfully, false otherwise.
/// </returns>
static bool ProcessIFCSpaceBoundary(ExporterIFC exporterIFC, IFCSpaceBoundary boundary, IFCFile file)
{
string spaceBoundaryName = String.Empty;
if (exporterIFC.SpaceBoundaryLevel == 1)
spaceBoundaryName = "1stLevel";
else if (exporterIFC.SpaceBoundaryLevel == 2)
spaceBoundaryName = "2ndLevel";
IFCLabel spaceBoundaryNameLabel = IFCLabel.Create(spaceBoundaryName);
IFCAnyHandle spatialElemHnd = exporterIFC.FindSpatialElementHandle(boundary.SpatialElementId);
if (!spatialElemHnd.HasValue)
return false;
IFCSpaceBoundaryType boundaryType = boundary.SpaceBoundaryType;
IFCAnyHandle buildingElemHnd = IFCAnyHandle.Create();
if (boundaryType == IFCSpaceBoundaryType.Physical)
{
buildingElemHnd = exporterIFC.FindSpaceBoundingElementHandle(boundary.BuildingElementId);
if (!buildingElemHnd.HasValue)
return false;
}
file.CreateRelSpaceBoundary(IFCLabel.CreateGUID(), exporterIFC.GetOwnerHistoryHandle(), spaceBoundaryNameLabel, IFCLabel.Create(),
spatialElemHnd, buildingElemHnd, boundary.GetConnectionGeometry(), boundaryType, boundary.IsExternal);
return true;
}