11 - 2002

Автоматический перерасчет геометрии на основе размерных цепей в CAD/CAM ADEM

Андрей Мальцев

Совместить несовместимое

Традиционный процесс

Свойства и методы

Методы и приоритеты

Работа над ошибками

Каким образом создается геометрический облик изделия или детали в сознании конструктора, не знает никто — даже сам конструктор. Так или иначе, но наступает момент, когда конструктор понимает, что нашел решение, и начинает превращать созданную его воображением конструкцию в зримый, доступный всем образ. Самый простой способ сделать это — создать эскиз. Сначала он набрасывает внешний вид конструкции, затем проставляет линейные и угловые размеры, устанавливает на них предельные отклонения и т.д.

Следующий этап — превращение эскиза в чертеж, соответствующий требованиям ЕСКД. Насколько он будет похож на реальную конструкцию, целиком зависит от способности автора к рисованию эскизов. Проставленные размеры должны полностью определять геометрию изделия, но это удается далеко не всегда из-за ошибок построения размерных цепей. Если размерная цепь неверна, размеры будут противоречить друг другу. Если размерная цепь неполная, геометрическое место некоторых элементов конструкции не определяется. Эти ошибки выявляются при прорисовке чертежа с эскиза в точных размерах.

Рассмотрим подробно связь «эскиз — чертеж» в системах, содержащих в своем ядре параметрическую модель. Эта методология построения геометрии появилась и активно развивалась в 70-80 годах. За более чем тридцатилетнюю историю активного использования параметрического способа построения геометрии выявились его преимущества и недостатки. Лежащая в его основе параметрическая модель обеспечивает практически идеальный вариант контроля полноты проставленных размеров (на этапе построения определяющих элементов) и правильности их величин (на этапе расчета геометрии). Но параметрическая модель требует «жертвы» — в виде параметрического каркаса. Для технолога ЧПУ, работающего в САПР с новой деталью, это не проблема: все равно ему придется создавать каркас, благо чертеж лежит рядом. А для конструктора на этапе эскиза, когда еще не выяснены все тонкости конструкции, это не очень удобно. Второй проблемой является корректировка, вступающая в конфликт с параметрическим каркасом. Параметрическая модель становится непобедимым стражем, отчаянно защищающим последовательность и способы построения элементов, составляющих его параметрический каркас. Необходимость корректировки может быть вызвана как изменением типа и/или удалением/добавлением элемента в геометрию детали, так и изменением элементов в размерной цепи. При работе в параметрической системе с параметрической моделью изменение одного параметра обеспечивает значительное преимущество по сравнению с непараметрической моделью. При этом изменение одного параметра приводит к полному и правильному переопределению геометрического места всех элементов, тогда как в непараметрической системе необходимо переопределить все связанные элементы вручную и при этом не ошибиться. Однако при выходе за пределы параметрической модели ситуация может измениться с точностью до наоборот: изменение координат одного узла может привести к почти полному изменению параметрического каркаса со всеми вытекающими отсюда неприятными последствиями (рис. 1 и 2).

В итоге получаем парадокс:

  • Крайне необходимо наличие параметрической модели для быстрых и удобных корректировок геометрии по изменяющимся величинам размеров с контролем правильности, построения каталогов типовых элементов с занесением в таблицы или базы данных типоразмеров для быстрого и эффективного их использования в текущей работе.
  • Крайне необходимо «наличие отсутствия» параметрической модели на этапе получения эскизов деталей, корректировки топологии геометрии и размерных цепей. В этом случае «сладкий бонус» связывает по рукам и ногам.

Совместить несовместимое

Решение проблемы очевидно: когда параметрическая модель перестает адекватно отображать суть геометрии, она должна быть разрушена; когда эскиз детали построен и проставлены все необходимые размеры, необходимо построить параметрическую модель и проконтролировать правильность результата.

Разрушить параметрический каркас, когда он не нужен, не проблема: ломать — не строить, душа не болит.

