_chaogang 发表于 2024-5-6 15:55:07

如何按顺序执行command调用的内部命令





请教各位   现在我需要绘制一条多段线后, 紧接着再绘制一个圆,按上面的写法无法实现程序加载后会把两个命令一起执行有什么方法能再两个命令之间暂停等多段线画完后再执行画圆的命令

我想的是获取命令行输入的内容当输入为nil时执行画圆的命令但是我不知道命令行输入的内容传给哪个系统变量了有哪个大佬知道嘛想改写成下面这个样子

(command "pline")
(while (= 系统变量 nil)
(command "circle)
)

start4444 发表于 2024-5-7 00:58:56

这样? (command "PLINE" (setq px (getpoint "\n起点:")) (while (setq px (getpoint px "\n下一点:")) (command "non"px )) "CIRCLE" pause)

自贡黄明儒 发表于 2024-5-7 07:03:53

本帖最后由 自贡黄明儒 于 2024-5-9 10:09 编辑

听 说lisp是万能的,不信你试试。
**** Hidden Message *****

_chaogang 发表于 2024-5-6 17:06:43

自贡黄明儒 发表于 2024-5-6 16:41
(command "fillet" pause)

。。。我不是要圆角我是要画两个图元   正常执行(command “pline") 后   会提示我选择点   我要实现的是多段线绘制完后再执行(command "circle")   现在它是两条命令一起执行了导致(command "circle")这条命令丢失了

自贡黄明儒 发表于 2024-5-6 16:04:32

(while (= "PLINE" (GETVAR "CMDNAMES"))
   ((if command-s command-s vl-cmdf) pause)
)这样行不行?

_chaogang 发表于 2024-5-6 16:14:41

自贡黄明儒 发表于 2024-5-6 16:04
(while (= "PLINE" (GETVAR "CMDNAMES"))
   ((if command-s command-s vl-cmdf) pause)
)这样行不行? ...

试了一下好像不行   

自贡黄明儒 发表于 2024-5-6 16:41:40

(command "fillet" pause)

z312144636 发表于 2024-5-6 20:15:29

中間加一條語句
(setq pt0 (getpoint "請點選插入點:"))

yaokui25 发表于 2024-5-6 23:13:35

这个我也想了解一些,一起研究

你有种再说一遍 发表于 2024-5-7 03:34:43

你没有弄懂代码流程,参数是提前准备好的,参数失败才不调用命令,而不是先调用命令再传入参数
页: [1] 2 3 4
查看完整版本: 如何按顺序执行command调用的内部命令