VHMN 发表于 2022-7-6 11:01:44

选择集的Autolisp

您好,我的名字是Victor,这是我在这里的第一篇帖子,我目前正在学习Autolisp(这个网站非常有用)我正在尝试创建一个LISP例程,它允许我选择一个块,提取它的块名,将其分配给一个变量,然后选择所有具有相同名称的块,我得到了它直到提取块名,但我不能将该名称分配给一个变量,任何帮助都将不胜感激,谢谢。
 
 
(定义C:SBN()
(SETQ BNAME(cdr(assoc 2(entget(car(entsel)1070;Ю)Ю)Ю)
(SSGET“X”BNAME)

alanjt 发表于 2022-7-6 11:25:45

试试这个。。。
(sssetfirst nil (ssget "_X" (list '(0 . "INSERT") (cons 2 BNAME))))

VHMN 发表于 2022-7-6 11:45:43

非常感谢,它工作得非常好,我从来没有听说过“sssetfirst”函数,我想它是用来保持我的选择活动,我也会用它来选择指定颜色的对象。
 
谢谢

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

值得深思。。。
 
(defun c:SBN (/ ent eLst)
(if (setq ent (car (entsel "\nSelect block: ")))
   (if (eq "INSERT" (cdr (assoc 0 (setq eLst (entget ent)))))
   (sssetfirst nil (ssget "_X" (list '(0 . "INSERT") (assoc 2 eLst))))
   (princ "\nInvalid object.")
   )
)
(princ)
)

VHMN 发表于 2022-7-6 12:07:39

嘿,谢谢你,我将尝试添加“if-then-else”例程,我主要使用宏的Autolisp来帮助我绘制东西,但拥有更多用户友好的例程将是更专业的。
 
谢谢
页: [1]
查看完整版本: 选择集的Autolisp