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

  • Автор темы Автор темы tohaa
  • Дата начала Дата начала

tohaa

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

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

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

Может попадался Вам код для таких задач?
Это крайне необходимый функционал для проверки макетов для производства. Люди глаза ломают. Подскажите как быть и где рыть.
 
Не совсем пойму что именно вам надо
Расстояние между КАКИМИ объектами вам надо измерить? И КАКИМИ МЕСТАМИ объектов?
 
121316

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

На второй картинке пример из жизни.
121317
 
Данная задача, на мой взгляд, алгоритмизации не поддается вообще. Минимальное расстояние между контурами любых обьектов меньше требуемого?
 
Данная задача, на мой взгляд, алгоритмизации не поддается вообще. Минимальное расстояние между контурами любых обьектов меньше требуемого?
Да уж точно задача не простая. Может возможно хотя бы определить расстояние между замкнутыми контурами?
 
Тут сложность состоит в определении объектов для сравнения. Берем текст в кривых, как у вас на картинке. Один из объектов состоит из нескольких букв. Т.е. объект состоит из нескольких патчей. Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Буква "А" состоит из двух патчей, но эти патчи не должны попадать под проверку.
Единственное решение, что я вижу, проверку расстояния между объектами. Но для этого надо чтобы каждый объект был
"самодостаточен" :) . Т.е. текст вам придется разбить на отдельные буквы. Тогда еще возможно написать скрипт.
 
Тут сложность состоит в определении объектов для сравнения. Берем текст в кривых, как у вас на картинке. Один из объектов состоит из нескольких букв. Т.е. объект состоит из нескольких патчей. Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Буква "А" состоит из двух патчей, но эти патчи не должны попадать под проверку.
Единственное решение, что я вижу, проверку расстояния между объектами. Но для этого надо чтобы каждый объект был
"самодостаточен" :) . Т.е. текст вам придется разбить на отдельные буквы. Тогда еще возможно написать скрипт.
Да. Хотя бы между объектами. Нескомбинированными.
 
Вот тут и загвоздка: как определить между какими патчами должно соблюдаться расстояние? Б
Разбить текст на внешние патчи как раз не проблема. Проблема именно в том чтобы определить минимальную дистанцию между двумя контурами, насколько я помню, стандартного метода в модели нет
 
Предположу, что это для режущего плоттера, чтобы нож не рвал/заминал тонкие промежуточные участки. Если так, то можно задать всем объектам обводку с параметром "за объектом" и тем размером, который минимально допустим между объектами. Цветом процентов в 50 черного и задать ей прозрачность 100 умножение. В таком случае при пересечении обводок мы увидим визуально черные элементы их "интерсекций".
 
Последнее редактирование:
Предположу, что это для режущего плоттера, чтобы нож не рвал/заминал тонкие промежуточные участки. Если так, то можно задать всем объектам обводку с параметром "за объектом" и тем размером, который минимально допустим между объектами. Цветом процентов в 50 черного и задать ей прозрачность 100 умножение. В таком случае при пересечении обводок мы увидим визуально черные элементы их "интерсекций".
Плоттер, шелкография, трансфер, тампо, гравировка, тиснение, уф. В любой из технологий есть понятие минимального элемента и понятие минимального пробельного элемента.

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

Можно ли как-то определить автоматически перекрыла обводка расстояние между объектами или нет?
121328
 
Последнее редактирование:
чтобы нож не рвал/заминал тонкие промежуточные участки.
Тогда задача сформулированна некорректно - придется искать узкие места не только на различных объектах, но и на субконтурах одного и того же объекта и даже одного и того же субконтура
121326
 
  • Спасибо
Реакции: Jeine и vovansky
Вообще говоря, я когда то делал подобный макрос - надо было для трафаретной печати найти все заплывающие краской узкие места <0.2 мм, могу поискать
 
  • Спасибо
Реакции: tohaa
Поищу, конечно, но там принцип был совершенно иной - макет переводился в растр. Для вектора данная задача нетривиальна вообще. Впрочем, подобный функционал, насколько я помню, реализован в какой то программе из пакета ESKO, кажется, артпро?
 
Поищу, конечно, но там принцип был совершенно иной - макет переводился в растр. Для вектора данная задача нетривиальна вообще. Впрочем, подобный функционал, насколько я помню, реализован в какой то программе из пакета ESKO, кажется, артпро?

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

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

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

01.jpg

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