Jaap Marchal 发表于 2022-7-6 09:47:02

搜索嵌入块i

你好
是否有lisp显示或列出包含嵌入块的块。
嵌入必须在块中,但不知何故不可见(层开/关、视觉状态等)
示例:我有一个包含40多个块的图形,我想知道哪个块包含块“BIS”。问题是,该图纸是由第三方公司创建的。我们知道使用了块(BIS)。全部清除后,该块仍在插入块列表中。
 
谢谢

Hippe013 发表于 2022-7-6 10:03:37

你能把图纸贴出来吗?

Jaap Marchal 发表于 2022-7-6 10:08:10

我们找到了嵌入的块。它处于可视状态。我们用lisp WBLOCKALL保存了所有块,并打开了所有块。它就在那里。这是一种找到嵌入块的方法,另一种方法是在blockeditor中打开块并放大,然后用图案填充填充。但是有没有其他方法可以用lisp找到它呢?,节省了很多时间。
 
Jaap M。
BMELDER。图纸

pBe 发表于 2022-7-6 10:15:37

 
我无法打开你的文件(仍然使用R2009)
 
试试这个:
 

(defun pBe:searchme (blk / adoc ss blk_ent )
(vl-load-com)
(foreach blks (mapcar 'cadr (ssnamex (ssget "_x" '((0 . "INSERT")))))
(setq blk_ent (tblobjname "block" (setq ss
                               (vla-get-effectivename (vlax-ename->vla-object blks)))))
(while (setq blk_ent
                         (entnext blk_ent))
   (if (and
                        (eq (cdr (assoc 0 (entget blk_ent))) "INSERT")
   (eq (strcase (cdr (assoc 2 (entget blk_ent)))) (strcase blk))
                        )
                   (princ (strcat "\nBlock " blk " found inside " ss ))
                  )
               )
)
(princ)
)

用法:
命令:(PBE:SEARCHME“EmbeddedBlcokName”)
 
在此_块内找到块EmbeddedBlcokName
在该_块内找到的块EmbeddedBlcokName
 
仅当块仅嵌套一次时,它才有效,但可以轻松修改以查找块内的嵌套块。
 
 
希望这有帮助

Lee Mac 发表于 2022-7-6 10:26:02

一些乐趣:
 
(defun c:BlockHierarchy ( / _blockhierarchy blocks ) (vl-load-com)
;; © Lee Mac 2011

(defun _blockhierarchy ( block indent / _name )

   (defun _name ( obj )
   (vlax-get-property obj
       (if (vlax-property-available-p obj 'effectivename) 'effectivename 'name)
   )
   )
   
   (princ "\n") (repeat indent (princ "    ")) (princ "|--> ")
   (princ (_name block))

   (vlax-for obj block
   (if (eq "AcDbBlockReference" (vla-get-ObjectName obj))
       (_blockhierarchy (vla-item blocks (_name obj)) (1+ indent))
   )
   )
)

(setq blocks (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))

(vlax-for block blocks
   (if
   (and
       (eq :vlax-false (vla-get-isXref block))
       (eq :vlax-false (vla-get-isLayout block))
   )
   (_blockhierarchy block 1)
   )
)

(princ)
)

Jaap Marchal 发表于 2022-7-6 10:35:58

 
 
 
 
 
是的,是的,
哇,李,你又做了一次。
 
 
储罐,
Jaap公司

Lee Mac 发表于 2022-7-6 10:39:36

不客气Jaap-祝你愉快

pBe 发表于 2022-7-6 10:47:41

 
不错,李
页: [1]
查看完整版本: 搜索嵌入块i