明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2475|回复: 8

块删除问题

[复制链接]
发表于 2002-10-17 10:50:00 | 显示全部楼层 |阅读模式
删除块前,应先删除块的引用,怎样查找块的引用?(VBA)
发表于 2002-10-17 15:05:00 | 显示全部楼层

先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,在BlkRe

先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,在BlkRef.delete[br]
发表于 2002-10-17 15:07:00 | 显示全部楼层

块引用

先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,再BlkRefBuf.delete,删除的范围取决于你遍历的范围。
 楼主| 发表于 2002-10-17 18:21:00 | 显示全部楼层

谢谢,我用VC试试

发表于 2002-10-18 09:32:00 | 显示全部楼层

那是 VBA

 楼主| 发表于 2002-10-19 17:59:00 | 显示全部楼层

BlkRefBuf是选择集吗?怎样获得它!

发表于 2002-10-20 20:22:00 | 显示全部楼层

遍历 MSPACE,PSPACE,BLOCK

dim BlkRefBuf as AcadBlockReference,
用 MSPACE,PSPACE,BLOCK内的COUNT属性,进行循环检查每一个对象。

if  实体.objectname="AcadBlockReference" then
set BlkRefBuf=该实体
然后进行删除。
发表于 2002-10-21 19:41:00 | 显示全部楼层

不知能否用VBA制作无名块?

本帖最后由 作者 于 2002-10-21 19:41:26 编辑

不知能否用VBA制作无名块?
发表于 2002-10-26 14:55:00 | 显示全部楼层

Re:块删除问题

函数如下:
'删除块引用
Public Sub DeleteBlockRef(ByVal Name As String)
    Dim EntObj As AcadEntity
   
    On Error GoTo ErrTrap
    If Name = "" Then Exit Sub
    For Each EntObj In ThisDrawing.ModelSpace
       If StrComp(EntObj.ObjectName, "AcDbBlockReference", vbTextCompare) = 0 Then
          If StrComp(EntObj.Name, Name, vbTextCompare) = 0 Then
             EntObj.Delete
          End If
       End If
    Next
    Set EntObj = Nothing
    Exit Sub
   
ErrTrap:
    If Not (EntObj Is Nothing) Then Set EntObj = Nothing
    On Error GoTo 0
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 20:53 , Processed in 0.266471 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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