Итак, мы напишем макрос, который будет уметь считать сумму площадей. Основа любого макроса - знание объектной модели приложения. Смотрим код.
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 экспортирует в дюймах, а нам площадь нужна в сантиметрах. Вот я и перевожу в квадратные сантиметры.