Шаг 5 - Пишем первый макрос

Итак, мы напишем макрос, который будет уметь считать сумму площадей. Основа любого макроса - знание объектной модели приложения. Смотрим код.

Sub Test()
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("STest")
ssetObj.Select acSelectionSetAll
Dim a As Double
a = 0
For Each element In ssetObj
	a = a + element.Area
Next element
a = a * (2.54 * 2.54)
MsgBox Str(a) + " kv cm"
ssetObj.Delete
End Sub

Смотрим код. Создаем объект выделения AcadSelectionSet и выделяем все, что есть на чертеже Select, а дальше мы спокойно пробегаем по элементам используя For Each и используем свойство Area для извлечения площадей.

Кстати я умножаю два раза на 2.54 потому что, Corel экспортирует в дюймах, а нам площадь нужна в сантиметрах. Вот я и перевожу в квадратные сантиметры.

gif/5_1.gif (2477 b)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.