有什么办法可以将不允许分解的图块改为允许分解?
一个文件中所有图块在建立的时候就设置成不允许分解,有什么办法可以批量修改成允许分解吗?本帖最后由 kozmosovia 于 2024-8-29 11:16 编辑
yyz123121 发表于 2024-8-29 00:47
还是不行
我代码写错了,:vlax-false需要改成:vlax-true,:vlax-false是全部给锁上不让分解了。 图块有普通块,也有动态块和嵌套块 (vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
)
(vl-catch-all-apply
'vla-put-explodable
(list blk :vlax-false)
)
) kozmosovia 发表于 2024-8-27 16:22
(vlax-for blk (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
)
大神,这个要怎么用能再给点提示吗我就只会command类的命令 直接全部黏贴到命令行就行了
kozmosovia 发表于 2024-8-28 19:19
直接全部黏贴到命令行就行了
粘贴了还是不行 kozmosovia 发表于 2024-8-28 19:19
直接全部黏贴到命令行就行了
还是不行
试试这个,如果不想炸开,把(vl-cmdf "explode" x1 "" "")这句删除。
(defun c:11(/ x x1)
(while (if (and (setq x (entsel "\n选择图块: "))
(setq x1 x )
(setq x (vlax-ename->vla-object (car x)))
)
(vl-catch-all-apply'(lambda ()
(setq x (vla-item
(vla-get-blocks(vla-get-activedocument (vlax-get-acad-object)))
(vla-get-name x)
) )
(vla-put-explodable x :vlax-true)
) )
) )
(vl-cmdf "explode" x1 "" "")
(princ "\n块已炸开。")
(princ))
嵌套块有些是人为加密的手段,这种多重嵌套块很难处理。
页:
[1]
2