明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1492|回复: 5

在程序中至少一定要加一个"COMMAND"命令吗?

[复制链接]
发表于 2004-11-23 21:00:00 | 显示全部楼层 |阅读模式
(defun c:test( / enta R)
(setq enta(entget(car(entsel "\n选择对象:")))) (command """) ;如果不加command恢复时就会恢复多一步.这是怎么回事? (if(= "CIRCLE" (cdr(assoc 0 enta)))
(progn
(setq R(cdr(assoc 40 enta)))
(setq enta(subst(cons 40 20)(assoc 40 enta)enta))
(entmod enta)
)
)
(princ)
)
发表于 2004-11-23 21:26:00 | 显示全部楼层
我成功运行,请再试 (defun c:test( / enta R)
(setq enta (entget(car(entsel "\n选择对象:"))))
(if (= "CIRCLE" (cdr(assoc 0 enta)))
(progn
(setq R(cdr(assoc 40 enta)))
(setq enta(subst(cons 40 20)(assoc 40 enta)enta))
(entmod enta)
)
)
(princ)
)
 楼主| 发表于 2004-11-23 22:36:00 | 显示全部楼层
程序当然没问题!


                                                         只是成功运行后用 "U" 命令恢复原来的图形,却恢复到上上一步.如果加入command 命令就不会出现此问题,请问不用在程序中加入command 命令能解决吗?
发表于 2004-11-24 00:27:00 | 显示全部楼层
use" undo"
发表于 2004-11-24 12:45:00 | 显示全部楼层
(vl-cmdf ".undo" "be")....(vl-cmdf ".undo" "e")


vla-startundomark


vla-endundomark
发表于 2004-11-24 18:47:00 | 显示全部楼层
就算加了command也没用吧,比如我加载你的程序后,先画一个圆,再画一条直线,(不做其他操作),命令行输入命令test回车,选圆,圆直径变化,紧跟着输入u,圆恢复原直径,但直线也没了!如果说只恢复到上步,直线应该还在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-30 04:17 , Processed in 0.153707 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表