C# autoCAD从c运行命令#
我想在c#执行autoCAD命令。 单击按钮后,我想将“JUSTIFYTEXT MC”命令应用于所选对象。 目前,我的代码可以在命令中执行,但将执行一个新的autoCAD窗口。 我想知道如何在当前正在运行的CAD窗口中运行该命令 我的代码C# autoCAD从c运行命令#,c#,autocad,C#,Autocad,我想在c#执行autoCAD命令。 单击按钮后,我想将“JUSTIFYTEXT MC”命令应用于所选对象。 目前,我的代码可以在命令中执行,但将执行一个新的autoCAD窗口。 我想知道如何在当前正在运行的CAD窗口中运行该命令 我的代码 AcadApplication acad = new AcadApplication(); acad.Visible = true; acad.WindowState = AcWindowState.acMin; acad.ActiveDocument.Se
AcadApplication acad = new AcadApplication();
acad.Visible = true;
acad.WindowState = AcWindowState.acMin;
acad.ActiveDocument.SendCommand("JUSTIFYTEXT MC ");
我通过创建一个由autoloader加载的包并创建一个
WebAPI
来实现这一点
捆绑:
捆绑包是位于例如C:\ProgramData\Autodesk\ApplicationPlugins
上的文件夹,它具有特定的结构,即捆绑包支持的Autodesk
产品、平台(Win32
,Win64
以及捆绑包的起点所在。此配置应位于根目录下的PackageContents.xml
中
与PackageContents.xml
处于同一级别的内容文件夹,包含所有DLL等
正确配置PackageContents.xml
并使用接口IExtensionApplication
时,可以在启动时加载这些DLL
在扩展IExtensionApplication
接口的类中,当调用Initialize()
时,您可以创建Web Api
或其他类型的通信,如SignalR
。将连接字符串保存到文件中,然后从其他应用程序读取
现在,您应该能够通过托管在AutoCAD
实例中的本地web api与正在运行的AutoCAD
实例进行通信
希望简短的解释能有所帮助。这是一个新的AutoCAD窗口,因为您正在创建一个新的
AcadApplication
。您需要连接到现有的AcadApplication,而不是创建一个新的。您能告诉我如何连接到现有的AcadApplication吗?我不知道如何…只需加载您的模块,就可以运行应用程序了,并更改代码以使用现有autocad实例。