Option Explicit
Sub DelDim()
Dim ssetA As AcadSelectionSet
Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
Dim groupCode As Variant
Dim dataCode As Variant
gpCode(0) = 0
dataValue(0) = "Dimension"
groupCode = gpCode
dataCode = dataValue
Set ssetA = Aset("DimDelete")
ssetA.SelectOnScreen groupCode, dataCode
While ssetA.Count
ssetA.Highlight True
ssetA.Erase
ThisDrawing.Regen acActiveViewport
ssetA.SelectOnScreen groupCode, dataCode
Wend
ssetA.Delete
Set ssetA = Nothing
End Sub
Sub DelDimSSet()
Dim mDelDimSset As AcadSelectionSet
Dim mI As Integer, mTmp() As AcadEntity
Dim mCntr As Long
ReDim mTmp(30)
If ThisDrawing.ActiveSelectionSet.Count Then
For mI = ThisDrawing.ActiveSelectionSet.Count - 1 To 0 Step -1
If InStr(1, ThisDrawing.ActiveSelectionSet(mI).ObjectName, "Dimension") > 0 Then
Set mTmp(mCntr) = ThisDrawing.ActiveSelectionSet.Item(mI)
mCntr = mCntr + 1
If UBound(mTmp) < mCntr Then
ReDim Preserve mTmp(mCntr)
End If
End If
Next
If mCntr Then
ReDim Preserve mTmp(mCntr - 1)
Set mDelDimSset = Aset("DimDelete")
mDelDimSset.AddItems mTmp
mDelDimSset.Highlight True
Select Case MsgBox("Please Confirm Highlighted Entities are to be deleted.", _
vbYesNo Or vbExclamation Or vbDefaultButton1, "Confirm Deletion!")
Case vbYes
mDelDimSset.Erase
mDelDimSset.Delete
Case vbNo
mDelDimSset.Delete
End Select
ReDim mTmp(0)
Set mTmp(0) = Nothing
Set mDelDimSset = Nothing
End If
End If
ThisDrawing.Regen acActiveViewport
DelDim
End Sub
Function Aset(iSSetName As String) As AcadSelectionSet
Dim ssetA As AcadSelectionSet
On Error Resume Next
Set ssetA = ThisDrawing.SelectionSets.Add(iSSetName)
If Err.Number <> 0 Then
Set ssetA = ThisDrawing.SelectionSets(iSSetName)
ssetA.Delete
Set ssetA = ThisDrawing.SelectionSets.Add(iSSetName)
Err.Clear
End If
On Error GoTo 0
Set Aset = ssetA
End Function
|