Методику построения параметрического каркаса определим, проанализировав действия конструктора, работающего в любой параметрической CAD-системе, или технолога ЧПУ, работающего в САПР. Методологически все эти работы идентичны.

В начало В начало

Традиционный процесс

Итак, вначале мы имеем эскиз, в бумажном или электронном виде, с проставленными размерами. Размер имеет номинальное значение (номинал) и может иметь верхнее отклонение (сумма верхнего отклонения и номинала дает максимально допустимое значение размера) и нижнее отклонение (сумма нижнего отклонения и номинала дает минимально допустимое значение размера). Требуется определить:

  1. совместимость размеров;
  2. достаточность размеров;
  3. точное геометрическое положение элементов чертежа.

Процесс начинается с выбора системы координат, от которой удобнее всего строить элементы по размерным линиям, заданным на эскизе. Затем начинается последовательное построение линий, дуг и точек в соответствии с проставленными размерами. Каждый вновь созданный элемент становится базовым для построения последующих элементов.

Эвристическая параметризация

В CAD/CAM ADEM автоматизирована работа по построению параметрического каркаса по эскизу. Последовательность действий пользователя в данном случае очень проста:

  • Конструктор рисует эскиз детали в модуле ADEM-CAD, как ему удобно, или импортирует его из любой другой системы. При этом необходимо соблюдение некоторых условностей. Мы считаем эти условности оправданными, поскольку без них конструктор сам едва ли поймет, что он нарисовал:
    • если в реальной детали отрезки параллельны или перпендикулярны, то на эскизе они должны быть такими же в пределах погрешности построения (в идеале — оговоренной в ЕСКД). То же самое относится к сопрягающимся, совпадающим и симметричным элементам;
    • если отрезок является осью симметрии, то он должен изображаться штрихпунктирной линией.
  • Устанавливает относительную систему координат эскиза в выбранную начальную точку. Эта точка неподвижна, и все построения будут вестись относительно нее.
  • Запускает перерасчет эскиза в чертеж.

При успешном завершении перерасчета конструктор получает точный чертеж детали в заданном масштабе.

В начало В начало

Свойства и методы

Предположим, что некий чертежник получил от своего шефа задание создать точный чертеж на основе эскиза с проставленными размерами. Проследим последовательность его действий, обобщим логику построений и формализуем ее.

Сначала определимся с размерами, имеющими верхнее или нижнее отклонение либо и то и другое. Верхнее отклонение, нижнее отклонение и номинал задают крайние значения реального размера. Если речь идет только о построении чертежа, то проставленных отклонений бывает вполне достаточно. Но если созданный чертеж предполагается использовать в дальнейшем, например для подготовки ЧПУ-программ, то для построения необходимо выбрать расчетное значение размера из этого диапазона. В общем случае, технолог ЧПУ сам решает, какое значение размера выбрать за расчетное, чтобы уменьшить вероятность неисправимого брака:

  • для охватываемых размеров («система вала») размер выбирается ближе к максимальному значению;
  • для охватывающих размеров («система отверстия») расчетный размер выбирается ближе к минимальному;
  • в большинстве случаев для обработки расчетный размер устанавливают как средний между минимально допустимым и максимально допустимым размерами и вычисляют его по формуле:

где:

Rрасч — расчетный размер,

Rmax — максимально допустимый размер,

Rmin — минимально допустимый размер,

Rном. — номинальный размер,

Bo — верхнее отклонение размера,

Ho — нижнее отклонение размера.

При дальнейшем рассмотрении будем использовать не номинальные, а расчетные размеры.

Рассмотрим простейший эскиз (рис.М3): «A» и «B» — условные обозначения горизонтального и вертикального расчетных размеров. В реальной ситуации это конкретные числа. Для удобства описания присвоим наименования элементам эскиза (рис. 4):

Р0 — точка начала построений,

