Browse Source

添加万达参数的处理

mengxiangge 4 years ago
parent
commit
1ab0ea187b

+ 26 - 1
Executer/DataExport/RevitToJBim/Common/RevitUtil.cs

@@ -96,10 +96,35 @@ namespace RevitToJBim.Common
                     parameters.Add(parameter);
                 }
             }
+            
+            var typeParameter = fi?.GetElementType()?.Parameters;
+            foreach (Autodesk.Revit.DB.Parameter p in typeParameter)
+            {
+                if (MBIBuiltInParameterName.EquipComponentCode.Equals(p.Definition.Name))
+                {
+                    if(!p.HasValue || (p.AsString() == null && p.AsString().Length == 0))
+                        continue;
+                    var parameter =
+                            new Parameter(ParameterUtil.FindParameterDefine(MBIBuiltInParameterName.EquipComponentCode));
+                    parameter.Value = p.AsString();
+                    parameters.Add(parameter);
+                }
+            }
 
             return parameters;
         }
 
+        public static ElementType GetElementType(Element element)
+        {
+            ElementId id = element.GetTypeId();
+            if (id != null && id != ElementId.InvalidElementId)
+            {
+                Element elementType = element.Document.GetElement(id);
+                return elementType as ElementType;
+            }
+            return null;
+        }
+
         /// <summary>
         /// 获取设备设施的参数
         /// </summary>
@@ -107,7 +132,7 @@ namespace RevitToJBim.Common
         /// <returns></returns>
         public static List<Parameter> GetSpaceParameters(Space space)
         {
-            List<string> parameterNames = new List<string>() { MBIBuiltInParameterName.SpaceName, MBIBuiltInParameterName.SpaceNumber };
+            List<string> parameterNames = new List<string>() { MBIBuiltInParameterName.SpaceName, MBIBuiltInParameterName.SpaceNumber, MBIBuiltInParameterName.SpaceStandardTypeCode, MBIBuiltInParameterName.SpaceStandardType };
             List<Parameter> parameters = new List<Parameter>();
             foreach (var parameterName in parameterNames)
             {

+ 15 - 0
Executer/DataExport/RevitToJBim/MBI/MBIBuiltInParameterName.cs

@@ -21,6 +21,11 @@ namespace RevitToJBim.MBI
         public readonly static string EquipLocalName = "设备本地名称";
 
         /// <summary>
+        /// 构件分类编码
+        /// </summary>
+        public readonly static string EquipComponentCode = "构件分类编码";
+
+        /// <summary>
         /// 资产ID
         /// </summary>
         public readonly static string PropertyID = "PropertyID";
@@ -36,6 +41,16 @@ namespace RevitToJBim.MBI
         public readonly static string SpaceNumber = "编号";
 
         /// <summary>
+        /// 构件分类编码
+        /// </summary>
+        public readonly static string SpaceStandardTypeCode = "2.空间标准类型编码";
+
+        /// <summary>
+        /// 构件分类编码
+        /// </summary>
+        public readonly static string SpaceStandardType = "3.空间标准类型";
+
+        /// <summary>
         /// 管道-注释
         /// </summary>
         public readonly static string MEPCurveComments = "注释";

+ 3 - 1
Starter/Starter/Program.cs

@@ -46,9 +46,11 @@ namespace ExportStart
                 path = @"E:\1245.rvt";
 
                 path = @"C:\Users\SAGACLOUD\Desktop\海天中心项目_AM_T1_21F .rvt";
+                path = @"D:\1.rvt";
                 //path = @"D:\安装包\CAD\测试模型\F4测试.rvt";
                 JObject jObject = new JObject();
-                jObject.Add("ResultFileName", @"C:\Users\SAGACLOUD\AppData\Local\RevitService\Result_e26be2fd-2097-462b-bdd0-a2a86b616928.txt");
+                //jObject.Add("ResultFileName", @"C:\Users\SAGACLOUD\AppData\Local\RevitService\Result_e26be2fd-2097-462b-bdd0-a2a86b616928.txt");
+                jObject.Add("ResultFileName", @"D:\1.txt");
                 param = jObject.ToString();
 
                 //path= @"E:\导出测试\延庆园-B1.rvt";