Home / Программы, софт, инструкции / Инструкции / Макрос расчета длины в CorelDraw

Макрос расчета длины в CorelDraw

В тему лазерной резки. Постоянно обновляемый каталог готовых файлов для лазерной резки https://lasercut.usehelp.org/

Ну а теперь, собственно, перейдем к самому макросу расчета длины в CorelDraw.

Все просто, и главное бесплатно 😉

Для добавления макроса расчета длины линий в корел заходим в Инструменты — Visual Basic — Редактор Visual Basic.
Далее справа ищем GlobalMacros и правой кнопкой кликаем. Выбрать Insert — Module.
Копируем код ниже и вставляем в открывшемся окне добавления Module.
Закрываем и сохраняем.
Далее, открываем рисунок который необходимо посчитать, выделяем необходимые линии (скрипт не посчитает если в рисунке есть сгруппированные элементы, разгруппируйте на рисунке все), заходим в Инструменты — Visual Basic — Воспроизвести. В открывшемся окне ищем новый добавленный модуль и кликаем по нему два раза.

Public Sub MyLength()

ActiveDocument.Unit = cdrMillimeter 'Указываем по-умолчанию единицу измерения
ActiveDocument.BeginCommandGroup 'Указываем что отсюда начинается группа программного кода, которая отменяется одним нажатием "отмена"
ActiveSelectionRange.UngroupAll 'Разгруппировываем выделенные объекты, если таковые есть
ActiveSelectionRange.ConvertToCurves 'Конвертируем все элементы в кривые, т.к. свойство длины доступно только для кривых

Dim S As Shape
Dim Ln As Double

For Each S In ActiveSelectionRange
Ln = Ln + S.Curve.Length
Next

ActiveDocument.EndCommandGroup 'Указываем что здесь заказчивается группа наших действий
ActiveDocument.Undo 'Так как значение суммарной длины уже хранится в переменной Ln, отменяем все сделанные изменения с кривыми до их первоначального состояния

MsgBox Ln & " мм", , "Длина кривых" 'Выводим значение суммарной длины всех выделенных элементов.

End Sub