[CDR X5-X8] CurveInfo площадь кривой

Darsh

Топикстартер
15 лет на форуме
Сообщения
374
Реакции
5
Правильно ли я понимаю что Area в выводе данного макроса это площадь кривой (в квадратных единицах измерения)? Почему в этом файле https://forum.rudtp.ru/resources/area-calculation.2308/download?version=2489, у первой кривой площадь меньше чем у второй?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Файл с утюга посмотреть не могу, но вангую, что у вас кривая состоит из нескольких субконтуров или имеет самопересечения. Да, вы правильно поняли, area - косолапо реализована в модели.
 

Darsh

Топикстартер
15 лет на форуме
Сообщения
374
Реакции
5
После правки небольших нахлестов в местах стыка букв (сделал надпись непрерывную), макрос стал показывать другие цифры, но все еще меньше чем должно быть.
Да я посмотрел исходник этого макроса, довольно просто вызывается .area (свойство или метод так понимаю самого Corel VBA) по вычислению площади. Есть ли альтернатива для вычисления площади? В Plotcalc и Ecut это как то иначе реализовано?
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
В Plotcalc и Ecut это как то иначе реализовано?
IMHO аналогично - просто собраны несколько алгоритмов подсчета площади - вся, внешняя, внутренняя, по растру - судите сами
f03e000.jpg

ОДНАКО! присутствует предупреждение
Данная функция позволяет с высокой точностью вычислять площадь объектов. Причем отдельно площадь внутренних и внешних путей
Обязательное условие - отсутствие самопересечений, но даже если объекты пересекаются, то площадь таких объектов можно определить с помощью значения "площадь по растру"
 
  • Спасибо
Реакции: Darsh

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Как видно из скриншота - площадь по умолчанию все равно считается встроенной функцией неправильно
 

Darsh

Топикстартер
15 лет на форуме
Сообщения
374
Реакции
5
вся, внешняя, внутренняя, по растру

А это что за алгоритмы, отдельно написанные как я понимаю или тоже что то из стандартных свойств и методов Corel VBA?
По изучал проблему, есть еще IcoCalc и CAD Tools, может они лишены всех возможных багов?
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
VBA может выдать площадь простой (нескомбинированной) замкнутой кривой
на примеры буквы Q - она разбирается на три таких кривых - далее математика,
или берется длина и ширина охватывающего прямоугольника - BoundigBox
или в растр - и подсчет попиксельно - вот в качестве примера от известного автора :)
IcoCalc и CAD Tools . это ведь совсем другая песня ... и слова там не на VBA :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Самый точный и надёжный вариант (я такой реализовывал) - площадь по растру. На всех остальных возможны коллизии.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Нет, там очень приблизительная оценка, я про другое.
 

Darsh

Топикстартер
15 лет на форуме
Сообщения
374
Реакции
5
ли берется длина и ширина охватывающего прямоугольника - BoundigBox

Мне для просчета стоимости гравировки, сейчас примерно так и обходимся но это не очень удобно.

IcoCalc и CAD Tools . это ведь совсем другая песня ... и слова там не на VBA

Устроило бы решение и не на VBA, но внутри Corel Draw. По растру если не ошибаюсь площадь можно и в Photoshop глянуть, но это лишние телодвижения.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
"Внутри CorelDraw" но "не на VBA" это как? 'hmmm'