lisp能用的多选文件对话框函数
本帖最后由 dtucad 于 2022-5-8 10:46 编辑由于lisp没有多选文件对话框,所以用c#做了一个,并打包到lisp中,加载附件lisp文件即可使用
函数使用说明:
;多选对话框函数:DTU-MultiSelectDialog (支持cad2007及以上版本)
;参数1为对话框标题栏提示文字
;参数2为文件类型
;返回值:所选择的文件名表(含路径)
;例子:
;(DTU-MultiSelectDialog "请选择文件" "所有文件(*.*)|*.*")
;(DTU-MultiSelectDialog "请选择DWG文件" "DWG文件(*.dwg)|*.DWG")
;(DTU-MultiSelectDialog "请选择LSP文件" "LSP文件(*.lsp)|*.LSP")
DLL打包进lisp用到了盛老师的汇编版打包工具,非常感谢
http://bbs.mjtd.com/forum.php?mo ... hlight=%B4%F2%B0%FC
刀图用户交流群:894659298
(免币了这么久,2022.5.8开始收个币)
cghdy 发表于 2022-2-10 09:24
想问问,开启对话框后能不能切换选择文件类型
(DTU-MultiSelectDialog "请选择DWG文件" "DWG文件(*.dwg)|*.DWG|LSP文件(*.lsp)|*.LSP") 很高大,谢谢分享 把
(if (< (atoi (substr (getvar "acadver") 1 2)) 19)
(setq *DTU-MultiSelectDialog-path* "d:\\DTU-MultiSelectDialog-低版本.dll");cad2007~2012版
(setq *DTU-MultiSelectDialog-path* "d:\\DTU-MultiSelectDialog-高版本.dll");cad2013及以上版本
)
替换为
(if (< (atoi (substr (getvar "acadver") 1 2)) 19)
(setq *DTU-MultiSelectDialog-path* (vl-string-subst "DTU-MultiSelectDialog-低版本.dll" "acad.exe" (findfile "acad.exe")));cad2007~2012版
(setq *DTU-MultiSelectDialog-path* (vl-string-subst "DTU-MultiSelectDialog-高版本.dll" "acad.exe" (findfile "acad.exe")));cad2013及以上版本
)
错误: ADODB.Stream: 写入文件失败。
只能放在第一层目录吗?
强烈支持,下载试用下。 谢谢高手分享 想问问,开启对话框后能不能切换选择文件类型 谢谢楼主分享,楼主是个热心人! 谢谢楼主分享,楼主是个热心人! 找了好久,这个功能终于有解决方案了。原有调用系统cmdlg的,调用IE,WORD,EXCEL的,都弱爆了。这个多文件选择对话框,必须支持。感谢楼主分享。 这是折衷的方法吧,真不相信lisp都不更新了。