块删除问题
删除块前,应先删除块的引用,怎样查找块的引用?(VBA)先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,在BlkRe
先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,在BlkRef.delete块引用
先objectname="AcadBlockReference" 后 BlkRefBuf.name="你要的块名" ,再BlkRefBuf.delete,删除的范围取决于你遍历的范围。谢谢,我用VC试试
那是 VBA
BlkRefBuf是选择集吗?怎样获得它!
遍历 MSPACE,PSPACE,BLOCK
dim BlkRefBuf as AcadBlockReference,用 MSPACE,PSPACE,BLOCK内的COUNT属性,进行循环检查每一个对象。
if实体.objectname="AcadBlockReference" then
set BlkRefBuf=该实体
然后进行删除。
不知能否用VBA制作无名块?
本帖最后由 作者 于 2002-10-21 19:41:26 编辑不知能否用VBA制作无名块?
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
页:
[1]