Browse Source

mxg:修改风管无法识别到系统错误;修改返回数据导出上传格式

mengxiangge 5 years ago
parent
commit
943b0be3bd

+ 14 - 10
Executer/DataExport/RevitToJBim/ComponentParse/ParseDuct.cs

@@ -5,24 +5,20 @@
  * 版本号:v1.0
  *  -------------------------------------------------------------------------*/
 
-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.Plumbing;
 using JBIM;
 using JBIM.Definition;
-using RevitExport;
 using RevitExport.Export;
 using RevitToJBim.Common;
 using RevitToJBim.ParseData;
 using SAGA.RevitUtils.Extends;
 using SAGA.RevitUtils.MEP;
-using JDuctShape = JBIM.Definition.DuctShape;
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using JDuct = JBIM.Component.Duct;
+using JDuctShape = JBIM.Definition.DuctShape;
 using XYZ = JBIM.Definition.XYZ;
 
 namespace RevitToJBim.ComponentParse
@@ -59,8 +55,16 @@ namespace RevitToJBim.ComponentParse
             #region 关联数据处理相关
             #region 系统关系
             var pipeId = duct.Id.ToString();
-            var systemTypeName = duct.Document.GetElement(duct.MEPSystem.GetTypeId());
-            jDuct.MepSystemTypeName = systemTypeName.Name;
+            try
+            {
+                var systemTypeName = duct.Document.GetElement(duct.MEPSystem?.GetTypeId());
+                jDuct.MepSystemTypeName = systemTypeName?.Name;
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.Message+e.StackTrace);
+            }
+            
             #endregion
 
             ConnectorProfileType shape = ConnectorProfileType.Invalid;

+ 1 - 1
Executer/DataExport/RevitToJBim/MbiExport.cs

@@ -52,7 +52,7 @@ namespace RevitToJBim
             }
             catch (Exception ex)
             {
-                result = BimJsonUtil.Serializer(ResultBase.Exception(ex.Message));
+                result = BimJsonUtil.Serializer(ResultBase.Exception(ex.Message+ex.StackTrace));
             }
 
             return result;

+ 9 - 0
Executer/MBIRevitBase/BResult.cs

@@ -10,6 +10,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using MBIRevitBase.Result;
 
 namespace MBIRevitBase
 {
@@ -48,6 +49,14 @@ namespace MBIRevitBase
             //有消息,则隐式转换成错误结果
             return new BResult(false, errorMessage);
         }
+        public static implicit operator BResult(HttpResult result)
+        {
+            //有消息,则隐式转换成错误结果
+            var rr = new BResult(true);
+            if(result!=null)
+                rr=new BResult(result.Result=="success",result.Message);
+            return rr;
+        }
         public override string ToString()
         {
             return Message ?? string.Empty;

+ 4 - 0
Executer/MBIRevitBase/MBIRevitBase.csproj

@@ -31,6 +31,9 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
     <Reference Include="Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
       <HintPath>..\..\packages\Polly.7.1.1\lib\netstandard2.0\Polly.dll</HintPath>
     </Reference>
@@ -49,6 +52,7 @@
     <Compile Include="BResult.cs" />
     <Compile Include="Config\ApiConfig.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Result\HttpResult.cs" />
     <Compile Include="Result\ResultBase.cs" />
     <Compile Include="Result\ResultState.cs" />
     <Compile Include="Services\UploadService.cs" />

+ 29 - 0
Executer/MBIRevitBase/Result/HttpResult.cs

@@ -0,0 +1,29 @@
+/* ==============================================================================
+ * 功能描述:HttpResult  
+ * 创 建 者:Garrett
+ * 创建日期:2019/9/18 10:21:11
+ * ==============================================================================*/
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+
+namespace MBIRevitBase.Result
+{
+    /// <summary>
+    /// HttpResult
+    /// </summary>
+    public class HttpResult
+    {
+        public string Message { get; set; }
+
+        public string Result { get; set; }
+
+        public static implicit operator HttpResult(string result)
+        {
+            return JsonConvert.DeserializeObject<HttpResult>(result);
+        }
+    }
+}

+ 2 - 1
Executer/MBIRevitBase/Tools/HttpUtils.cs

@@ -9,6 +9,7 @@ using System;
 using System.Diagnostics;
 using System.IO;
 using System.Net.Http;
+using MBIRevitBase.Result;
 
 namespace MBIRevitBase.Tools
 {
@@ -88,7 +89,7 @@ namespace MBIRevitBase.Tools
                     if (result.IsSuccessStatusCode)
                     {
                         string rslt = result.Content.ReadAsStringAsync().Result;
-                        return new BResult(true, rslt);
+                        return ((HttpResult)rslt);
                     }
                     else
                     {

+ 1 - 0
Executer/MBIRevitBase/packages.config

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="Newtonsoft.Json" version="11.0.1" targetFramework="net461" />
   <package id="Polly" version="7.1.1" targetFramework="net461" />
 </packages>

+ 1 - 0
Starter/Starter/Program.cs

@@ -39,6 +39,7 @@ namespace ExportStart
                 command = "DataExport";
                 path = @"E:\导出测试\testR17.rvt";
                 path = @"E:\导出测试\延庆园-B1.rvt";
+                path = @"E:\导出测试\365.rvt";
                 JObject jObject=new JObject();
                 jObject.Add("ResultFileName", @"C:\Users\SAGACLOUD\AppData\Local\RevitService\Result_e26be2fd-2097-462b-bdd0-a2a86b616928.txt");
                 param = jObject.ToString();