明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3139|回复: 32

[提问] 如何按顺序执行command调用的内部命令

[复制链接]
发表于 2024-5-6 15:55:07 | 显示全部楼层 |阅读模式




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

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-5-7 00:58:56 | 显示全部楼层
这样? (command "PLINE" (setq px (getpoint "\n起点:")) (while (setq px (getpoint px "\n下一点:")) (command "non"  px )) "CIRCLE" pause)
回复 支持 1 反对 0

使用道具 举报

发表于 2024-5-7 07:03:53 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2024-5-9 10:09 编辑

听 说lisp是万能的,不信你试试。
(defun C:z1 (/ e0)
  (setq e0 (entlast))
  ((if command-s command-s command) "pline")
  (while (equal e0 (entlast))
    ((if command-s command-s command) pause)
  )
  ((if command-s command-s command) "circle")
  (princ)
)

(defun C:z2 ()  
  ((if command-s command-s command) "pline")
  
  (while  (/= 0 (getvar 'cmdactive))
    ((if command-s command-s command) pause)
  )
  ((if command-s command-s command) "circle")
  (princ)
)


(defun C:z3 ()  
  ((if command-s command-s command) "pline")
  
  (while  (/= "" (getvar 'cmdnames))
    ((if command-s command-s command) pause)
  )
  ((if command-s command-s command) "circle")
  (princ)
)
 楼主| 发表于 2024-5-6 17:06:43 | 显示全部楼层

。。。我不是要圆角  我是要画两个图元     正常执行(command “pline") 后   会提示我选择点   我要实现的是多段线绘制完后再执行(command "circle")   现在它是两条命令一起执行了  导致(command "circle")这条命令丢失了  
发表于 2024-5-6 16:04:32 | 显示全部楼层
(while (= "PLINE" (GETVAR "CMDNAMES"))
   ((if command-s command-s vl-cmdf) pause)
)这样行不行?
 楼主| 发表于 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)
发表于 2024-5-6 20:15:29 | 显示全部楼层
中間加一條語句
(setq pt0 (getpoint "請點選插入點:"))
发表于 2024-5-6 23:13:35 | 显示全部楼层
这个我也想了解一些,一起研究

点评

这个问题很简单,见下  发表于 2024-5-7 08:21
发表于 2024-5-7 03:34:43 | 显示全部楼层
你没有弄懂代码流程,参数是提前准备好的,参数失败才不调用命令,而不是先调用命令再传入参数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:36 , Processed in 0.198526 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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