使用VS 2015 Community使用AutoCAD做更多自动化项目,并需要有关如何解决此问题的建议。使用此项目可以在8小时的轮班中使用40-60名用户,因此其想法是让它执行、完成然后等待下一个请求。因此,始终保持AutoCAD实例很重要,但此块可以以任何方式处理它。问题是AutoCAD有时需要1-2分钟才能真正加载,所以这就是我们保持它准备就绪的原因,但那是为了另一篇文章。
好的,所以AutoCAD就坐在那里,有它的开始屏幕,当一个请求通过网络传入时,C#项目就会开始运行。一切都很好。除了我在桌面上尝试它。我的桌面上有与运行这个自动化项目的服务器相同版本的AutoCAD。但是在我的计算机上,相同的代码每次都会打开一个新的AutoCAD实例。它的行为永远不会像部门中的其他计算机一样,只是使用现有的AutoCAD开放实例。我已经检查了我知道如何做的所有事情,但结果看起来并不好。
- class LaunchAutoCAD
- {
- private static IAcadApplication vAcadApp = null;
- private static IAcadDocument vAcadDoc = null;
- // CHANGE THIS TO AutoCAD.Application.20 FOR ACAD 2015/16
- private static string vAcadID = "AutoCAD.Application.20";
- public static void StartAutoCAD()
- {
- try
- {
- // Check for instance of AutoCAD
- vAcadApp = (IAcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject(vAcadID);
- }
- catch (Exception) // If none found start a new instance of AutoCAD
- {
- System.Type AcadProg = System.Type.GetTypeFromProgID(vAcadID);
- vAcadApp = (IAcadApplication)System.Activator.CreateInstance(AcadProg);
- }
- if (vAcadApp != null)
- {
- vAcadApp.Visible = true;
- .
- do a bunch of stuff with SendCommands
- .
- }
- else
- {
- Console.WriteLine("ERROR: The drawing file is missing.");
- Console.ReadKey();
- }
- }
- }
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |