[已解决]如何给两个同名的块重命名?
我将一个块复制黏贴成另外一个块后,如何在VBA里给两个块重命名啊? 以下代码执行后,两个块还是变成一样的名字Dim sset As AcadSelectionSet
Set sset = ThisDrawing.SelectionSets.Add("Selection")
' Define the filter list, only Circle objects
' will be selectable
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
FilterType(0) = 0
FilterData(0) = "Block"
' Prompt the user to select objects
' and add them to the selection set
sset.Select acSelectionSetAll, FilterType, FilterData
MsgBox "Number of objects selected: " & sset.Count
For Count = 0 To sset.Count - 1
Set BlockObj = ThisDrawing.Blocks(sset.Item(Count).EffectiveName) '感觉是这里有问题,但是不知道怎么分别查找这两个同名块
BlockObj.name = sset.Item(Count).ObjectID
Next Count
sset.Delete
参考代码
Dim objBlkRef As AcadBlockReference
Dim blockNow As AcadBlock
Dim objb As AcadBlockReference
Dim BlockY As AcadBlock
Dim BlockYorg As ACAD_POINT
Set objBlkRef = elem
Set BlockY = ThisDrawing.Blocks.Item(objBlkRef.EffectiveName)
BlockYorg = BlockY.Origin
Set blockNow = ThisDrawing.Blocks.Add(BlockYorg, objBlkRef.ObjectID)
Set objb = blockNow.InsertBlock(BlockYorg, objBlkRef.name, 1, 1, 1, 0)
objb.Explode
objb.Delete
objBlkRef.name = blockNow.name
页:
[1]