Р1, Р2, Р3, Р4 — вершины прямоугольника — необходимо построить,

Ll, L2, L3, L4 — прямые (условно бесконечные), которым принадлежат ребра прямоугольника,

Ls1,Ls2 — оси симметрии.

Предположим, что чертежник работает в абсолютно параметрической системе, позволяющей определить один или несколько элементов всеми мыслимыми способами.

Поскольку в начале работы мы точно знаем только положение точки Р0, то начинаем искать элемент(ы), положение которых можно однозначно определить через эту точку. Таких элементов два — прямые Ls1 и Ls2:

  • прямая Ls1 проходит через Р0 и параллельна оси Y;
  • прямая Ls2 проходит через Р0 и параллельна оси X.

Чтобы нагляднее фиксировать логику построений, будем отображать ее в следующем виде:

<Метод построения> : <Определяемые элементы> =

= <Параметры для определения>.

Установим, что метод построения М1 определяет положение линий, параллельной осям X и Y и проходящей через точку с установленными координатами, а прямые симметрии можно записать в следующем виде:

М1: Ls1 = Р0 Y

М1: Ls2 = Р0 X

Теперь у нас «прочерчены» линии Ls1 и Ls2. На их основе можно строить следующие элементы. Линии Ll и L3 параллельны, между ними задано расстояние A, и они симметричны относительно оси Ls1. Таким образом, их геометрическое положение определено однозначно. Аналогичным образом можно определить линии L2 и L4. Пусть методМ2 определяет положение двух прямых, имеющих ось симметрии и расположенных на заданном расстоянии:

М2: Ll,L3 = Ls1 A

М2: L2,L4 = Ls2 В

Точка Р1 есть пересечение линий Ll и L4; остальные точки определяются так же. Пусть методМ3 определяет точку как пересечение двух линий:

М3: Р1 = Ll L4

М3: Р2 = Ll L2

М3: Р3 = L2 L3

М3: Р4 = L3 L4

Таким образом, все элементы определены и чертеж можно считать построенным.

Давайте рассмотрим фразу, содержание которой было основой для определения метода и параметров построения осей симметрии: «прямая Ls1 проходит через Р0 и параллельна оси Y». Чтобы отработать логику, содержащуюся в этом предложении, система должна знать, что точка Р0 принадлежит прямой Ls1, что сама прямая параллельна оси Y и что точка Р0 уже определена. Все перечисленные параметры являются свойствами элементов, которые система использует при определении метода и параметров для его построения.

В начале построений все элементы имеют свойство «элемент не определен». Как только устанавливается метод построения, строится сам элемент и устанавливается свойство «элемент определен». Помимо данного свойства система готовит еще ряд свойств перед тем, как начинает поиск методов построения элементов. Для каждого элемента строятся списки элементов, по отношению к которым элемент имеет определенное свойство. Например, для точки определяется список линий, которым принадлежит эта точка, список дуг, которым принадлежит эта точка, и т.д. Все свойства определяются в пределах погрешности построений.

Теперь давайте поговорим о том, как система выходит на элемент и на метод его построения. В нашем случае происходит следующее: для точки Р0 устанавливается свойство «элемент определен». При этом начинается попытка применения всех методов построения, одним из параметров которых является элемент «точка». Например, при попытке применения метода М1 проверяется, какие из элементов списка точки Р0 со свойством «линии, проходящие через точку» обладают свойством «параллельна оси X или Y». Если линия обладает такими свойствами, то выбирается этот метод построения и устанавливаются его параметры (точка и имя оси). Таким образом вылавливаются и строятся прямые Ls1 и Ls2 и для них устанавливается свойство «элемент определен».

Поскольку Ls1 — это линия, то начинается попытка применения всех методов, одним из параметров которых является элемент «линия». При попытке применения методаМ2 проверяется, какие из элементов списка линии Ls1 со свойством «линии, симметричные относительно данной» имеют свойство «задана дистанция». Так система выходит на метод одновременного построения линий Ll и L3, а затем и линий L2 и L4, после чего определяются методы построения точек по рассмотренным правилам. Процесс заканчивается, когда все элементы будут иметь свойство «элемент определен».

