当前位置: 首页>>代码示例>>C#>>正文


C# ExporterIFC.FindSpaceBoundingElementHandle方法代码示例

本文整理汇总了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;
        }
开发者ID:whztt07,项目名称:RevitCustomIFCexporter,代码行数:41,代码来源:SpatialElementExporter.cs

示例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;
        }
开发者ID:whztt07,项目名称:RevitCustomIFCexporter,代码行数:42,代码来源:SpatialElementExporter.cs


注:本文中的ExporterIFC.FindSpaceBoundingElementHandle方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。