isutheparambil 发表于 2022-7-5 15:32:36

将组件与

嗨,朋友们,
 
我正在寻找一种解决方案,从现有块(作为普通cad对象)分割特定零件,因为我在图形中使用了100多次相同的块。
 
我知道该组件如何在块内进行编辑,如果这是一个动态块。
 
但现在我需要将该组件作为普通cad实体与块本身分离,并将剩余部分作为与之前相同的块(没有分离的实体)。
 
如果有人有办法做到这一点,请让我知道。。。

rlx 发表于 2022-7-5 15:41:30

像这样http://www.lee-mac.com/addobjectstoblock.html

isutheparambil 发表于 2022-7-5 15:46:19

 
你好,rlx,
 
谢谢你的及时回复。
你提供的lisp是Lee Mac提供的一个很好的lisp。
不幸的是,对于我的调查来说,它不起作用。
我不需要从图纸上删除任何部分。
我需要将块中的一个部分替换到图纸中。
从提供的lisp中,remove命令将永久删除组件。
我需要将组件保留在图纸上,不需要存在于块本身上。

rlx 发表于 2022-7-5 15:54:45

 
 
李有很多节目,还有这个:http://www.lee-mac.com/upgradedburst.html
 
 
这可能更接近你想要的。我想他的程序可以这样修改,它完全可以做你想要的,但我宁愿让李这样做,因为他是作者(更聪明)

ReMark 发表于 2022-7-5 16:01:17

请提供相关区块的副本作为参考。dwg文件。指出必须删除的内容以及必须保留的内容。如适用,还应指定块名。图像文件没有用处。它一定是一个。dwg文件。

isutheparambil 发表于 2022-7-5 16:08:23

 
对你是对的
由于李是作者,他可以在上面写点什么。

isutheparambil 发表于 2022-7-5 16:11:06

 
你好,马克。。
 
目前我离开了办公室。
一旦我明天到达办公室,我当然会把画贴出来。
 
谢谢你,马克。。

rlx 发表于 2022-7-5 16:16:21

否则,只需创建新块、重命名旧块、插入新块和文本,然后传输数据。

isutheparambil 发表于 2022-7-5 16:26:15

 
你好,马克,
 
我从我的图纸上附加了一部分,因为文件的大小非常大。
在我的绘图中,有1000多次将这些块命名为“EM”和“WM”。
 
我的要求如下。
 
我需要处理块“WM”,这是一个蓝色属性块。
 
我必须从蓝色框中分割颜色为“绿色”、“黄色”和“青色”的行,块只保留蓝色框和WM文本。
 
这意味着我不需要从块中删除该行。我需要吐出的线,其中“绿色,黄色和青色”仍然在图纸上作为一个普林线单一的对象。
 
如果这样做了,我可以根据我的要求从图形中单独编辑这些线。
 
我希望你明白我的观点。
 
致以诚挚的问候……)
试块。图纸

ronjonp 发表于 2022-7-5 16:27:16

这里有一个简单的例子:
(defun c:foo (/ o s)
(if (tblobjname "block" "wm")
   (progn
   (if (setq s (ssget "_x" '((0 . "insert") (2 . "wm,`*U*"))))
(foreach b (mapcar 'cadr (ssnamex s))
(cond        ((= "WM" (vla-get-effectivename (setq o (vlax-ename->vla-object b))))
       (foreach e (vlax-invoke o 'explode) (and (= 256 (vla-get-color e)) (vla-delete e)))
        )
)
)
   )
   (vlax-for        b (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) "WM")
(if (/= 256 (vla-get-color b))
(vla-delete b)
)
   )
   (command "_.attsync" "name" "wm")
   )
)
(princ)
)
(vl-load-com)
页: [1] 2
查看完整版本: 将组件与