1835 lines
72 KiB
C#
1835 lines
72 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
using Autodesk.Revit.DB;
|
|
using Autodesk.Revit.DB.Mechanical;
|
|
using Autodesk.Revit.DB.Structure;
|
|
|
|
|
|
namespace Szmedi.RevitToolkit.Approval.Extensions
|
|
{
|
|
internal static class ElementExtensions
|
|
{
|
|
public static BuiltInCategory ToBuiltInCategory(this Category category)
|
|
{
|
|
var builtInCategory = (BuiltInCategory)category.Id.IntegerValue;
|
|
|
|
return Enum.IsDefined(typeof(BuiltInCategory), builtInCategory)
|
|
? builtInCategory
|
|
: throw new ArgumentNullException(nameof(category), "不存在该内建类别");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取轨道交通标识
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
/// <returns></returns>
|
|
public static string GetMetroCategory(this Element item)
|
|
{
|
|
Document doc = item.Document;
|
|
var categoryName = string.Empty;
|
|
switch (item.Category.ToBuiltInCategory())
|
|
{
|
|
//结构连接
|
|
case BuiltInCategory.OST_StructConnections:
|
|
{
|
|
if (item.Name.Contains("钢") && item.Name.Contains("节点"))
|
|
{
|
|
categoryName = "钢结构连接节点";
|
|
}
|
|
|
|
if (item.Name.Contains("钢") && item.Name.Contains("附件"))
|
|
{
|
|
categoryName = "钢结构连接附件";
|
|
}
|
|
}
|
|
break;
|
|
//钢筋形状
|
|
case BuiltInCategory.OST_RebarShape:
|
|
break;
|
|
//结构路径钢筋
|
|
case BuiltInCategory.OST_PathRein:
|
|
break;
|
|
//结构区域钢筋
|
|
case BuiltInCategory.OST_AreaRein:
|
|
break;
|
|
//结构钢筋
|
|
case BuiltInCategory.OST_Rebar:
|
|
break;
|
|
//隔热层
|
|
case BuiltInCategory.OST_FabricationPipeworkInsulation:
|
|
break;
|
|
//内衬
|
|
case BuiltInCategory.OST_FabricationDuctworkLining:
|
|
break;
|
|
//MEP 预制保护层
|
|
case BuiltInCategory.OST_FabricationContainment:
|
|
break;
|
|
// MEP 预制管道
|
|
case BuiltInCategory.OST_FabricationPipework:
|
|
break;
|
|
//MEP 预制支架
|
|
case BuiltInCategory.OST_FabricationHangers:
|
|
break;
|
|
//隔热层
|
|
case BuiltInCategory.OST_FabricationDuctworkInsulation:
|
|
break;
|
|
//线管
|
|
case BuiltInCategory.OST_Conduit:
|
|
break;
|
|
//电缆桥架
|
|
case BuiltInCategory.OST_CableTray:
|
|
break;
|
|
//线管配件
|
|
case BuiltInCategory.OST_ConduitFitting:
|
|
break;
|
|
//电缆桥架配件
|
|
case BuiltInCategory.OST_CableTrayFitting:
|
|
break;
|
|
//风管内衬
|
|
case BuiltInCategory.OST_DuctLinings:
|
|
break;
|
|
//风管隔热层
|
|
case BuiltInCategory.OST_DuctInsulations:
|
|
break;
|
|
//管道隔热层
|
|
case BuiltInCategory.OST_PipeInsulations:
|
|
break;
|
|
//HVAC 区
|
|
case BuiltInCategory.OST_HVAC_Zones:
|
|
break;
|
|
//喷头
|
|
case BuiltInCategory.OST_Sprinklers:
|
|
break;
|
|
//灯具
|
|
case BuiltInCategory.OST_LightingDevices:
|
|
break;
|
|
//火警设备
|
|
case BuiltInCategory.OST_FireAlarmDevices:
|
|
break;
|
|
//数据设备
|
|
case BuiltInCategory.OST_DataDevices:
|
|
break;
|
|
//通讯设备
|
|
case BuiltInCategory.OST_CommunicationDevices:
|
|
break;
|
|
//安全设备
|
|
case BuiltInCategory.OST_SecurityDevices:
|
|
break;
|
|
//护理呼叫设备
|
|
case BuiltInCategory.OST_NurseCallDevices:
|
|
break;
|
|
//电话设备
|
|
case BuiltInCategory.OST_TelephoneDevices:
|
|
break;
|
|
//管道附件
|
|
case BuiltInCategory.OST_PipeAccessory:
|
|
break;
|
|
//软管
|
|
case BuiltInCategory.OST_FlexPipeCurves:
|
|
break;
|
|
//管件
|
|
case BuiltInCategory.OST_PipeFitting:
|
|
break;
|
|
//管道
|
|
case BuiltInCategory.OST_PipeCurves:
|
|
break;
|
|
//管道系统
|
|
case BuiltInCategory.OST_PipingSystem:
|
|
break;
|
|
//导线
|
|
case BuiltInCategory.OST_Wire:
|
|
break;
|
|
//软风管
|
|
case BuiltInCategory.OST_FlexDuctCurves:
|
|
break;
|
|
//风管附件
|
|
case BuiltInCategory.OST_DuctAccessory:
|
|
break;
|
|
//风管系统
|
|
case BuiltInCategory.OST_DuctSystem:
|
|
break;
|
|
//风道末端
|
|
case BuiltInCategory.OST_DuctTerminal:
|
|
break;
|
|
//风管管件
|
|
case BuiltInCategory.OST_DuctFitting:
|
|
break;
|
|
//风管
|
|
case BuiltInCategory.OST_DuctCurves:
|
|
break;
|
|
//桥梁支座
|
|
case BuiltInCategory.OST_BridgeBearings:
|
|
break;
|
|
//桥梁大梁
|
|
case BuiltInCategory.OST_BridgeGirders:
|
|
break;
|
|
//桥梁基础
|
|
case BuiltInCategory.OST_BridgeFoundations:
|
|
|
|
break;
|
|
//桥面
|
|
case BuiltInCategory.OST_BridgeDecks:
|
|
break;
|
|
//桥拱
|
|
case BuiltInCategory.OST_BridgeArches:
|
|
break;
|
|
//桥梁缆索
|
|
case BuiltInCategory.OST_BridgeCables:
|
|
break;
|
|
//桥塔
|
|
case BuiltInCategory.OST_BridgeTowers:
|
|
break;
|
|
//桥墩
|
|
case BuiltInCategory.OST_BridgePiers:
|
|
{
|
|
categoryName = "混凝土桥墩";
|
|
}
|
|
break;
|
|
//桥台
|
|
case BuiltInCategory.OST_BridgeAbutments:
|
|
break;
|
|
//空间
|
|
case BuiltInCategory.OST_MEPSpaces:
|
|
break;
|
|
//体量洞口
|
|
case BuiltInCategory.OST_MassOpening:
|
|
break;
|
|
//体量天窗
|
|
case BuiltInCategory.OST_MassSkylights:
|
|
break;
|
|
//体量玻璃
|
|
case BuiltInCategory.OST_MassGlazing:
|
|
break;
|
|
//体量屋顶
|
|
case BuiltInCategory.OST_MassRoof:
|
|
break;
|
|
//体量外墙
|
|
case BuiltInCategory.OST_MassExteriorWall:
|
|
break;
|
|
//体量内墙
|
|
case BuiltInCategory.OST_MassInteriorWall:
|
|
break;
|
|
//体量分区
|
|
case BuiltInCategory.OST_MassZone:
|
|
break;
|
|
//体量楼层
|
|
case BuiltInCategory.OST_MassFloor:
|
|
break;
|
|
//体量
|
|
case BuiltInCategory.OST_Mass:
|
|
break;
|
|
//项目信息
|
|
case BuiltInCategory.OST_ProjectInformation:
|
|
break;
|
|
//环境
|
|
case BuiltInCategory.OST_Entourage:
|
|
break;
|
|
//植物
|
|
case BuiltInCategory.OST_Planting:
|
|
break;
|
|
//专用设备
|
|
case BuiltInCategory.OST_SpecialityEquipment:
|
|
break;
|
|
//建筑地坪
|
|
case BuiltInCategory.OST_BuildingPad:
|
|
break;
|
|
//场地
|
|
case BuiltInCategory.OST_Site:
|
|
break;
|
|
//道路
|
|
case BuiltInCategory.OST_Roads:
|
|
break;
|
|
//停车场
|
|
case BuiltInCategory.OST_Parking:
|
|
break;
|
|
//卫浴装置
|
|
case BuiltInCategory.OST_PlumbingFixtures:
|
|
break;
|
|
//机械设备
|
|
case BuiltInCategory.OST_MechanicalEquipment:
|
|
break;
|
|
//照明设备
|
|
case BuiltInCategory.OST_LightingFixtures:
|
|
break;
|
|
//电气装置
|
|
case BuiltInCategory.OST_ElectricalFixtures:
|
|
break;
|
|
//电气设备
|
|
case BuiltInCategory.OST_ElectricalEquipment:
|
|
break;
|
|
//橱柜
|
|
case BuiltInCategory.OST_Casework:
|
|
break;
|
|
//竖井洞口
|
|
case BuiltInCategory.OST_ShaftOpening:
|
|
break;
|
|
//房间
|
|
case BuiltInCategory.OST_Rooms:
|
|
break;
|
|
//结构桁架
|
|
case BuiltInCategory.OST_StructuralTruss:
|
|
{
|
|
categoryName = "钢桁架";
|
|
if (item.Name.Contains("网"))
|
|
{
|
|
categoryName = "钢网架";
|
|
}
|
|
}
|
|
break;
|
|
//结构柱
|
|
case BuiltInCategory.OST_StructuralColumns:
|
|
{
|
|
categoryName = "混凝土柱";
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢柱";
|
|
}
|
|
|
|
if (doc.Title.Contains("围护"))
|
|
{
|
|
categoryName = "围护柱";
|
|
if (item.Name.Contains("桩"))
|
|
{
|
|
categoryName = "围护桩";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//结构框架
|
|
case BuiltInCategory.OST_StructuralFraming:
|
|
{
|
|
categoryName = "混凝土梁";
|
|
if (item.Name.Contains("钢") && item.Name.Contains("梁"))
|
|
{
|
|
categoryName = "钢梁";
|
|
}
|
|
|
|
if (item.Name.Contains("钢") && item.Name.Contains("支撑"))
|
|
{
|
|
categoryName = "钢支撑";
|
|
}
|
|
|
|
if (doc.Title.Contains("围护"))
|
|
{
|
|
categoryName = "围护梁";
|
|
}
|
|
}
|
|
break;
|
|
//结构基础
|
|
case BuiltInCategory.OST_StructuralFoundation:
|
|
{
|
|
if (item.Name.Contains("桩"))
|
|
{
|
|
categoryName = "围护桩";
|
|
}
|
|
if (item.Name.Contains("柱"))
|
|
{
|
|
categoryName = "围护柱";
|
|
}
|
|
if (item.Name.Contains("桥墩"))
|
|
{
|
|
categoryName = "混凝土桥墩";
|
|
}
|
|
if (item.Name.Contains("桥台"))
|
|
{
|
|
categoryName = "混凝土桥台";
|
|
}
|
|
categoryName = item switch
|
|
{
|
|
Floor => "混凝土板",
|
|
WallFoundation => "混凝土墙",
|
|
_ => categoryName
|
|
};
|
|
}
|
|
break;
|
|
|
|
//常规模型
|
|
case BuiltInCategory.OST_GenericModel:
|
|
{
|
|
if (item.Name.Contains("雨篷"))
|
|
{
|
|
categoryName = "雨篷";
|
|
}
|
|
|
|
if (item.Name.Contains("台阶"))
|
|
{
|
|
categoryName = "台阶";
|
|
}
|
|
|
|
if (item.Name.Contains("预埋件"))
|
|
{
|
|
categoryName = "预埋件";
|
|
}
|
|
}
|
|
break;
|
|
//终端
|
|
case BuiltInCategory.OST_RailingTermination:
|
|
//支座
|
|
case BuiltInCategory.OST_RailingSupport:
|
|
//扶手
|
|
case BuiltInCategory.OST_RailingHandRail:
|
|
//顶部扶栏
|
|
case BuiltInCategory.OST_RailingTopRail:
|
|
//栏杆扶手
|
|
case BuiltInCategory.OST_StairsRailing:
|
|
{
|
|
categoryName = "栏杆";
|
|
}
|
|
break;
|
|
//柱
|
|
case BuiltInCategory.OST_Columns:
|
|
{
|
|
categoryName = "建筑柱";
|
|
}
|
|
break;
|
|
//家具
|
|
case BuiltInCategory.OST_Furniture:
|
|
break;
|
|
//结构加强板
|
|
case BuiltInCategory.OST_StructuralStiffener:
|
|
//楼板边缘
|
|
case BuiltInCategory.OST_EdgeSlab:
|
|
//楼板
|
|
case BuiltInCategory.OST_Floors:
|
|
{
|
|
categoryName = "楼地板";
|
|
if (item is Floor floor)
|
|
{
|
|
var structural = floor
|
|
.get_Parameter(BuiltInParameter.FLOOR_PARAM_IS_STRUCTURAL)
|
|
.AsInteger();
|
|
if (structural == 1)
|
|
{
|
|
categoryName = "混凝土板";
|
|
}
|
|
|
|
var levelMax = doc.OfClass<Level>()
|
|
.Cast<Level>()
|
|
.OrderBy(l => l.Elevation)
|
|
.LastOrDefault();
|
|
if (levelMax!.Id == floor.LevelId)
|
|
{
|
|
categoryName = "混凝土屋面";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//平台
|
|
case BuiltInCategory.OST_StairsLandings:
|
|
//梯段
|
|
case BuiltInCategory.OST_StairsRuns:
|
|
//楼梯
|
|
case BuiltInCategory.OST_Stairs:
|
|
//支撑
|
|
case BuiltInCategory.OST_StairsStringerCarriage:
|
|
{
|
|
categoryName = "楼梯";
|
|
}
|
|
break;
|
|
//屋顶
|
|
case BuiltInCategory.OST_Roofs:
|
|
//檐沟
|
|
case BuiltInCategory.OST_Gutter:
|
|
//封檐板
|
|
case BuiltInCategory.OST_Fascia:
|
|
//屋檐底板
|
|
case BuiltInCategory.OST_RoofSoffit:
|
|
{
|
|
categoryName = "屋顶";
|
|
}
|
|
break;
|
|
//坡道
|
|
case BuiltInCategory.OST_Ramps:
|
|
//门
|
|
case BuiltInCategory.OST_Doors:
|
|
//窗
|
|
case BuiltInCategory.OST_Windows:
|
|
//天花板
|
|
case BuiltInCategory.OST_Ceilings:
|
|
{
|
|
categoryName = item.Category.Name;
|
|
}
|
|
break;
|
|
//幕墙系统
|
|
case BuiltInCategory.OST_CurtaSystem:
|
|
//幕墙竖梃
|
|
case BuiltInCategory.OST_CurtainWallMullions:
|
|
//幕墙嵌板
|
|
case BuiltInCategory.OST_CurtainWallPanels:
|
|
{
|
|
categoryName = "幕墙";
|
|
}
|
|
break;
|
|
//墙饰条
|
|
case BuiltInCategory.OST_Cornices:
|
|
//墙
|
|
case BuiltInCategory.OST_Walls:
|
|
{
|
|
categoryName = "建筑墙";
|
|
if (item is Wall wall)
|
|
{
|
|
var structural = wall
|
|
.get_Parameter(BuiltInParameter.WALL_STRUCTURAL_SIGNIFICANT)
|
|
.AsInteger();
|
|
if (structural == 1)
|
|
{
|
|
categoryName = "混凝土墙";
|
|
}
|
|
|
|
if (wall.StructuralUsage ==
|
|
StructuralWallUsage.NonBearing)
|
|
{
|
|
categoryName = "建筑墙";
|
|
}
|
|
|
|
if (wall.WallType.Kind == WallKind.Curtain)
|
|
{
|
|
categoryName = "幕墙";
|
|
}
|
|
|
|
if (doc.Title.Contains("围护"))
|
|
{
|
|
categoryName = "围护墙";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
return categoryName;
|
|
}
|
|
/// <summary>
|
|
/// 获取建筑标识
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
/// <param name="hasWindowDoor"></param>
|
|
/// <returns></returns>
|
|
public static string GetArchiCategory(this Element item, bool hasWindowDoor)
|
|
{
|
|
Document doc = item.Document;
|
|
|
|
var categoryName = string.Empty;
|
|
switch (item.Category.ToBuiltInCategory())
|
|
{
|
|
//结构连接
|
|
case BuiltInCategory.OST_StructConnections:
|
|
break;
|
|
//钢筋形状
|
|
case BuiltInCategory.OST_RebarShape:
|
|
//结构路径钢筋
|
|
case BuiltInCategory.OST_PathRein:
|
|
//结构区域钢筋
|
|
case BuiltInCategory.OST_AreaRein:
|
|
//结构钢筋
|
|
case BuiltInCategory.OST_Rebar:
|
|
break;
|
|
//隔热层
|
|
case BuiltInCategory.OST_FabricationDuctworkInsulation:
|
|
//隔热层
|
|
case BuiltInCategory.OST_FabricationPipeworkInsulation:
|
|
//内衬
|
|
case BuiltInCategory.OST_FabricationDuctworkLining:
|
|
//MEP 预制保护层
|
|
case BuiltInCategory.OST_FabricationContainment:
|
|
break;
|
|
//风管内衬
|
|
case BuiltInCategory.OST_DuctLinings:
|
|
//风管隔热层
|
|
case BuiltInCategory.OST_DuctInsulations:
|
|
//管道隔热层
|
|
case BuiltInCategory.OST_PipeInsulations:
|
|
//HVAC 区
|
|
case BuiltInCategory.OST_HVAC_Zones:
|
|
break;
|
|
//MEP 预制支架
|
|
case BuiltInCategory.OST_FabricationHangers:
|
|
break;
|
|
//线管
|
|
case BuiltInCategory.OST_Conduit:
|
|
{
|
|
categoryName = "弱电线缆";
|
|
if (!item.Name.Contains("弱电"))
|
|
{
|
|
categoryName = "封闭母线及电缆电线";
|
|
}
|
|
}
|
|
break;
|
|
//电缆桥架
|
|
case BuiltInCategory.OST_CableTray:
|
|
{
|
|
categoryName = "电缆桥架";
|
|
}
|
|
break;
|
|
//线管配件
|
|
case BuiltInCategory.OST_ConduitFitting:
|
|
break;
|
|
//电缆桥架配件
|
|
case BuiltInCategory.OST_CableTrayFitting:
|
|
break;
|
|
|
|
//喷头
|
|
case BuiltInCategory.OST_Sprinklers:
|
|
{
|
|
categoryName = "消防喷头";
|
|
if (item.Name.Contains("闭式"))
|
|
{
|
|
categoryName = "闭式水喷头";
|
|
}
|
|
if (item.Name.Contains("水幕"))
|
|
{
|
|
categoryName = "水幕喷头";
|
|
}
|
|
if (item.Name.Contains("干粉"))
|
|
{
|
|
categoryName = "干粉喷头";
|
|
}
|
|
}
|
|
break;
|
|
//灯具
|
|
case BuiltInCategory.OST_LightingDevices:
|
|
{
|
|
if (item.Name.Contains("应急"))
|
|
{
|
|
categoryName = "消防应急照明灯具";
|
|
if (item.Name.Contains("标志"))
|
|
{
|
|
categoryName = "消防应急标志灯具";
|
|
if (item.Name.Contains("照明"))
|
|
{
|
|
categoryName = "消防应急照明标志复合灯具";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//护理呼叫设备
|
|
case BuiltInCategory.OST_NurseCallDevices:
|
|
//电话设备
|
|
case BuiltInCategory.OST_TelephoneDevices:
|
|
//专用设备
|
|
case BuiltInCategory.OST_SpecialityEquipment:
|
|
//数据设备
|
|
case BuiltInCategory.OST_DataDevices:
|
|
//通讯设备
|
|
case BuiltInCategory.OST_CommunicationDevices:
|
|
//安全设备
|
|
case BuiltInCategory.OST_SecurityDevices:
|
|
//电气设备
|
|
case BuiltInCategory.OST_ElectricalEquipment:
|
|
{
|
|
if (item.Name.Contains("控制台"))
|
|
{
|
|
categoryName = "消防控制台";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("控制柜"))
|
|
{
|
|
categoryName = "消防水泵控制柜";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("表"))
|
|
{
|
|
if (item.Name.Contains("智能"))
|
|
{
|
|
categoryName = "智能表";
|
|
}
|
|
if (item.Name.Contains("电能"))
|
|
{
|
|
if (item.Name.Contains("无功"))
|
|
{
|
|
categoryName = "无功功电能表";
|
|
}
|
|
else
|
|
{
|
|
categoryName = "有功功电能表";
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("传感器"))
|
|
{
|
|
categoryName = "传感器";
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("闸机"))
|
|
{
|
|
categoryName = "闸机";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("液化石油气"))
|
|
{
|
|
categoryName = "液化石油气设备";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("梯"))
|
|
{
|
|
if (item.Name.Contains("货梯"))
|
|
{
|
|
categoryName = "货梯";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("担架"))
|
|
{
|
|
categoryName = "担架电梯";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("消防"))
|
|
{
|
|
categoryName = "消防电梯";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("杂物"))
|
|
{
|
|
categoryName = "杂物电梯";
|
|
}
|
|
if (item.Name.Contains("食梯"))
|
|
{
|
|
categoryName = "食梯";
|
|
}
|
|
if (item.Name.Contains("电梯门"))
|
|
{
|
|
categoryName = "电梯门";
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("升降平台"))
|
|
{
|
|
categoryName = "轮椅升降平台";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("轿厢"))
|
|
{
|
|
categoryName = "轿厢";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("人行") && item.Name.Contains("自动"))
|
|
{
|
|
categoryName = "自动人行道";
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
//管道附件
|
|
case BuiltInCategory.OST_PipeAccessory:
|
|
{
|
|
if (item.Name.Contains("计量表"))
|
|
{
|
|
categoryName = "计量表";
|
|
}
|
|
if (item.Name.Contains("燃气表"))
|
|
{
|
|
categoryName = "燃气表";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("热量表"))
|
|
{
|
|
categoryName = "热量表";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("试水阀"))
|
|
{
|
|
categoryName = "试水阀";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("地漏"))
|
|
{
|
|
categoryName = "网框式地漏";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("水嘴"))
|
|
{
|
|
categoryName = "水嘴";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("水炮"))
|
|
{
|
|
categoryName = "自动扫描射水高空水炮灭火装置";
|
|
if (item.Name.Contains("标准"))
|
|
{
|
|
categoryName = "标准型自动扫描射水高空水炮灭火装置";
|
|
}
|
|
break;
|
|
}
|
|
if (item.Name.Contains("水龙头"))
|
|
{
|
|
categoryName = "水龙头";
|
|
if (categoryName.Contains("医用"))
|
|
{
|
|
categoryName = "医用水龙头";
|
|
}
|
|
}
|
|
if (item.Name.Contains("雨水口"))
|
|
{
|
|
categoryName = "雨水口";
|
|
if (item.Name.Contains("渗透"))
|
|
{
|
|
categoryName = "渗透雨水口";
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
//管件
|
|
case BuiltInCategory.OST_PipeFitting:
|
|
break;
|
|
//软管
|
|
case BuiltInCategory.OST_FlexPipeCurves:
|
|
// MEP 预制管道
|
|
case BuiltInCategory.OST_FabricationPipework:
|
|
//管道
|
|
case BuiltInCategory.OST_PipeCurves:
|
|
{
|
|
categoryName = "水管道";
|
|
if (item is MEPCurve curve)
|
|
{
|
|
var mepSystem = doc.GetElement(curve.MEPSystem.GetTypeId()) as MEPSystemType;
|
|
|
|
if (item.Name.Contains("油") || mepSystem.Name.Contains("油"))
|
|
{
|
|
categoryName = "特殊液体管道";
|
|
}
|
|
if (item.Name.Contains("气") || mepSystem.Name.Contains("气"))
|
|
{
|
|
categoryName = "特殊气体管道";
|
|
}
|
|
}
|
|
if (item is MEPCurveType)
|
|
{
|
|
if (item.Name.Contains("油"))
|
|
{
|
|
categoryName = "特殊液体管道";
|
|
}
|
|
if (item.Name.Contains("气"))
|
|
{
|
|
categoryName = "特殊气体管道";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//管道系统
|
|
case BuiltInCategory.OST_PipingSystem:
|
|
break;
|
|
//导线
|
|
case BuiltInCategory.OST_Wire:
|
|
break;
|
|
//软风管
|
|
case BuiltInCategory.OST_FlexDuctCurves:
|
|
break;
|
|
//风管附件
|
|
case BuiltInCategory.OST_DuctAccessory:
|
|
break;
|
|
//风管系统
|
|
case BuiltInCategory.OST_DuctSystem:
|
|
break;
|
|
//风道末端
|
|
case BuiltInCategory.OST_DuctTerminal:
|
|
{
|
|
categoryName = "通风口";
|
|
if (item.Name.Contains("排气") && item.Name.Contains("卫生间"))
|
|
{
|
|
categoryName = "卫生间排气道";
|
|
}
|
|
}
|
|
break;
|
|
//风管管件
|
|
case BuiltInCategory.OST_DuctFitting:
|
|
break;
|
|
//风管
|
|
case BuiltInCategory.OST_DuctCurves:
|
|
break;
|
|
//空间
|
|
case BuiltInCategory.OST_MEPSpaces:
|
|
//房间
|
|
case BuiltInCategory.OST_Rooms:
|
|
break;
|
|
//体量洞口
|
|
case BuiltInCategory.OST_MassOpening:
|
|
break;
|
|
|
|
//体量玻璃
|
|
case BuiltInCategory.OST_MassGlazing:
|
|
break;
|
|
|
|
//体量分区
|
|
case BuiltInCategory.OST_MassZone:
|
|
break;
|
|
//体量楼层
|
|
case BuiltInCategory.OST_MassFloor:
|
|
break;
|
|
//体量
|
|
case BuiltInCategory.OST_Mass:
|
|
break;
|
|
//项目信息
|
|
case BuiltInCategory.OST_ProjectInformation:
|
|
break;
|
|
//植物
|
|
case BuiltInCategory.OST_Planting:
|
|
break;
|
|
//环境
|
|
case BuiltInCategory.OST_Entourage:
|
|
//建筑地坪
|
|
case BuiltInCategory.OST_BuildingPad:
|
|
//场地
|
|
case BuiltInCategory.OST_Site:
|
|
//道路
|
|
case BuiltInCategory.OST_Roads:
|
|
{
|
|
if (item.Name.Contains("盲道"))
|
|
{
|
|
categoryName = "盲道";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("轮椅通道线"))
|
|
{
|
|
categoryName = "轮椅通道线";
|
|
}
|
|
if (item.Name.Contains("停车场路面"))
|
|
{
|
|
categoryName = "停车场路面";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("停车位"))
|
|
{
|
|
categoryName = "机动车停车位";
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
//停车场
|
|
case BuiltInCategory.OST_Parking:
|
|
break;
|
|
//卫浴装置
|
|
case BuiltInCategory.OST_PlumbingFixtures:
|
|
{
|
|
if (item.Name.Contains("淋浴器"))
|
|
{
|
|
categoryName = "淋浴器";
|
|
if (item.Name.Contains("医用"))
|
|
{
|
|
categoryName = "医用淋浴器";
|
|
}
|
|
}
|
|
if (item.Name.Contains("蹲便器"))
|
|
{
|
|
categoryName = "蹲便器";
|
|
}
|
|
if (item.Name.Contains("淋浴房"))
|
|
{
|
|
categoryName = "淋浴房";
|
|
}
|
|
}
|
|
break;
|
|
//照明设备
|
|
case BuiltInCategory.OST_LightingFixtures:
|
|
break;
|
|
//电气装置
|
|
case BuiltInCategory.OST_ElectricalFixtures:
|
|
{
|
|
categoryName = "插座";
|
|
}
|
|
break;
|
|
|
|
//竖井洞口
|
|
case BuiltInCategory.OST_ShaftOpening:
|
|
break;
|
|
case BuiltInCategory.OST_SWallRectOpening:
|
|
{
|
|
categoryName = "门洞";
|
|
}
|
|
break;
|
|
//结构桁架
|
|
case BuiltInCategory.OST_StructuralTruss:
|
|
{
|
|
if (item.Name.Contains("混凝土"))
|
|
{
|
|
categoryName = "混凝土桁架";
|
|
if (item.Name.Contains("刚"))
|
|
{
|
|
categoryName = "混凝土刚架";
|
|
}
|
|
if (item.Name.Contains("屋"))
|
|
{
|
|
categoryName = "混凝土屋架";
|
|
}
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢桁架";
|
|
if (item.Name.Contains("网"))
|
|
{
|
|
categoryName = "钢网架";
|
|
}
|
|
if (item.Name.Contains("刚"))
|
|
{
|
|
categoryName = "钢刚架";
|
|
}
|
|
}
|
|
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木桁架";
|
|
if (item.Name.Contains("刚"))
|
|
{
|
|
categoryName = "木刚架";
|
|
}
|
|
if (item.Name.Contains("屋"))
|
|
{
|
|
categoryName = "木屋架";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//结构基础
|
|
case BuiltInCategory.OST_StructuralFoundation:
|
|
{
|
|
if (item is Floor)
|
|
{
|
|
categoryName = "混凝土结构楼板";
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土楼板";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢楼承板";
|
|
}
|
|
if (item.Name.Contains("地面板"))
|
|
{
|
|
categoryName = "地面板";
|
|
}
|
|
if (item.Name.Contains("楼层板"))
|
|
{
|
|
categoryName = "楼层板";
|
|
}
|
|
if (item.Name.Contains("挑檐"))
|
|
{
|
|
categoryName = "挑檐板";
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
categoryName = "防火挑檐";
|
|
if (item.Name.Contains("防护"))
|
|
{
|
|
categoryName = "防火防护挑檐";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (item is Wall)
|
|
{
|
|
categoryName = "混凝土墙";
|
|
//var structural = wall
|
|
// .get_Parameter(BuiltInParameter.WALL_STRUCTURAL_SIGNIFICANT)
|
|
// .AsInteger();
|
|
//if (major == Major.Structure || structural == 1)
|
|
//{
|
|
// categoryName = "混凝土墙";
|
|
//}
|
|
//else
|
|
if (item.Name.Contains("砌体"))
|
|
{
|
|
categoryName = "砌体墙";
|
|
}
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土墙板";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢结构剪力墙";
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木构架墙";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//结构柱
|
|
case BuiltInCategory.OST_StructuralColumns:
|
|
{
|
|
categoryName = "混凝土柱";
|
|
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢柱";
|
|
if (item.Name.Contains("型钢"))
|
|
{
|
|
categoryName = "型钢混凝土柱";
|
|
}
|
|
if (item.Name.Contains("钢管"))
|
|
{
|
|
categoryName = "钢管混凝土柱";
|
|
}
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木柱";
|
|
}
|
|
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土柱";
|
|
}
|
|
if (item.Name.Contains("砌体"))
|
|
{
|
|
categoryName = "砌体柱";
|
|
}
|
|
if (item.Name.Contains("叠合"))
|
|
{
|
|
categoryName = "叠合混凝土柱";
|
|
}
|
|
}
|
|
break;
|
|
//结构框架
|
|
case BuiltInCategory.OST_StructuralFraming:
|
|
{
|
|
categoryName = "混凝土梁";
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土梁";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢梁";
|
|
if (item.Name.Contains("型钢"))
|
|
{
|
|
categoryName = "型钢混凝土梁";
|
|
}
|
|
if (item.Name.Contains("钢筋") && item.Name.Contains("预应力"))
|
|
{
|
|
categoryName = "钢筋混凝土预应力梁";
|
|
}
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木梁";
|
|
}
|
|
}
|
|
break;
|
|
|
|
//终端
|
|
case BuiltInCategory.OST_RailingTermination:
|
|
//支座
|
|
case BuiltInCategory.OST_RailingSupport:
|
|
//扶手
|
|
case BuiltInCategory.OST_RailingHandRail:
|
|
//顶部扶栏
|
|
case BuiltInCategory.OST_RailingTopRail:
|
|
//栏杆扶手
|
|
case BuiltInCategory.OST_StairsRailing:
|
|
{
|
|
categoryName = "栏杆";
|
|
if (item.Name.Contains("标识"))
|
|
{
|
|
categoryName = "管理标识";
|
|
}
|
|
if (item.Name.Contains("板"))
|
|
{
|
|
categoryName = "栏板";
|
|
}
|
|
}
|
|
break;
|
|
//柱
|
|
case BuiltInCategory.OST_Columns:
|
|
{
|
|
categoryName = "建筑柱";
|
|
}
|
|
break;
|
|
//火警设备
|
|
case BuiltInCategory.OST_FireAlarmDevices:
|
|
//机械设备
|
|
case BuiltInCategory.OST_MechanicalEquipment:
|
|
{
|
|
if (item.Name.Contains("给水设备"))
|
|
{
|
|
categoryName = "成套增压给水设备";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("水箱"))
|
|
{
|
|
categoryName = "成品水箱";
|
|
if (item.Name.Contains("消防"))
|
|
{
|
|
categoryName = "消防水箱";
|
|
}
|
|
break;
|
|
}
|
|
if (item.Name.Contains("污水提升"))
|
|
{
|
|
categoryName = "污水提升设备";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("泵"))
|
|
{
|
|
if (item.Name.Contains("给水"))
|
|
{
|
|
categoryName = "给水泵";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("泳池"))
|
|
{
|
|
categoryName = "泳池水泵";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("浴室"))
|
|
{
|
|
categoryName = "公共浴室水泵";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("喷泉"))
|
|
{
|
|
categoryName = "喷泉水泵";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("污水") || item.Name.Contains("排水") || item.Name.Contains("潜水"))
|
|
{
|
|
categoryName = "污水泵";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("人防"))
|
|
{
|
|
categoryName = "人防手摇泵";
|
|
if (item.Name.Contains("污水"))
|
|
{
|
|
categoryName = "人防污水泵";
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (item.Name.Contains("风机"))
|
|
{
|
|
categoryName = "通风机";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("消火栓"))
|
|
{
|
|
categoryName = "室内消火栓";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("气瓶") || item.Name.Contains("气体"))
|
|
{
|
|
categoryName = "驱动气体储瓶";
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
//常规模型
|
|
case BuiltInCategory.OST_GenericModel:
|
|
{
|
|
if (item.Name.Contains("检查井"))
|
|
{
|
|
if (item.Name.Contains("污水"))
|
|
{
|
|
categoryName = "污水检查井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("废水"))
|
|
{
|
|
categoryName = "废水检查井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("雨水"))
|
|
{
|
|
categoryName = "雨水检查井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("渗透"))
|
|
{
|
|
categoryName = "渗透检查井";
|
|
if (item.Name.Contains("集水"))
|
|
{
|
|
categoryName = "集水渗透检查井";
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (item.Name.Contains("给水井"))
|
|
{
|
|
categoryName = "给水井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("排水井"))
|
|
{
|
|
categoryName = "建筑排水井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("穿越井"))
|
|
{
|
|
categoryName = "穿越井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("跌水井"))
|
|
{
|
|
categoryName = "跌水井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("电缆井"))
|
|
{
|
|
categoryName = "室外电缆井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("人孔"))
|
|
{
|
|
categoryName = "电力人孔";
|
|
if (item.Name.Contains("弱电"))
|
|
{
|
|
categoryName = "弱电人孔井";
|
|
}
|
|
break;
|
|
}
|
|
if (item.Name.Contains("手孔"))
|
|
{
|
|
categoryName = "电力手孔";
|
|
if (item.Name.Contains("弱电"))
|
|
{
|
|
categoryName = "弱电手孔井";
|
|
}
|
|
break;
|
|
}
|
|
if (item.Name.Contains("阀门井"))
|
|
{
|
|
categoryName = "水阀门井";
|
|
if (item.Name.Contains("燃气"))
|
|
{
|
|
categoryName = "燃气阀门井";
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("拱"))
|
|
{
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢拱";
|
|
}
|
|
if (item.Name.Contains("混凝土"))
|
|
{
|
|
categoryName = "混凝土拱";
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木拱";
|
|
}
|
|
if (item.Name.Contains("砌体"))
|
|
{
|
|
categoryName = "砌体拱";
|
|
}
|
|
}
|
|
|
|
if (item.Name.Contains("混凝土") && item.Name.Contains("薄壳"))
|
|
{
|
|
categoryName = "混凝土薄壳";
|
|
}
|
|
else if (item.Name.Contains("钢支撑"))
|
|
{
|
|
categoryName = "钢支撑";
|
|
}
|
|
else if (item.Name.Contains("钢屋架"))
|
|
{
|
|
categoryName = "钢屋架系统构件";
|
|
}
|
|
else if (item.Name.Contains("雨蓬"))
|
|
{
|
|
categoryName = "雨篷制品";
|
|
}
|
|
|
|
else if (item.Name.Contains("拉索"))
|
|
{
|
|
categoryName = "拉索";
|
|
}
|
|
else if (item.Name.Contains("壳") && item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢网壳";
|
|
}
|
|
else if (item.Name.Contains("吊杆"))
|
|
{
|
|
categoryName = "顶棚吊杆";
|
|
}
|
|
|
|
if (item.Name.Contains("水表井"))
|
|
{
|
|
categoryName = "水表井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("入渗井"))
|
|
{
|
|
categoryName = "入渗井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("消波井"))
|
|
{
|
|
categoryName = "人防消波井";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("弃流池"))
|
|
{
|
|
categoryName = "弃流池";
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("台阶"))
|
|
{
|
|
categoryName = "台阶";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("平台"))
|
|
{
|
|
categoryName = "平台";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("厕位"))
|
|
{
|
|
categoryName = "厕位";
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
//橱柜
|
|
case BuiltInCategory.OST_Casework:
|
|
//家具
|
|
case BuiltInCategory.OST_Furniture:
|
|
{
|
|
if (item.Name.Contains("卫生间"))
|
|
{
|
|
categoryName = "卫生间家具";
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("床"))
|
|
{
|
|
categoryName = "床";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("固定式"))
|
|
{
|
|
categoryName = "固定式轮椅席位";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("可移动"))
|
|
{
|
|
categoryName = "可移动轮椅席位";
|
|
break;
|
|
}
|
|
if (item.Name.Contains("可移动") && item.Name.Contains("陪护"))
|
|
{
|
|
categoryName = "可移动陪护席位";
|
|
break;
|
|
}
|
|
|
|
if (item.Name.Contains("防撞扶手"))
|
|
{
|
|
if (item.Name.Contains("双层"))
|
|
{
|
|
categoryName = "双层防撞扶手";
|
|
}
|
|
else
|
|
{
|
|
categoryName = "单层防撞扶手";
|
|
}
|
|
break;
|
|
}
|
|
if (item.Name.Contains("抓杆"))
|
|
{
|
|
if (item.Name.Contains("单层"))
|
|
{
|
|
categoryName = "单层水平安全抓杆";
|
|
}
|
|
if (item.Name.Contains("双层"))
|
|
{
|
|
categoryName = "双层水平安全抓杆";
|
|
}
|
|
break;
|
|
}
|
|
|
|
}
|
|
break;
|
|
|
|
//结构加强板
|
|
case BuiltInCategory.OST_StructuralStiffener:
|
|
//楼板边缘
|
|
case BuiltInCategory.OST_EdgeSlab:
|
|
//楼板
|
|
case BuiltInCategory.OST_Floors:
|
|
{
|
|
categoryName = "混凝土结构楼板";
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土楼板";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢楼承板";
|
|
}
|
|
if (item.Name.Contains("地面板"))
|
|
{
|
|
categoryName = "地面板";
|
|
}
|
|
if (item.Name.Contains("楼层板"))
|
|
{
|
|
categoryName = "楼层板";
|
|
}
|
|
if (item.Name.Contains("挑檐"))
|
|
{
|
|
categoryName = "挑檐板";
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
categoryName = "防火挑檐";
|
|
if (item.Name.Contains("防护"))
|
|
{
|
|
categoryName = "防火防护挑檐";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//支撑
|
|
case BuiltInCategory.OST_StairsStringerCarriage:
|
|
break;
|
|
//平台
|
|
case BuiltInCategory.OST_StairsLandings:
|
|
{
|
|
categoryName = "楼梯平台";
|
|
}
|
|
break;
|
|
//梯段
|
|
case BuiltInCategory.OST_StairsRuns:
|
|
{
|
|
categoryName = "楼梯梯段";
|
|
}
|
|
break;
|
|
//楼梯
|
|
case BuiltInCategory.OST_Stairs:
|
|
{
|
|
|
|
categoryName = "混凝土楼梯";
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制楼梯";
|
|
}
|
|
if (hasWindowDoor)
|
|
{
|
|
categoryName = "楼梯";
|
|
if (item.Name.Contains("伸缩"))
|
|
{
|
|
categoryName = "伸缩楼梯";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
|
|
//体量屋顶
|
|
case BuiltInCategory.OST_MassRoof:
|
|
//屋顶
|
|
case BuiltInCategory.OST_Roofs:
|
|
//檐沟
|
|
case BuiltInCategory.OST_Gutter:
|
|
//封檐板
|
|
case BuiltInCategory.OST_Fascia:
|
|
//屋檐底板
|
|
case BuiltInCategory.OST_RoofSoffit:
|
|
{
|
|
categoryName = "屋面";
|
|
if (item.Name.Contains("采光顶"))
|
|
{
|
|
categoryName = "采光顶";
|
|
}
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土屋面板";
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木屋架";
|
|
}
|
|
if (item.Name.Contains("木基层"))
|
|
{
|
|
categoryName = "屋面木基层";
|
|
}
|
|
|
|
}
|
|
break;
|
|
//坡道
|
|
case BuiltInCategory.OST_Ramps:
|
|
{
|
|
if (item.Name.Contains("坡道"))
|
|
{
|
|
if (item.Name.Contains("无障碍"))
|
|
{
|
|
categoryName = "无障碍坡道";
|
|
}
|
|
if (item.Name.Contains("轮椅"))
|
|
{
|
|
categoryName = "轮椅坡道";
|
|
}
|
|
if (item.Name.Contains("缘石"))
|
|
{
|
|
categoryName = "缘石坡道";
|
|
}
|
|
if (item.Name.Contains("平台"))
|
|
{
|
|
categoryName = "坡道平台";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//门
|
|
case BuiltInCategory.OST_Doors:
|
|
{
|
|
categoryName = "建筑门";
|
|
if (item.Name.Contains("平开"))
|
|
{
|
|
categoryName = "平开门";
|
|
}
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
if (item.Name.Contains("推拉"))
|
|
{
|
|
categoryName = "防火推拉门";
|
|
}
|
|
if (item.Name.Contains("弹簧"))
|
|
{
|
|
categoryName = "防火弹簧门";
|
|
}
|
|
if (item.Name.Contains("卷帘"))
|
|
{
|
|
categoryName = "防火卷帘门";
|
|
}
|
|
if (item.Name.Contains("滑升"))
|
|
{
|
|
categoryName = "防火滑升门";
|
|
}
|
|
if (item.Name.Contains("吊"))
|
|
{
|
|
categoryName = "防火吊门";
|
|
}
|
|
}
|
|
if (item.Name.Contains("密闭"))
|
|
{
|
|
categoryName = "密闭门";
|
|
if (item.Name.Contains("防护"))
|
|
{
|
|
categoryName = "防护密闭门";
|
|
}
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
categoryName = "防火密闭门";
|
|
if (item.Name.Contains("防护"))
|
|
{
|
|
categoryName = "防护防火密闭门";
|
|
}
|
|
}
|
|
}
|
|
if (item.Name.Contains("门帘"))
|
|
{
|
|
categoryName = "门帘";
|
|
}
|
|
}
|
|
break;
|
|
//体量天窗
|
|
case BuiltInCategory.OST_MassSkylights:
|
|
//窗
|
|
case BuiltInCategory.OST_Windows:
|
|
{
|
|
categoryName = "建筑窗";
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
categoryName = "防火平开窗";
|
|
if (item.Name.Contains("固定"))
|
|
{
|
|
categoryName = "防火固定窗";
|
|
}
|
|
if (item.Name.Contains("推拉"))
|
|
{
|
|
categoryName = "防火推拉窗";
|
|
}
|
|
if (item.Name.Contains("立转"))
|
|
{
|
|
categoryName = "防火立转窗";
|
|
}
|
|
if (item.Name.Contains("平推"))
|
|
{
|
|
categoryName = "防火平推窗";
|
|
}
|
|
if (item.Name.Contains("上悬"))
|
|
{
|
|
categoryName = "防火上悬窗";
|
|
}
|
|
if (item.Name.Contains("中悬"))
|
|
{
|
|
categoryName = "防火中悬窗";
|
|
}
|
|
if (item.Name.Contains("下悬"))
|
|
{
|
|
categoryName = "防火下悬窗";
|
|
}
|
|
if (item.Name.Contains("上下提升"))
|
|
{
|
|
categoryName = "防火上下提升窗";
|
|
}
|
|
if (item.Name.Contains("百叶"))
|
|
{
|
|
categoryName = "防火百叶窗";
|
|
}
|
|
if (item.Name.Contains("落地"))
|
|
{
|
|
categoryName = "防火落地窗";
|
|
}
|
|
}
|
|
else if (item.Name.Contains("门帘"))
|
|
{
|
|
if (item.Name.Contains("防火"))
|
|
{
|
|
categoryName = "防火门联窗";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
//天花板
|
|
case BuiltInCategory.OST_Ceilings:
|
|
{
|
|
categoryName = "吊顶";
|
|
}
|
|
break;
|
|
//幕墙系统
|
|
case BuiltInCategory.OST_CurtaSystem:
|
|
//幕墙竖梃
|
|
case BuiltInCategory.OST_CurtainWallMullions:
|
|
{
|
|
categoryName = "装饰格栅";
|
|
}
|
|
break;
|
|
//幕墙嵌板
|
|
case BuiltInCategory.OST_CurtainWallPanels:
|
|
{
|
|
categoryName = "幕墙面板";
|
|
}
|
|
break;
|
|
//体量外墙
|
|
case BuiltInCategory.OST_MassExteriorWall:
|
|
//体量内墙
|
|
case BuiltInCategory.OST_MassInteriorWall:
|
|
//墙饰条
|
|
case BuiltInCategory.OST_Cornices:
|
|
//墙
|
|
case BuiltInCategory.OST_Walls:
|
|
{
|
|
if (item is Wall wall)
|
|
{
|
|
categoryName = "混凝土墙";
|
|
//var structural = wall
|
|
// .get_Parameter(BuiltInParameter.WALL_STRUCTURAL_SIGNIFICANT)
|
|
// .AsInteger();
|
|
if (hasWindowDoor)
|
|
{
|
|
categoryName = "建筑墙";
|
|
if (wall.WallType.Function == WallFunction.Exterior &&
|
|
wall.StructuralUsage == StructuralWallUsage.NonBearing)
|
|
{
|
|
categoryName = "建筑外墙";
|
|
}
|
|
|
|
if (item.Name.Contains("隔墙"))
|
|
{
|
|
categoryName = "隔墙";
|
|
}
|
|
if (item.Name.Contains("隔板"))
|
|
{
|
|
categoryName = "隔板";
|
|
}
|
|
}
|
|
|
|
if (wall.WallType.Kind == WallKind.Curtain)
|
|
{
|
|
categoryName = "幕墙";
|
|
}
|
|
|
|
if (item.Name.Contains("砌体"))
|
|
{
|
|
categoryName = "砌体墙";
|
|
}
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土墙板";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢结构剪力墙";
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木构架墙";
|
|
}
|
|
if (item.Name.Contains("抗爆"))
|
|
{
|
|
categoryName = "抗爆隔墙";
|
|
}
|
|
}
|
|
if (item is WallType wallType)
|
|
{
|
|
categoryName = "混凝土墙";
|
|
//var structural = wallType
|
|
// .get_Parameter(BuiltInParameter.WALL_STRUCTURAL_SIGNIFICANT)
|
|
// .AsInteger();
|
|
if (hasWindowDoor)
|
|
{
|
|
categoryName = "建筑墙";
|
|
if (wallType.Function == WallFunction.Exterior)
|
|
{
|
|
categoryName = "建筑外墙";
|
|
}
|
|
|
|
if (item.Name.Contains("隔墙"))
|
|
{
|
|
categoryName = "隔墙";
|
|
}
|
|
if (item.Name.Contains("隔板"))
|
|
{
|
|
categoryName = "隔板";
|
|
}
|
|
}
|
|
|
|
if (wallType.Kind == WallKind.Curtain)
|
|
{
|
|
categoryName = "幕墙";
|
|
}
|
|
|
|
if (item.Name.Contains("砌体"))
|
|
{
|
|
categoryName = "砌体墙";
|
|
}
|
|
if (item.Name.Contains("预制"))
|
|
{
|
|
categoryName = "预制混凝土墙板";
|
|
}
|
|
if (item.Name.Contains("钢"))
|
|
{
|
|
categoryName = "钢结构剪力墙";
|
|
}
|
|
if (item.Name.Contains("木"))
|
|
{
|
|
categoryName = "木构架墙";
|
|
}
|
|
if (item.Name.Contains("抗爆"))
|
|
{
|
|
categoryName = "抗爆隔墙";
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return categoryName;
|
|
}
|
|
}
|
|
}
|