using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using static CollaborativePlatformMain.CADStartUtil.AcadDirs;
namespace CollaborativePlatformMain.CADStartUtil
{
///
///
/// 文件名(File Name): StartCADUtil.cs
///
/// 描述(Description): 启动CAD并打开图纸
///
/// 数据表(Tables): nothing
///
/// 作者(Author): Ou Rui Song
///
/// 日期(Create Date): 2024年5月7日11:31:34
///
/// 修改记录(Revision History):
/// R1:
/// 修改作者:
/// 修改日期:
/// 修改理由:
///
///
public class StartCADUtil
{
static string location;
public static void StartCADMath()
{
try
{
//获取本机cad路径
AcadDirs regedits = new AcadDirs();
//未安装CAD
if (regedits.Dirs.Count == 0)
{
MessageBox.Show(DateTime.Now + "当前电脑未安装 AutoCAD ");
return;
}
//未安装2019版CAD
List cadPathpks = regedits.Dirs.Where(x => x.ProductName.Equals("AutoCAD 2019 - 简体中文 (Simplified Chinese)")).ToList();
if (cadPathpks.Count == 0)
{
Console.WriteLine(DateTime.Now + "当前电脑未安装 AutoCAD 2019 - 简体中文 (Simplified Chinese)");
Console.ReadLine();
return;
}
var pros = Process.GetProcessesByName("acad");
if (pros.Length != 0)
{
//已打开cad
}
else
{
location = cadPathpks[0].Location;
// 创建一个脚本文件并写入要执行的命令
//string scriptFile = location + "\\autocad_script.scr";
//File.WriteAllText(scriptFile, "DFBIMDwgComparisonCooperate\n");
// 启动AutoCAD进程并运行脚本文件
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = location + "\\acad.exe",
//Arguments = $"/b \"{scriptFile}\"",
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardInput = true,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process autocadProcess = new Process { StartInfo = startInfo })
{
autocadProcess.Start();
// 等待AutoCAD进程完成
autocadProcess.WaitForInputIdle();
// 删除脚本文件
//File.Delete(scriptFile);
}
}
}
catch (Exception)
{
return;
}
}
}
}