katamoto 发表于 2014-11-20 21:33:31

cad版本查询 lisp

(getvar "acadver")

2010版本返回值是:"18.0s (LMS Tech)"
2004版本返回值是:"16.0s (LMS Tech)"

有没有直接返回2010或者2004 的语句,


ivde 发表于 2014-11-20 21:50:28

Autodesk没有提供,自己再处理

katamoto 发表于 2014-11-20 21:53:23

好吧,那只能根据对返回值的字符串处理,用cond判断了

wangph 发表于 2014-11-21 05:40:38

从注册表中读取,有的。

ZZXXQQ 发表于 2014-11-21 08:11:31

直接用函数(ver)的返回值判断

机械工程师 发表于 2014-11-21 08:37:25

命令: (ver)
"Visual LISP 2004 (en)"

自贡黄明儒 发表于 2014-11-21 08:38:05

(cond
((= cadver "R16.0") (setq str "ACAD-201:804")) ;_CAD2004
((= cadver "R16.1") (setq str "ACAD-301:804")) ;_CAD2005
((= cadver "R16.2") (setq str "ACAD-4001:804")) ;_CAD2006
((= cadver "R17.0") (setq str "ACAD-5001:804")) ;_CAD2007
((= cadver "R17.1") (setq str "ACAD-6001:804")) ;_CAD2008
((= cadver "R17.2") (setq str "ACAD-7000:409")) ;_CAD2009
((= cadver "R18.0") (setq str "ACAD-8001:804")) ;_CAD2010
((= cadver "R18.2") (setq str "ACAD-A001:804")) ;_CAD2012ACAD-A005:804
((= cadver "R19.0") (setq str "ACAD-B002:409")) ;_CAD2013
)

maiko 发表于 2014-11-21 10:01:09

(atoi (substr (ver) 13))

katamoto 发表于 2014-11-21 23:21:55

谢谢大神,都解决了我的问题,我自己用(substr (ver) 13 4)就ok啦。。

浅灰色橡皮泥 发表于 2014-11-25 14:45:12

这个功能具体的用途是什么呀
页: [1] 2
查看完整版本: cad版本查询 lisp