明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 733|回复: 5

[提问] 请帮诊断程序循环问题在哪?

[复制链接]
发表于 2021-8-21 12:06:25 | 显示全部楼层 |阅读模式
当选中text文字时, (princ (cdr (assoc 0 (entget aaa))))能显示出“text”,但一直提示“重新点选text文字:”,是循环条件“ (/= (cdr (assoc 0 (entget aaa))) "text")”有问题吗?请各位大侠指点!
(defun c:tt(/ aaa )
    (while (setq aaa (car (entsel "\n 点选text文字:")))
                      (princ "\n")
                      (princ (cdr (assoc 0 (entget aaa))))
                      (while (/= (cdr (assoc 0 (entget aaa))) "text")
                       (setq aaa (car (entsel "\n 重新点选text文字:")))
          )
                            (princ "ok")
    )
)       
发表于 2021-8-21 13:35:10 | 显示全部楼层
不就是想点选文字么  用ssget 过滤 (ssname (ssget ":S:E" '((0 . "TEXT"))) 0)
 楼主| 发表于 2021-8-21 13:56:04 | 显示全部楼层
我的实际用途是一次选一个text文字,选中后自动修改,再选下一个text文字,如此循环;当未选中text文字时,能接着重选,而不是退出。
发表于 2021-8-21 14:08:25 | 显示全部楼层
xzd716 发表于 2021-8-21 13:56
我的实际用途是一次选一个text文字,选中后自动修改,再选下一个text文字,如此循环;当未选中text文字时, ...

......你在这个基础上  结合你原来的 代码 修改一下
发表于 2021-8-21 14:15:17 | 显示全部楼层
(defun c:tt(/ aaa )
    (while (and (setq aaa (car (entsel "\n 点选text文字<回车结束>:")))
                (= (setq name (cdr (assoc 0 (entget aaa)))) "TEXT")
           )
         (princ "\n    点选text文字")
         ;下面进行修改
     
    )
    (princ)
)      
 楼主| 发表于 2021-8-21 14:19:55 | 显示全部楼层
本帖最后由 xzd716 于 2021-8-21 14:24 编辑

解决了,是大小写问题,谢谢各位指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-11 02:24 , Processed in 0.160561 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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