明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1735|回复: 3

lisp程序如何得到上一次的命令名称

[复制链接]
发表于 2008-5-17 09:24:00 | 显示全部楼层 |阅读模式
请问大哥:lisp如何才能取得前一个命令的名称,或如果取得输入过的CAD的命令列表。谢谢
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-5-17 10:04:00 | 显示全部楼层
(defun test( / lastcmdname)
  (vl-cmdf "")
  (setq lastcmdname(getvar "cmdnames"))
  (vl-cmdf)
  lastcmdname
)
;;只能作为函数,调用的程序估计也只能作为函数来使用了

 楼主| 发表于 2008-5-17 10:32:00 | 显示全部楼层

谢谢,不过这样好像不行。本这个提取的命令要用在当前lisp里使用的。里面 (vl-cmdf "")相当于执行了一次命令。这样不行。

发表于 2008-5-17 11:45:00 | 显示全部楼层

由于不知道如何发表新帖子,暂发在这里,请求大家帮忙。

一个任意点延长的程序,希望能进行优化。
(defun C:kxyc (/ PT1 S0 S1 S2)
(setvar "CMDECHO" 0)
(if (setq PT1 (getpoint "\n指定点位: "))
(progn
;;
(command "_.xline" "h" "non" PT1 "")
(setq S0 (entlast))
(command "_.xline" "v" "non" PT1 "")
(setq S1 (entlast))
;;
(command "_.EXTEND" S0 S1 "")
(while (setq S2 (entsel "\n点取对象: "))
(command S2)
)
(command "")
(command "_erase" S0 S1 "")
)
)
(setvar "CMDECHO" 1)
(princ)
) ;_结束 defun

优化的目标:1、能实现框选功能;2、中途ESC退出时辅助边界能消除。
谢谢了!

不好意思啊,占了大家的位置。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-1 08:30 , Processed in 0.173697 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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