我正在用C#开发一些AutoCAD附加组件,我希望首先在控制台应用程序中工作/调试我的类,直到我准备好在AutoCAD中实现这些功能。 / dot网络库无法卸载,每次修改代码时都需要重新启动/重新加载acad / 有趣的是,我发现只要我声明一个使用autocad数据类型的变量,我的控制台应用程序拒绝运行,并且我提供了一个"应用程序处于中断模式"视觉工作室的屏幕。例如,此代码不会运行:
using System;
using Autodesk.AutoCAD.Geometry;
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hi");
Point2d p;
Console.ReadKey();
}
}
}
尝试使用此参考Autodesk C3D 2016 dll库。有没有人解释这里发生了什么和/或任何变通方法? thnks
答案 0 :(得分:1)
AutoCAD .NET API仅设计为在进程中运行。 AutoCAD .NET库只能用于构建必须在AutoCAD中加载才能执行的插件(DLL)。
答案 1 :(得分:0)
要调试AutoCAD附加代码,您需要创建一个引用Autodesk CAD 2016 Sdk库的C#类库项目,并将代码封装在用CommandMethodAttribute声明的公共方法上。使用CommandMethod声明的此方法后,它将成为AutoCAD提示命令和附加代码之间的触发器。
public class AcadCommands
{
[CommandMethod("TriggerCmd")]
public void TriggerCommand
{
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("Hi");
Point2d p;
}
}
注意:在Visual Studio项目属性中,您需要进行配置以启动指向acad.exe的调试,并且在AutoCAD应用程序启动时,打开一些DWG并提示"NETLOAD"命令以包含可调试的DLL,您的VS Project到AutoCAD Application上下文。