1 / 4
文档名称:

NET平台的AutoCAD二次开发.doc

格式:doc   大小:20KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

NET平台的AutoCAD二次开发.doc

上传人:taoapp 2022/1/22 文件大小:20 KB

下载得到文件列表

NET平台的AutoCAD二次开发.doc

相关文档

文档介绍

文档介绍:NET平台的AutoCAD二次开发
当前AutoCAD的二次开发工具主要有:VisualLisp、VBA和ObjectARX等。其中,VisualLisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比ObjectARe(new Point3d(0, 0, 0), new Point3d(200, 200, 0));//创建一条直线
try {
(line);//将直线添加到模型空间中
();//关闭该直线
}
finally {
();//关闭块表记录
();//关闭块表
}
}
由此可见,上述语句与在VC下的开发非常类似,其过程都是先得到数据库,然后依次打开块表、块表记录,接着添加实体,最后关闭块表、块表记录。值得注意的是finally语句,无论try块中的语句是否发生异常,finally块中的语句都会被执行,从而确保关闭块表和块表记录的操作会被执行。
{
//清除操作
}
写完代码后进行编译,编译完成将得到一个dll文件。在AutoCAD 2006中通过netload命令即可选择该dll文件进行加载,加载成功后即可以通过AddLine命令执行上述代码。 API版本还不支持卸载,若要卸载只能关闭AutoCAD。
4..NET API的初始化与清除
在ObjectARX中,acrxEntryPoint函数是ARX程序的载入点,程序的初始化和清除均可在该函数中进行。 API中则首先需要将初始化代码封装在一个类中,同时该类需要压迫实现IExtensionApplication接口。该接口包含Initialize与Terminate两个函数。其中Initialize负责加载程序时的初始化操作,Terminate则负责进行卸载程序时的清除操作。代码如下:
namespace ARXExample {
public class MyARX : IExtensionApplication {
……
public void Initialize() {
//初始化操作
}
public void Terminate() {
//清除操作
}
……

}
同时,为加快加载速度,:
[assembly: ExtensionApplication (typeof () ) ]
[assembly: CommandClass (typeof () ) ]
这样在加载程序时AutoCAD将直接通过MyARX中的Initialize语句进行初始化,同时注册MyARX中的命令。否则,AutoCAD将搜索dll中所有的类以找到实现IExtensionApplication接口的类进行初始化,如找不到则不进行初始化。同样,通过CommandClass属性,AutoCAD也会直接到MyARX类中搜索要注册的命令。当程序中包含的类数目较多时,通过Ex