在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能:
其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语句,然后就可以直接在Autocad命令行用命令直接调用python二次开发的程序了。
例子:
(1)打包为exe
(2)编写lsp文件: johnyang.Lsp
(defun c:johnyang()
(startapp "F:\\PycharmProject\\DesignWorkTask\\setNewDimStyle\\setNewDimStyle.exe")
)
这个文件中,defun
是定义函数,johnyang()
是函数名称,无参数,这里在Autocad中输入的命令正是该函数名!注意不要与johnyang.Lsp的文件名混淆,输入的命令不是文件名。 startapp
是打开应用, 后面跟上exe的绝对路径,注意用\\
路径分隔符。最后应注意startapp命令需要用()
括号。
(3)AutoCAD中输入appload
来加载,选择刚创建的johnyang.Lsp
。
(4)命令行输入johnyang
可以发现,已经打开了该可执行文件!