xzd716 发表于 2021-8-16 21:35:36

为何entsel开始需点击2次才能选上图元?

这是给尺寸数字加括号的程序,为何开始时需点击尺寸2次才能选中尺寸,后续只需点击一次尺寸即可选上?请各位大侠指点。
(defun c:cckh(/ aaa bbb kk %q)
        (while (setq ccm (entsel "\n【添加或删除尺寸括号】 点选尺寸:"))
          (setq aaa (car ccm))
    (setq bbb (entget aaa))
          (setq kk (cdr (assoc 1 bbb)))       
          (if (= kk "<>")
          (progn
            (setq %q (strcat "(" "<>"")"))
            (setq bbb (subst (cons 1 %q) (assoc 1 bbb) bbb));
            (entmod bbb)
          (princ)
          )
                  (progn
         (setq %q "<>")
         (setq bbb (subst (cons 1 %q) (assoc 1 bbb) bbb))
         (entmod bbb)
         (princ)
          )
          )
        )
)

tigcat 发表于 2021-8-17 00:08:20

惭愧,没发现异常,看来要上机才知道原因

自贡黄明儒 发表于 2021-8-17 11:31:07

可能问题出在if

yjtdkj 发表于 2021-8-17 15:39:32

标注内容是的空字符,多加一个判断(defun c:cckh (/ aaa bbb kk %q)
(while (setq ccm (entsel "\n【添加或删除尺寸括号】 点选尺寸:"))
    (setq aaa (car ccm))
    (setq bbb (entget aaa))
    (setq kk (cdr (assoc 1 bbb)))
    (if        (or (= kk "<>")(= kk ""))
      (progn
        (setq %q (strcat "(" "<>" ")"))
        (setq bbb (subst (cons 1 %q) (assoc 1 bbb) bbb)) ;
        (entmod bbb)
        (princ)
      )
      (progn
        (setq %q "<>")
        (setq bbb (subst (cons 1 %q) (assoc 1 bbb) bbb))
        (entmod bbb)
        (princ)
      )
    )
)
)

xzd716 发表于 2021-8-17 20:07:29

感谢指点!
页: [1]
查看完整版本: 为何entsel开始需点击2次才能选上图元?