[CDR 2017-2021] Измерение расстояния между объектами на листе.

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
Доброе утро.

Условие:
На листе множество векторных объектов произвольной формы. С заливками/обрисами. Объекты могут быть комбинированные или простые.

Задача:
Измерить расстояние между объектами (кривые/точки). В случае, если объекты располагаются друг к другу ближе заданного значения - выделить их цветом или пометить место каким-либо маркером.

Может попадался Вам код для таких задач?
Это крайне необходимый функционал для проверки макетов для производства. Люди глаза ломают. Подскажите как быть и где рыть.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Не совсем пойму что именно вам надо
Расстояние между КАКИМИ объектами вам надо измерить? И КАКИМИ МЕСТАМИ объектов?
 

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
121316

Нарисовал примитивный случай. Расстояние между квадратами меньше допустимого (выделено красным).

На второй картинке пример из жизни.
121317
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Данная задача, на мой взгляд, алгоритмизации не поддается вообще. Минимальное расстояние между контурами любых обьектов меньше требуемого?
 

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
Данная задача, на мой взгляд, алгоритмизации не поддается вообще. Минимальное расстояние между контурами любых обьектов меньше требуемого?
Да уж точно задача не простая. Может возможно хотя бы определить расстояние между замкнутыми контурами?
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
Тут сложность состоит в определении объектов для сравнения. Берем текст в кривых, как у вас на картинке. Один из объектов состоит из нескольких букв. Т.е. объект состоит из нескольких патчей. Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Буква "А" состоит из двух патчей, но эти патчи не должны попадать под проверку.
Единственное решение, что я вижу, проверку расстояния между объектами. Но для этого надо чтобы каждый объект был
"самодостаточен" :) . Т.е. текст вам придется разбить на отдельные буквы. Тогда еще возможно написать скрипт.
 

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
Тут сложность состоит в определении объектов для сравнения. Берем текст в кривых, как у вас на картинке. Один из объектов состоит из нескольких букв. Т.е. объект состоит из нескольких патчей. Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Буква "А" состоит из двух патчей, но эти патчи не должны попадать под проверку.
Единственное решение, что я вижу, проверку расстояния между объектами. Но для этого надо чтобы каждый объект был
"самодостаточен" :) . Т.е. текст вам придется разбить на отдельные буквы. Тогда еще возможно написать скрипт.
Да. Хотя бы между объектами. Нескомбинированными.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Б
Разбить текст на внешние патчи как раз не проблема. Проблема именно в том чтобы определить минимальную дистанцию между двумя контурами, насколько я помню, стандартного метода в модели нет
 

vovansky

10 лет на форуме
Сообщения
479
Реакции
208
Предположу, что это для режущего плоттера, чтобы нож не рвал/заминал тонкие промежуточные участки. Если так, то можно задать всем объектам обводку с параметром "за объектом" и тем размером, который минимально допустим между объектами. Цветом процентов в 50 черного и задать ей прозрачность 100 умножение. В таком случае при пересечении обводок мы увидим визуально черные элементы их "интерсекций".
 
Последнее редактирование:

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
Предположу, что это для режущего плоттера, чтобы нож не рвал/заминал тонкие промежуточные участки. Если так, то можно задать всем объектам обводку с параметром "за объектом" и тем размером, который минимально допустим между объектами. Цветом процентов в 50 черного и задать ей прозрачность 100 умножение. В таком случае при пересечении обводок мы увидим визуально черные элементы их "интерсекций".
Плоттер, шелкография, трансфер, тампо, гравировка, тиснение, уф. В любой из технологий есть понятие минимального элемента и понятие минимального пробельного элемента.

Идея с обводкой является одним из методов проверки. Опять же ручным.

Можно ли как-то определить автоматически перекрыла обводка расстояние между объектами или нет?
121328
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
чтобы нож не рвал/заминал тонкие промежуточные участки.
Тогда задача сформулированна некорректно - придется искать узкие места не только на различных объектах, но и на субконтурах одного и того же объекта и даже одного и того же субконтура
121326
 
  • Спасибо
Реакции: Jeine и vovansky

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Вообще говоря, я когда то делал подобный макрос - надо было для трафаретной печати найти все заплывающие краской узкие места <0.2 мм, могу поискать
 
  • Спасибо
Реакции: tohaa

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Поищу, конечно, но там принцип был совершенно иной - макет переводился в растр. Для вектора данная задача нетривиальна вообще. Впрочем, подобный функционал, насколько я помню, реализован в какой то программе из пакета ESKO, кажется, артпро?
 

tohaa

Участник
Топикстартер
Сообщения
229
Реакции
8
Поищу, конечно, но там принцип был совершенно иной - макет переводился в растр. Для вектора данная задача нетривиальна вообще. Впрочем, подобный функционал, насколько я помню, реализован в какой то программе из пакета ESKO, кажется, артпро?

Подобный функционал реализован например в арткаме. Только это все время. Корел полностью покрывает все потребности производства. Принцип одного окна значительно сокращает время обработки. Когда макетов по 300-400 в день - хочется автоматизации.

Автоматическое определение перекрытия расстояния между объектами обводкой мне кажется очень интересным способом проверки макета.
 

nagris

Участник
Сообщения
13
Реакции
0
а если задать контур на нужном расстоянии от контура и проверить его пересечение и в пересечении поставить круг

есть метод определения пересечения в кореле?
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434

Karatau

Участник
Сообщения
60
Реакции
22
А мне кажется, что задача решаема и довольно простым макросом. Сначала делаем контур у объекта нужной ширины и ищем точки пересечения с другими объектами по очереди. Точки пересечения обозначаем как хотим.

01.jpg

Такой контур получается из толстого арабиса. Все объекты сравниваются в очереди, сверху вниз