?? [arx] 用vb.net編寫autocad2005的dll程序.txt
字號:
用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
<CommandMethod("test")> _
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,這樣就不會發生變量沖突.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -