В тему лазерной резки. Постоянно обновляемый каталог готовых файлов для лазерной резки 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