В начало В начало

Методы и приоритеты

Методы построения элементов определяются по свойствам элементов. Свойства элементов (параллельность, симметрия и т.д.) устанавливаются в пределах погрешности построений. Поэтому свойство элемента может возникнуть случайно и войти в конфликт с размерной цепью (рис. 5).

После построения Ls1 линию L3 можно определить двумя методами: совместно с линией L1 методомМ2, описанным выше, или методом М4 — построение прямой, параллельной данной и находящейся от нее на заданном расстоянии:

М2: Ll,L3 = Ls1 A

М4: L3 = Ls1 С

При обнаружении нескольких альтернативных методов построения элемента действует правило приоритетов построения. Каждый метод построения элемента имеет индекс приоритета. Чем меньше индекс, тем выше приоритет построения. Самый высокий приоритет имеют методы с индексом 0. МетодМ2 имеет индекс 4, а метод М4 имеет индекс 1. Приоритеты выбираются следующим образом:

  • метод М4 определяется по свойству «параллельность». Это свойство определяется в пределах точности построений и может быть случайным, поэтому индекс приоритета этого метода равен 1, а не 0;
  • методМ2 использует: свойство «параллельность» два раза (Ls1 и Ll, Ls1 и L3), свойство «симметрия» один раз (тоже в пределах точности построений) и не содержит ни одной базовой размерной линии, что дает повышенный риск неправильного построения (соблюдение размера всегда важнее соблюдения свойства симметрии).

По правилу приоритетов построения метод с высшим приоритетом построения вытесняет из очереди построения все альтернативные методы с низшими приоритетами и становится в очередь построения впереди всех методов построения других элементов с низшими приоритетами.

Согласно этому правилу совместное построение Ll и L3 методомМ2 будет уничтожено и вместо него будет установлено построение линии L3 методом М4. После чего выполнится построение линии Ll методом М4:

М4: Ll = L3 A

Методы построения прямых Ll и L3 имеют более высокий приоритет построения, чем прямых L2 и L4, поэтому в очереди построения они встанут перед ним. Таким образом, итоговая последовательность построения будет выглядеть следующим образом:

М1: Ls1 = Р0 Y

М1: Ls2 = Р0 X

М4: L3 = Ls1 С

М4: Ll = L3 A

М2: L2,L4 = Ls2 В

М3: Р1 = Ll L4

М3: Р2 = Ll L2

М3: Р3 = L2 L3

М3: Р4 = L3 L4

В начало В начало

Работа над ошибками

Естественно, любой эскиз может содержать ошибки и неточности, которые остались незамеченными во время эскизного проектирования. При построении чертежа система ADEM будет вылавливать подобные ситуации и информировать о них конструктора (рис. 6).

Разрыв размерной цепи. Если в геометрической базе есть элементы со свойством «элемент не определен», а система не нашла ни одного метода для их определения, это значит, что не хватает размеров для их определения. При обнаружении такой ситуации ADEM останавливает построения и подсвечивает такие элементы.

Контроль размеров. После окончания построений система проверяет элементы, имеющие свойство «линейный размер» и «угловой размер». Если линейная/угловая величина элемента не будет соответствовать установленной, система подсветит эти звенья размерной цепи.

По ходу статьи понятие «чертежник» заменилось на понятие «система», и это не случайно: указанный «чертежник» — модуль системы ADEM Parametric-NT, а его «шеф»  — пользователь, набросавший свой эскиз и проставивший размеры или получивший геометрию из других CAD-систем.

В настоящее время разрабатывается новый вариант модуля, включающий возможность контроля размерных цепей, но об этом мы поговорим в следующий раз.

«САПР и графика» 11'2002