indal 发表于 2002-10-17 10:50:00

块删除问题

删除块前,应先删除块的引用,怎样查找块的引用?(VBA)

肖宏海 发表于 2002-10-17 15:05:00

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

肖宏海 发表于 2002-10-17 15:07:00

先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,再BlkRefBuf.delete,删除的范围取决于你遍历的范围。

肖宏海 发表于 2002-10-20 20:22:00

dim BlkRefBuf as AcadBlockReference,
用 MSPACE,PSPACE,BLOCK内的COUNT属性,进行循环检查每一个对象。
if实体.objectname="AcadBlockReference" then
set BlkRefBuf=该实体
然后进行删除。

cag 发表于 2002-10-21 19:41:00


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

efan2000 发表于 2002-10-26 14:55:00

函数如下:
'删除块引用
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
页: [1]
查看完整版本: 块删除问题