pryzmm 发表于 2022-7-6 08:40:55

需要有关检查select的帮助

您好,我需要一些关于如何检查选择集是否包含“擦除”实体的帮助?
如果是(draworder“back”),则继续执行下一个命令字符串。
如果没有,则只需继续发送一些警报消息。
 
请看一下我的简单套路
 
;this routine will let the user select multiple object
;& PASTEBLOCK the selection - 112011
;-
(defun c:pblk (/ bp opt selx)
;-
(princ "Select basepoint: ")
(setq bp (getpoint))
(setq opt "_b")
;-
(setq selx (ssget))
;-
;check the selection set "selx" if there is any "WIPEOUT" entity selected
;if "wipeout" is/ are PRESENT (command:"_.draworder" "wipeout" opt)
;(alert "wipeout found -> sent to back")
;proceed to next
;if wipeout is/ are NOT found
;(alert "wipeout NOT found")
;proceed to next
;-
(command "_.copybase" bp selx "")
(command "_.pasteblock" bp)
(command "_.erase" "previous" "")
(princ)
);end defun
;;;
 
(蓝色是我希望可以输入必要代码的地方)
 
im使用autocad 2009
 
提前感谢

Tharwat 发表于 2022-7-6 09:06:21


 
(defun c:TesT (/ ss i sn)
;; Tharwat 16. Nov. 2011 ;;
(if (setq ss (ssget '((0 . "WIPEOUT"))))
   (progn
   (repeat (setq i (sslength ss))
       (setq sn (ssname ss (setq i (1- i))))
       (command "_.draworder" sn "" "_b")
   )
   (alert (strcat "wipeout found -> sent to back"
                  "\t"
                  "("
                  (itoa (sslength ss))
                  ")"
            )
   )
   )
   (alert "wipeout NOT found")
)
(princ)
)

alanjt 发表于 2022-7-6 09:21:12

这就是你的目标吗?为什么要将对象放置在匿名块中?
 
(defun c:Test (/ ss pt ss2)
(if (and (setq ss (ssget "_:L")) (setq pt (getpoint "\nSpecify basepoint: ")))
   (progn (if (setq ss2 (ssget "_P" '((0 . "WIPEOUT"))))
            (command "_.draworder" ss2 "" "_back")
          )
          (command "_.copybase" "_non" pt ss "" "_.pasteblock" "_non" pt "_.erase" ss "")
   )
)
(princ)
)

pryzmm 发表于 2022-7-6 09:26:42

@tharwat->我最初的想法与您使用(setq ss(ssget’((0。“WIPEOUT”))的想法类似,但我不知道如何将其融入到_x的其余部分中。我在上面贴了一个例行公事,你的提示比我的酷多了。。非常感谢。
 
@alanjt->是的,我知道不正确地命名一个块不是一个好的做法,但我现在工作的地方并不太在乎它,速度就是。
至于你做的常规,,,这就是我要找的,非常感谢你,我没有意识到ssget仍然是关键,我最初尝试了car/crd,但我真的无法理解(仍然是一个Lisp程序的新手)。
 
谢谢你们俩
 
哦,艾伦。告诉我我可以在哪里放置提示,通知用户在例程完成其魔术后立即在命令行中找到“擦除”并处理它?

alanjt 发表于 2022-7-6 09:47:50

哇!
页: [1]
查看完整版本: 需要有关检查select的帮助