本文整理汇总了C#中ExporterIFC.FindSpaceBoundingElementHandle方法的典型用法代码示例。如果您正苦于以下问题:C# ExporterIFC.FindSpaceBoundingElementHandle方法的具体用法?C# ExporterIFC.FindSpaceBoundingElementHandle怎么用?C# ExporterIFC.FindSpaceBoundingElementHandle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExporterIFC
的用法示例。
在下文中一共展示了ExporterIFC.FindSpaceBoundingElementHandle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessIFCSpaceBoundary
/// <summary>
/// Creates 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>
public static bool ProcessIFCSpaceBoundary(ExporterIFC exporterIFC, SpaceBoundary boundary, IFCFile file)
{
string spaceBoundaryName = String.Empty;
if (ExporterCacheManager.ExportOptionsCache.SpaceBoundaryLevel == 1)
spaceBoundaryName = "1stLevel";
else if (ExporterCacheManager.ExportOptionsCache.SpaceBoundaryLevel == 2)
spaceBoundaryName = "2ndLevel";
IFCAnyHandle spatialElemHnd = ExporterCacheManager.SpaceInfoCache.FindSpaceHandle(boundary.SpatialElementId);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(spatialElemHnd))
return false;
IFCPhysicalOrVirtual boundaryType = boundary.SpaceBoundaryType;
IFCAnyHandle buildingElemHnd = null;
if (boundaryType == IFCPhysicalOrVirtual.Physical)
{
buildingElemHnd = exporterIFC.FindSpaceBoundingElementHandle(boundary.BuildingElementId, boundary.LevelId);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(buildingElemHnd))
return false;
}
IFCInstanceExporter.CreateRelSpaceBoundary(file, GUIDUtil.CreateGUID(), ExporterCacheManager.OwnerHistoryHandle, spaceBoundaryName, null,
spatialElemHnd, buildingElemHnd, boundary.ConnectGeometryHandle, boundaryType, boundary.InternalOrExternal);
return true;
}
示例2: 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;
}