明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2880|回复: 4

请教如何分解dwg中特定名字的CAD块

[复制链接]
发表于 2009-3-10 17:23:00 | 显示全部楼层 |阅读模式

请教如何分解已有的CAD块

我想用程序代码实现:将一个DWG文件中有特定名字的CAD块进行分解即可。
遇到的问题是:

1)使用分解.explode方法,其对象必须是块参照,而我只能通过遍历块名字得到块定义,请问通过块定义得到块参照,希望能有举例代码最好。

2)是否还有其他实现方法?

感谢。

发表于 2009-3-10 20:53:00 | 显示全部楼层

……
(setq blkname (getstring "/n块名 :"))
(if (setq ss (ssget "X" (list '(0 . "INSERT") (cons 2 blkname)))) (progn
 (setvar "QAFLAGS" 1)
 (command ".exploder" ss "")
 (setvar "QAFLAGS" 0)
))
……

发表于 2009-3-10 21:38:00 | 显示全部楼层

LS正解,最简练的方法

QAFLAGS这个系统变量经典,专门针对选择集炸开问题.

 楼主| 发表于 2009-3-11 10:56:00 | 显示全部楼层

版主您好:

1)我是在 excel 的 vba 中调用 ObjectDBX 写的程序,下面有一个语句无法通过,导致不能分解块,请帮忙,谢谢。
2)如果下面的办法行不通,是否还有别的办法能在excel的vba 中调用ObjectDBX 实现已有块的分解?

Dim SrcObjDBX As Object
Set SrcObjDBX = GetInterfaceObject("ObjectDBX.AxDbDocument.16")

DstObjDBX.Open DstCadFile

'................ 省略....

Dim block As AcadBlock
Dim blockRef As AcadBlockReference
For Each block In DstObjDBX.Blocks

      If block.Name = "tk3z" Then
                        
         Set blockRef = block  ' 不知道下面的语句是否正确,                  
         blockRef.Explode      ' 不知道下面的语句是否正确,:)
         blockRef.Delete       ' 不知道下面的语句是否正确,请版主指教,:)
         blockRef.Update       ' 不知道下面的语句是否正确,请版主指教,:)
         exit for
      end if


next block

 楼主| 发表于 2009-3-11 11:04:00 | 显示全部楼层
非常抱歉,贴错了。重贴一次:

版主您好:

1)我是在 excel 的 vba 中调用 ObjectDBX 写的程序,下面有一个语句无法通过,导致不能分解块,请帮忙,谢谢。
2)如果下面的办法行不通,是否还有别的办法能在excel的vba 中调用ObjectDBX 实现已有块的分解?

Dim DstObjDBXAs Object
Set DstObjDBX= GetInterfaceObject("ObjectDBX.AxDbDocument.16")

DstObjDBX.Open DstCadFile

'................ 省略....

Dim block As AcadBlock
Dim blockRef As AcadBlockReference
For Each block In DstObjDBX.Blocks

      If block.Name = "tk3z" Then
                        
         Set blockRef = block  ' 不知道下面的语句是否正确,                  
         blockRef.Explode      ' 不知道下面的语句是否正确,:)
         blockRef.Delete       ' 不知道下面的语句是否正确,请版主指教,:)
         blockRef.Update       ' 不知道下面的语句是否正确,请版主指教,:)
         exit for
      end if


next block

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 20:07 , Processed in 0.187689 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表