как с помощью VBA подсчитать сумму цифр размерных линий AutoCad
Как с помощью VBA подсчитать сумму цифр размерных линий AutoCad выделив их в чертеже?
Источник: Stack Overflow на русском
Как с помощью VBA подсчитать сумму цифр размерных линий AutoCad выделив их в чертеже?
Вот пример кода на VBA:
Sub SumDimensions()
' Объявление переменных
Dim acadApp As Object
Dim acadDoc As Object
Dim selectionSet As Object
Dim dimObj As Object
Dim sum As Double
Dim i As Long
' Получение доступа к AutoCAD
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
MsgBox "AutoCAD не запущен, запустите AutoCAD и повторите попытку."
Exit Sub
End If
On Error GoTo 0
' Получение доступа к текущему чертежу
Set acadDoc = acadApp.ActiveDocument
' Создание нового набора выборки
Set selectionSet = acadDoc.SelectionSets.Add("DimensionSet")
' Фильтр для выбора размерных линий
Dim filterType(0 To 1) As Integer
Dim filterData(0 To 1) As Variant
filterType(0) = 0
filterData(0) = "DIMENSION"
' Выбор размерных линий в чертеже
selectionSet.Select acSelectionSetAll, , , filterType, filterData
' Подсчет суммы значений размерных линий
sum = 0
For i = 0 To selectionSet.Count - 1
Set dimObj = selectionSet.Item(i)
sum = sum + dimObj.Measurement
Next i
' Вывод суммы значений размерных линий
MsgBox "Сумма цифр размерных линий: " & sum
' Очистка и удаление набора выборки
selectionSet.Clear
selectionSet.Delete
End Sub