繁体   English   中英

来自 c# 的 AutoCAD 运行命令

[英]autoCAD running commands from c#

我想在 c# 上执行 AutoCAD 命令。 单击按钮后,我想将“JUSTIFYTEXT MC”命令应用于所选对象。 目前我的代码可以在命令中执行,但将执行一个新的 AutoCAD 窗口。 我想知道如何在当前运行的 CAD 窗口中运行命令。

我的代码

AcadApplication acad = new AcadApplication();

acad.Visible = true;
acad.WindowState = AcWindowState.acMin;
acad.ActiveDocument.SendCommand("JUSTIFYTEXT MC ");

我通过创建一个由自动加载器加载的包并创建一个Web Api来做到这一点。

捆绑包: https : //adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html

捆绑包是位于例如C:\\ProgramData\\Autodesk\\ApplicationPlugins的文件夹,它具有特定结构、捆绑包支持的Autodesk产品、平台( Win32Win64以及捆绑包的起点在哪里。此配置应在根目录下的PackageContents.xml

PackageContents.xml处于同一级别的内容文件夹,其中包含您的所有 dll 等。

当正确配置PackageContents.xml并使用接口IExtensionApplication时,可以在启动时加载这些 dll。

在扩展IExtensionApplication接口的类中,您可以在IExtensionApplication Initialize()时创建Web Api或某种其他类型的通信,例如SignalR 将连接字符串保存到文件并从其他应用程序中读取。

您现在应该能够通过该AutoCAD实例中托管的本地 Web api 与正在运行的AutoCAD实例进行通信。

希望简短的解释有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM