管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-03-14 fe598c1ac81772e661647444056b448c085e8f70
ExportMap/cs/ConvertUtils.cs
@@ -8,12 +8,15 @@
namespace ExportMap.cs
{
    /// <summary>
    /// 模型转换工具
    /// </summary>
    public class ConvertUtils
    {
        /// <summary>
        /// 工作配置
        /// </summary>
        public static string JobConfig = "{ \"format\": \"3dtiles\", \"mode\": 0, \"outputPath\": \"{0}\", \"outputOptions\": null, \"levelOfDetail\": -1, \"levelOfDetailText\": \"Auto\", \"georeferenced\": null }";
        public static string JobConfig = "{{ \"format\": \"3dtiles\", \"mode\": 0, \"outputPath\": \"{0}\", \"outputOptions\": null, \"levelOfDetail\": -1, \"levelOfDetailText\": \"Auto\", \"georeferenced\": null }}";
        /// <summary>
        /// Roamer.exe
@@ -29,7 +32,9 @@
            string uploadFolder = Tool.GetSetting("uploadFolder");
            string tilesFolder = Path.Combine(Tool.GetSetting("lfData"), "3d\\3dtiles");
            List<SysMeta> list = XYZUtils.selectMetas(ids, "type in ('ifc', 'fbx', 'rvt')");
            List<SysMeta> list = XYZUtils.selectMetas(ids, "and type in ('ifc', 'fbx', 'rvt')");
            if (null == list || list.Count == 0) return 0;
            foreach (SysMeta meta in list)
            {
                try
@@ -47,6 +52,7 @@
                    WriteText(configFile, string.Format(JobConfig, outPath));
                    ExecNavisworks(modelFile, configFile);
                    File.Delete(configFile);
                    count++;
                }
@@ -62,9 +68,9 @@
        /// <summary>
        /// 运行Navisworks
        /// </summary>
        public static string ExecNavisworks(string modelFile, string outPath)
        public static string ExecNavisworks(string modelFile, string configFile)
        {
            string args = string.Format("-licensing AdLM -OpenFile \"{0}\" -ExecuteAddInPlugin SmartEarth \"{1}\" -NoGui -NoCache -Exit", modelFile, outPath);
            string args = string.Format("-licensing AdLM -OpenFile \"{0}\" -ExecuteAddInPlugin \"EngineBatch_Sample.SmartEarth\" \"{1}\" -NoGui -Exit", modelFile, configFile);
            Process p = new Process();
            p.StartInfo.UseShellExecute = false;