当前位置:服务支持 >  软件文章 >  cad二次开发秘籍:visualLisp实现多文件选择

cad二次开发秘籍:visualLisp实现多文件选择

阅读数 19
点赞 0
article_banner

cad二次开发秘技:visualLisp多文件选择的图1


VisualLisp是autoCAD提供的一种简单方便的二次开发语言。语言本身简单易学,功能却极其强大,几乎可以涉及到CAD操作的方方面面。autoCAD还贴心地为这种二次开发语言提供了开发和调试界面,用户只需要在命令行输入VLIDE命令即可打开Vlisp编程界面进行CAD二次开发。

除此之外,它最大的优点还在于其跨版本,跨系统能力超强。同样的Lisp代码,无需修改即可在十几个版本的CAD上流畅运行,这点甚至是强大的ObjectArx也无法比拟的,这也是vLisp成为广大工程师喜爱的CAD二次开发语言的重要原因。


cad二次开发秘技:visualLisp多文件选择的图2


vLisp具有方便地文件读写功能,但是要读写文件,必须要先选择文件,今天我们就来总结一下Vlisp文件选择的实现方法,附带笔者开发的一种多文件选择实现方案。



方法1:Vlisp自带的文件选择函数getfiled



该函数使用说明如下:

(getfiled 对话框的标签 缺省文件名 缺省的文件扩展名 按位编码)

如:(getfiled "123" "" " 32),触发的函数界面如下:

cad二次开发秘技:visualLisp多文件选择的图3

该方法为vLisp内置函数,好处是稳定,可选参数较多。缺点是只能一次选择一个文件,且无法选择文件夹。



方法2:调用Windows系统的Shell.Application进行文件夹选择



该方法的关键代码有以下两句:

(setq winshell (vlax-create-object "Shell.Application"))

(setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))

效果如下:

cad二次开发秘技:visualLisp多文件选择的图4

这种方法的优点在于可以选择文件夹,但是生成的窗口有可能会跑到CAD窗口背后去,造成不便。



方法3:调用外部exe,笔者独创方法



这种方法灵活性比较高,但是需要开发者至少会一种别的语言。其原理为:

Lisp调用外部exe->>外部exe弹出文件选择对话框-->>Lisp获取外部exe的选择结果。

在这里,笔者利用国产编程语言aardio生成了一个多文件选择对话框的exe文件,在lisp中利用WScript.Shell获取exe运行的返回值。值得注意的是,这种Lisp与外部exe交换数据的方式目前笔者还没有在别的地方见到过,不知道可否算得上是独创。运行效果如下:

cad二次开发秘技:visualLisp多文件选择的图5

除了以上3种,当然还有别的方法可以实现vLisp中实现文件选择对话框,各位读者可以多多探索。

欲获取文章相关的所有源代码文件,请关注公众号并后台回复选文件

如果觉得这篇文章帮到了您,请点“在看”。欢迎关注,分享,本公众号会持续分享建筑结构参数化的干货内容。

cad二次开发秘技:visualLisp多文件选择的图6


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空