AutoCAD中程序化加载.NET程序集的方法
在AutoCAD中程序化加載.NET程序集的方法(2)
除了上一篇中提到的用.NET程序實現的方法外,另一種用LISP加載.NET的程序集的方法由來已久。思路是用lisp語言程序化調用“Netload”命令,代碼也比較簡單,速度也還可以,示例如下:
(defun c:LOADNET()
(command "netload" "E:/documents/DotNetFile.dll")
(command "LOADNET")
(princ)
)
如果要加載的*.dll文件中正好也有一個名為"LOADNET"的目標命令,那么當第一次輸入"LOADNET"命令時,程序會先netload那個dll文件,然后執行其中定義的"LOADNET"目標命令;接下來再輸入"LOADNET"命令時,程序會“忽略”lisp的命令,進而執行dll文件中定義的"LOADNET"目標命令。這從表面看起來有點兒像“喚醒加載”,其實偶感覺每運行一次命令,CAD都要加載一次dll程序集,還是有差別的。
小結一下:
(1)這兩種加載方法都可以實現dll程序的批量后臺加載;
(2)這兩種加載方法在執行之前都要先加載原始的命令文件(第一種要加載主dll程序,第二種要先加載一下主lisp程序);
(3)這兩種方法加載后的dll程序同樣無法進行“卸載”,直到你關了AutoCAD;
(4)相比較來講,偶更傾向于用注冊表來控制.NET程序集的加載,因為反正無法卸載,還不如我一開始都把文件給加載全了,而且通過注冊表還可以實現真正的“喚醒加載”方式。
總結
以上是生活随笔為你收集整理的AutoCAD中程序化加载.NET程序集的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SoundNet:根据声音来识别场景环境
- 下一篇: 微信小程序学习day01-WXML 模板