看看吧,很好的东西,
源代码在线查看: [arx] 用vb.net编写autocad2005的dll程序.txt
软件大小: |
19 K |
上传用户: |
oujk123 |
|
|
关键词: |
|
下载地址: |
免注册下载 普通下载
|
|
用VB.NET编写AutoCAD2005的DLL程序:
在Visual Studio.NET中建立一个VB工程,选用类库(ClassLibrary),
添加引用,浏览找到AutoCAD2005目录下的acdbmgd.dll和acmgd.dll文件,
在代码类中加入如下代码:
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
Public Class Class1
_
Public Shared Sub MyTestCmd()
MsgBox("Hello World!")
End Sub
End Class
编译,
在AutoCAD2005中,用NETLOAD命令加载编译后的DLL文件,
在AutoCAD2005命令行中键入'TEST'运行.
--------------------------------------------------
ObjectARX Managed Wrapper Classes
(1)在AutoCAD2005中,ObjectARX分成了两类,一类是原来的ObjectARX库,另一类是ObjectARX Managed Managed Wrapper Classes.
(2)ObjectARX Managed Wrapper Classes存放在acdbmgd.dll和acmgd.dll中. "mgd"即"Managed".
(3)ObjectARX与ObjectARX Managed Wrapper Classes的映射关系:
AcDb Autodesk.AutoCAD.DatabaseServices
AcRx Autodesk.AutoCAD.Runtime
AcEd Autodesk.AutoCAD.ApplicationServices
AcUt Autodesk.AutoCAD.DatabaseServices, Autodesk.AutoCAD.ApplicationServices
AcCm Autodesk.AutoCAD.Colors
AcGe Autodesk.AutoCAD.Geometry
AcGi Autodesk.AutoCAD.GraphicsInterface
AcLy Autodesk.AutoCAD.LayerManager
AcPl Autodesk.AutoCAD.PlottingServices
(4)二者有很多不同之处,原来ObjectARX中的全局函数,被打包到一些新的类里边,成了这些类的方法或属性,而反应器则被Events替代了.
(5)注册命令时,我们使用了Public Shared Sub MyTextCmd(),这个Shared关键字,表明这个命令是static的,而不是instance的.所谓instance的命令,如果你打开3个dwg文件,那么你所注册的命令将会有3个copy,每个文档都有自己的copy,这样就不会发生变量冲突.