只需一步,快速开始
[讨论]不同版本cad命令参数有差别,command调用时如何处理?
例如copy命令,之前版本是单步复制的,2006(也许更早)开始变成默认为多重复制。
那么,在lisp中使用command函数调用copy命令时,遵循何种规则?
使用道具 举报
加个版本判断可以
(defun yad-comd() (setvar "cmdecho" 1) (while (/= 0 (getvar "cmdactive")) (vl-cmdf pause)) (setvar "cmdecho" 0))
...
(vl-cmdf "_.xxx" ...)
(yad-comd)
(defun c:ddd ()(setq #a (ver))(setq #b (vl-string->list #a))(setq #c (vl-remove-if '(lambda (x) (> x 57)) #b))(setq #d (vl-remove-if '(lambda (x) (< x 46)) #c))(setq #e (vl-remove 47 #d)) (setq banben (vl-list->string #e)))
能求出版本号,剩下工作你自己定吧
楼主的理解有点差异,
AutoCAD 因版本改变对 Command的影响不大,以COPY 命令为例:
命令: copy选择对象: 指定对角点: 找到 3 个选择对象:当前设置: 复制模式 = 多个指定基点或 [位移(D)/模式(O)] <位移>:
命令: (command "copy")选择对象: 指定对角点: 找到 3 个选择对象:指定基点或 [位移(D)/多个(M)] <位移>:
也就是说常规的命令行显示和command调用的命令行是有差异的
其实我们做程序的时候,还是要判断一下版本的好
我以前做过一个程序,要用到copy命令,因为公司有人用2004的,有人用2007
每个人的设置是不一样的,2006以上版本安装默认是多重复制,所以还是判断一下比较好
其实就是多一个空格的事情
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-6-16 05:43 , Processed in 0.146492 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.