hosyn 发表于 2022-7-5 22:47:01

修改我的lisp的帮助

我有一个用于过滤块和select sample block的例程:

(defun c:fbn ( / blockname sset); filter all blocks of same name
(setq blockname (cdr (assoc 2 (entget (car (entsel))))))
(setq sset (ssget (list (cons 2 blockname))))
(sssetfirst sset sset)
(princ (strcat "\nSelected " (itoa (sslength sset)) " instances of block \"" blockname "\"."))
(princ)
)
,以及如何通过块的名称选择相同的过滤,例如块的名称“blockname1”,我可以通过以下命令提取此lisp:

(c:fbn(blockname1))

marko_ribar 发表于 2022-7-5 23:14:11


(defun fbn (blockname / sset)
(setq sset (ssget (list (cons 2 blockname))))
(sssetfirst nil sset)
(princ (strcat "\nSelected " (itoa (sslength sset)) " instances of block \"" blockname "\"."))
(princ)
)

;;; Example : (fbn "blockname1") ;;;

hosyn 发表于 2022-7-5 23:31:41

Thxxxx问候marko_ribar先生
如果我想分解选定的块,我该怎么办??添加以下内容是正确的:

(fbn "blockname1")
(command "_explode")

 
我加了一句,但做得不好?

7o7 发表于 2022-7-5 23:35:48

(命令“_explode”“L”)可以执行。

BIGAL 发表于 2022-7-5 23:47:28

7o7最后一个对象可能不是块
Hosyn和我的另一篇帖子一样,使用object来爆炸
 

(setq blockname (cdr (assoc 2 (entget (car (entsel))))))
; now
(setq obj (car (entsel)))
(setq blockname (cdr (assoc 2 (entget obj))))

(command "explode" obj "")
页: [1]
查看完整版本: 修改我的lisp的帮助