Содержание к диссертации
Введение
1. Обзор современного состояния существующих стандартов и программных средств, обеспечивающих размерный анализ сборок с учетом пространственных отклонений 6
1.1. Существующие стандарты задания допусков 6
1.2. Существующие методы размерного анализа 10
1.2.1. Чертежи одномерных размерных цепей 13
1.2.2.Параметрический подход к размерному анализу 15
1.2.2.1. Линеаризованный анализ допусков 15
1.2.2.2. Нелинеаризованный анализ допусков 17
1.2.3. Размерный анализ, основанный на кинематическом (векторном) контуре 18
1.2.4. Размерный анализ, основанный на зоне отклонений 21
1.3. Анализ систем CAD — больших и средних на возможность проведения размерного анализа 23
1.3.1. САПР общего назначения 25
1.3.1.1. Задание допусков в системе Unigraphix NX4 25
1.3.1.2. Задание допусков в системах Pro/Engineer и Catia V5 28
1.3.1.3. Задание допусков в системе Visual VSA 29
1.3.2. Специализированные системы размерного анализа 30>
1.3.2.1. Система размерного анализа РЦ v3.1 30
1.3.2.2. Система размерного анализа MITCalcTolAnalysis 32
1.3.2.3. Система размерного анализа VarTran v3.2 33
1.4. Цели и задачи исследования 35
2. Проектирование архитектуры системы 37
2.1. Общие требования к проектированию 38
2.2. Функциональный состав системы 38
2.3. Проектирование интерфейса 42
Выводы 44
3. Математическая теория квадратичных форм, реперов поверхностей и карт 45
3.1. Математическая теория квадратичных форм 46
3.1.1. Первая квадратичная форма поверхности 46
3.1.2. Вторая квадратичная форма поверхности 47
3.1.3. Деривационные формулы поверхности 48
3.1.4. Алгоритм расчета точек поверхности 50
3.1.5. Непрерывность расчёта 51
3.2. Отмеченный репер как локальная система координат 52
3. 3. Математическая теория карт поверхностей 54
Выводы 55
4. Проектирование структуры системы 56
4.1. Выбор первичного ядра 57
4.2. Проектирование функций отображения элементов геометрии 58
4.3 Проектирование функциональности представления сборки 59
Выводы 61
5. Программная реализация системы - вторичное ядро 62
5.1. Диаграмма классов 62
5.2. Представление квадратичных форм в приложении 64
5.3. Представление, способы задания и определения реперов поверхностей и тел 65
5.4. Представление поверхности, заданной квадратичными формами67
5.4.1. Алгоритм получения точек поверхности, заданной квадратичными формами 68
5.4.2. Оптимизация представления поверхности заданной квадратичными формами 71
5.4.2.1. Расчетная и опорная сетки поверхности 71
5.4.2.2. Ограничения, накладываемые на сегмент поверхности 74
5.4.2.3. Алгоритм нахождения ближайшей точки поверхности к заданной 75
5.5. Представление карт поверхностей, заданных посредством квадратичных форм 76
5.5.1. Пересечение поверхностей при переопределении границ карты... 77
5.5.1.1. Нахождение общей точки поверхности 77
5.5.2. Модуль формирования контура 79
5.5.2.1 Алгоритм проверки нормалей 82
5.5.2.2. Метод натуральной параметризации и определение действительных точек поверхности 84
5.5.2.3. Формирование составных контуров 87
5.5.3. Алгоритм определения принадлежности точки действительной области карты поверхности 90
5.6. Представление информации при проведении размерного анализа91
5.7. Реализация функций размерного анализа 95
5.7.1. Представление конфигурационного пространства сборки 96
5.7.2. Имитация и измерение допустимых отклонений 98
5.7.3. Пересечение поверхностей при определении зазора/натяга посадок 101
5.7.4. Алгоритм анализа собираемости 102
5.8. Проблемы анализа собираемости изделия 106
5.9. Демонстрационная сессия 108
5.9.1. Пример расчета параметров сборки эталонной модели системы 108
5.9.2. Пример расчета сборки домкрата гидравлического 113
Выводы 116
Список литературы
- Чертежи одномерных размерных цепей
- Вторая квадратичная форма поверхности
- Проектирование функциональности представления сборки
- Представление, способы задания и определения реперов поверхностей и тел
Введение к работе
В машиностроении широко используется электронное макетирование изделий. Для этого применяются различные системы автоматизированного проектирования. На данном этапе существует множество стандартов описания геометрии деталей, начиная от задания каркасного представления и поверхностного моделирования и заканчивая данный ряд твердотельным моде-лированим с указанием свойств материала, нагрузок и других характеристик для проведения инженерного анализа и расчета определенной группы свойств готового изделия.
Тем не менее, проблема описания реальной геометрии изделия является фундаментальной в CAD проектировании и служит причиной проблем возникают при создании электронных макетов. Под реальной геометрией понимается не номинальная 3-х мерная геометрия компонентов макета, пусть даже и с обозначенными на модели допусками, а адекватная математическая модель, способная поддерживать допуски как неотъемлемую часть геометрии компонента.
Отсутствие общепринятой методологии моделирования сборок, а следовательно, и цифровых макетов объясняется отсутствием средств передачи размерных связей на уровне сопряженных элементов деталей сборок. Из-за этого естественный процесс нисходящего проектирования может осуществляться только по спецификациям (структурной иерархии изделия) и не учитывать реальную геометрию компонентов в масштабе изделия. Не существует общей методологии создания электронного макета больших сборок, управление большими сборками на уровне геометрии практически невозможно [12]. Как следствие, возникают проблемы сборки узлов изделия при изготовлении, выполняются подгоночные работы, снижающие качество узлов и изменяющие их свойства [7]. В совокупности это приводит к увеличению издержек производства и изменению качества изделия в целом.
В данной работе рассмотрены алгоритмы анализа собираемости изделия с учетом допусков в существующих системах автоматизированного проектирования. Как показали исследования данных алгоритмов, проблема размерного анализа заключается в недостаточном математическом аппарате при представлении геометрической модели изделия, применяемом в существующих САПР.
Автор разработал алгоритмы представления геометрии изделия с допусками, основанные на дифференциально-геометрическом подходе, в частности, с применением квадратичных форм. Данный подход позволяет проводить анализ собираемости изделий машиностроения с учетом пространственных отклонений размеров на этапе их проектирования [13, 21, 22, 24, 25, 26, 40].
Чертежи одномерных размерных цепей
Чертеж одномерных размерных цепей - это ручная процедура с учетом использования системных ресурсов для одномерных накопленных вычислений. Аналитик обычно работает с инженерно - технической документацией и интерпретацией символов стандарта ASME 14.5 [8](в дальнейшем - Y14.5).
Установки системы координат на lD-чертеэюе Поскольку метод ограничен анализом наихудшего случая, аналитик располагает детали в сборки так, чтобы получить каждый из наихудших случаев (минимальное или максимальное значение анализируемого размера), т.е. отдельные чертежи необходимо конструировать для каждого наихудшего случая. Поскольку алгебраическое выражение для анализируемого размера при
Определение размерной цепи воздействии элементов-вкладчиков не создается этим методом, то никакой статистический анализ выполнить невозможно. Также элементами-вкладчиками пренебрегают не в направлении анализа, что может привести к значительным ошибкам в большинстве случаев.
Процедуру построения чертежа одномерной размерной цепи, выполняе мую вручную, можно представить следующим образом:
А) Установление системы координат размерной цепи. Установку одномерной системы координат (СК) (рис.1.5) располагают либо в левой конечной точке, либо в нижней конечной точке анализируемого размера. Положительное направление - от начала и до другой конечной точки анализируемого размера. Такая простановка применяется для случая как продольной размерной цепи (стека отклонений), так и радиальной. После установления СК стека этим путем, знак конечного накопленного результата будет говорить о том, что имеет место зазор (+) или натяг (-) в комплекте сборочного уровня и существует (+)или нет (-) анализируемый элемент детали для стеков детального уровня.
Б) Определения размерной цепи. Размерные цепи определяются как существующие серии известных включенных в них размеров и геометрических отклонений - от начала и до другой стороны неизвестного размера. На рис. 1.6 контур состоит из размеров в и с, в то время, как размер а исключен. Прослеживая цепь стека, видим, что, так как размер в идет в отрицательном направлении (ОА), то имеет отрицательный знак, а размер с идет в положительном направлении, следовательно, имеет положительный знак. Таким образом, проанализировав стек, имеем Х=(-в+с).
В) Создание чертежа допусков. Чертеж допусков является аналогом электронной таблицы бухгалтера, где каждый ряд представляет изменения, вносимые элементами-вкладчиками. Главное содержание этой таблицы приведено в таблице 1.2. В первой колонке записаны названия элементов-вкладчиков, во второй и третьей колонках содержится информация о знако вых ограничениях (Vni, Vn2) размера, согласно данным о стеке; четвертая колонка представляет разницу размерных ограничений элемента-вкладчика, т.е. Un= Vnl-Vn2.
В последнем ряду табл. 1.2 содержится сумма каждых из пронумерован п п п ных колонок. Знак результата U, = ]Vll- dV,2 обозначается (+) — зазор /=i (=i i=i или (-) — натяг для стеков сборочного уровня, или анализируемый элемент детали существует (+) либо не существует (-) для стеков детального уровня. Значения, входящие в колонки "максимум" и "минимум", зависят от правил для каждого класса размера и допуска.
Автоматизация построения данного контура сводится к упорядоченному перечислению размеров, образующих размерную цепь. Выражение я л и ]Г U, = Va -J] Va выполняется только при линейном расположении разме /=1 /=1 ;=1 ров, что вносит существенные ограничения на область применения.
В параметрическом подходе анализируемый размер выражается через алгебраическую функцию [121,] (уравнение или система уравнений), которая относит анализируемый размер к тому, от чего он зависит (т.е. элементы-вкладчики). Функцию либо линеаризуют, либо непосредственно используют для моделирования методом Монте-Карло в нелинейном анализе. Результаты, которые чаще всего получаются — это списки элементов-вкладчиков, чувствительности, процентные взносы и накопление допусков для наихудшего случая и статистического анализа.
Вторая квадратичная форма поверхности
При решении конкретных задач в каждый момент времени, как правило, необходимо знать точки не всей поверхности, а лишь некоторого ее участка. Кроме этого, на различных участках поверхности в зависимости от поставленных целей может потребоваться различная точность расчета. Заметим, что при расчете каждой точки r(w,,v,) искомой поверхности, двигаясь по карте вправо, необходимо знать лишь две предыдущие точки - r(ut_x,vM) и г(мм,v,), а двигаясь по карте вверх — вообще только одну точку г(им,у(). Тогда, согласно сделанным замечаниям, рассматриваемый алгоритм сводится к следующей последовательности действий:
1) выбирается участок нужного в данный момент размера на карте искомой поверхности (участок области U), т.е. задаются его граничные точки (M00,V00) И (U„,V„) (рис.3.1); 2) вводится параметр Р (назовем его коэффициентом уточнения), с помо щью которого варьируется точность расчета;
3) вычисляются координаты точки F(H00,V00) и вектора нормали n(u00,vQ0), при этом движение по карте происходит от точки (w0,v0) сначала вправо до точки («00,v0), затем вверх до точки (w00,v00) (рис. 3.1);
4) далее действуем по алгоритму расчета точек поверхности, считая при этом начальными условиями значения неизвестных функций в точке (tt00,v00), а конечными условиями - их значения в точке (w„,v„).
Данный алгоритм позволяет приблизиться с любой заданной точностью к любой точке поверхности не затрачивая при этом огромных ресурсов оперативной памяти компьютера и его процессора. В этом случае можно говорить в некотором смысле о непрерывности функций, получаемых в результате численного решения системы уравнений (3.8), поскольку мы можем переходить от большего участка карты к следующему более мелкому, уменьшая его до сколь угодно малого размера, при этом на каждом последующем участке можно задавать все более и более высокую точность.
Подвижные реперы, т.е. системы координат, ассоциируемые с элементом геометрического образа, широко применяются в дифференциальной геометрии. В простейших случаях реперы находят непосредственно из геометрических соображений, используя, прежде всего, теорию соприкосновений.
Если наряду с геометрическим образом F заданы одна радиус-вектор функция г и три вектор-функции т,,т2,т3,удовлетворяющие условию (т1, т2, тг) Ф 0, причём эти вектор-функции являются функциями тех же параметров, что и функции, определяющие образ F, то определяемая точкой f (начало) и векторным базисом \тх,т2,т3] аффинная система координат называется подвижным репером образа F.
Решение системы дифференциальных уравнений (3.6) с начальными условиями (3.7), которые представим в виде четвёрки вектор-функций {r,/,Jf,w}, в данном случае и есть подвижный репер искомой поверхности.
Пусть каждая поверхность имеет свою некоторую локальную систему координат (ЛСК) Е = {ё0,ё1,ё2,ё3}, которую будем называть отмеченным репером данной поверхности. Здесь ё0 - радиус-вектор начала координат, \ёх,ё2,ёъ} - ортонормированный базис.
Для различных поверхностей могут быть определены различные правила построения отмеченных реперов. При этом отмеченная точка необязательно принадлежит рассматриваемой поверхности. Представим в таблице 3.1 такие правила для плоскости и цилиндра.
Далее будем считать, что каждая поверхность рассматривается в своей локальной системе координат Е. Тогда для движения поверхности в трехмерном пространстве (поворота, параллельного переноса) достаточно все преобразования проводить лишь с её отмеченным репером Е.
Отметим, что начальные условия (3.7) - это репер искомой поверхности в некоторой начальной точке. Он также для различных типов поверхностей определяется по-разному (табл. 3.1).
Напомним, что картой называется двумерное компактное многообразие U (возможно, с краем). Элементарная карта — это замкнутая область U в R2 (всегда с краем) [14]. Другими словами, карта поверхности - это область изменения параметров рассматриваемой поверхности. Так, для плоскости, ограниченной прямоугольником axb, картой будет являться также прямоугольный кусок плоскости: ме[0;д], ve[0;6]. Для круглого цилиндра радиусом R и высотой h картой является прямоугольник: иє[0;2;т], ve[0;/z].
Как правило, детали имеют не одну поверхность. В этом случае каждая поверхность детали имеет свою карту, а набор всех карт детали будем называть атласом.
Пусть (u,v)sU - некоторая точка карты данной поверхности, тогда ей соответствует точка М поверхности с радиус-вектором 7(u,v). В этом случае точка карты (u,v) называется прообразом точки М поверхности, а точка М -образом ТОЧКИ (u,v) карты рассматриваемой поверхности.
Проектирование функциональности представления сборки
Вторичное ядро системы несет в себе основные функции по отображению графической информации в окне графического контекста. Графическую информацию можно разделить на две составляющие: - вывод изображения модели изделия в графический контекст при импорте модели; - вывод дополнительной информации на этапе проектирования функций вторичного ядра для обеспечения визуального контроля над правильностью выполнения функций.
Следует отметить, что отображение модели в графическом контексте изделия осуществляется внутренними функциями OpenCascade. Дополнительная графическая информация включает отображение точки, вектора, репера и поверхности. Для реализации отображения данных объектов созданы соответствующие функции: - DrawPoint(GPDPoint р) — функция, отображающая точку; - DrawVector(GPDVector v) - функция, отображающая вектор; - DrawReper(GPDReper г) - функция, отображающая репер; - DrawSurface(GPDSurface s) - функция, отображающая поверхность с нормалями.
Причем, входными параметрами данных функций являются объекты, определенные в ходе проектирования вторичного ядра системы. Данные функции обеспечивают механизм обратной связи между вторичным и первичным яд-рамм системы.
Следует отметить, что для фильтрации ввода противоречивой информации было предусмотрено следующее: - при выборе поверхностей, в зависимости от их типа, ниспадающее меню содержит только те типы отклонений, которые не противоречат заданным поверхностям; - для задания допуска на отклонение формы поверхностей необходимо и базовой, и зависимой выбрать одну и ту же поверхность; - при выборе типа, в зависимости от того, одно или два значения характеризуют данное отклонение, второе поле ввода может блокироваться.
Выводы
В ходе технического проектирования системы: - определен функциональный состав системы; - признано целесообразным разрабатывать систему с использованием двойного параллельного геометрического ядра; - определена технология работы пользователя с системой. Разработан со ответствующий интерфейс, позволяющий определять порядок сборки изделия и задавать пространственные допуски для каждого этапа. 5. Программная реализация системы - вторичное ядро 5.1. Диаграмма классов
В главе 2 рассмотрен функциональный состав системы. В главе 4 при проектировании интерфейса системы рассмотрены типы представляемых данных. Исходя из этого, выделены следующие функциональные единицы: - класс импорта геометрии из нейтрального формата STEP, имя класс STEPFILE; - GPDKrisstof- класс работы с поверхностями, заданными квадратичными формами, содержащий функции получения точек поверхности, функции условного дрейфа и т.д; - GPDContour - класс работы с контурами, определяющий функции задания, добавления, объединения контуров и определения точек, принадлежащих действительной части поверхности; - GPDAssemblies - класс работы со сборкой, определяющий представление сборки, функции размерного анализа, функции получения дополнительной информации о топологии изделия, функции аккумуляции информации, собранной в процессе размерного анализа изделия; - CGepardDoc - класс, определяющий объявление экземпляров всех вышеописанных классов, их структурную и функциональную увязку и обеспечивающий механизм синхронизации первичного и вторичного ядра, а так же функции по отображению графических примитивов. - GPDSurface - структура описывающая номер тела и номер поверхности и содержащая в себе один экземпляр класса GPDKrisstof. Назначение данной структуры: - обеспечить механизм синхронизации первичного и вторичного ядра системы; - обеспечить ветвление структуры представления геометрии во вторичном ядре системы;
Представление, способы задания и определения реперов поверхностей и тел
Точка А однозначно является действительной точкой поверхности (т.к. для всех контуров она находится «снаружи» замкнутой области). Определить, является точка В действительной или нет — невозможно. Решением данной проблемы является алгоритм формирования составных контуров Основная идея алгоритма состоит в следующем: после вычисления всех контуров необходимо найти все пересечения контуров друг с другом; точки пересечения контуров будем называть ключевыми точками;
после добавления всех ключевых точек во все контуры необходимо отрезать те куски контура, которые находятся на недействительной части относительно пересекавших их контуров;
после обрезки контуров необходимо сформировать единый составной контур. Итак, существует два массива: 1 - массив всех контуров (включает в себя замкнутые, разомкнутые, кусочные контуры ), 2 - массив объединенных или составных контуров (включает в себя собственно-замкнутые и замкнуто-составные контуры).
Первоначально все контуры считаются 1-го типа и добавляются только в первый массив. Как только все контуры поверхности просчитаны, запускается функция добавления ключевых точек. Общий алгоритм поиска и добавления ключевых точек состоит в следующем: 1. Цикл по всем контурам; 1=0; 1.1. Цикл по всем контурам; J=0. 1.1.1.Если \ф5 и контур J не находится в массиве запрещенных, то: 1.1.1.1.Проверяем первую точку А0 контура I на внутренность с контуром J; 1.1.1.2.Запоминаем результат в Res 1; 1.1.1.3 .Цикл по всем точкам контура I; К=0; 1.1.1.1.1. Проверить очередную точку Ак на внутренность с контуром J; 1.1.1.1.2. Запоминаем результат в Res2; 1.1.1.1.3. Если Res l Res2, то : 1.1.1.1.3.1. Сближаться по контуру I и по контуру J до заданной точности, получить точку Pnt; 1.1.1.1.3.2. Добавить точку Pnt в контуры I и J; 1.1.1.1.3.3. Установить тип точки - указатель на контур. 1.1.1.1.4. Resl=Res2; 1.1.1.1.5. K=K+1; 1.1.1.1.6. Выполнять пп. 1.1.1.1.1. - 1.1.1.1.5. пока K n (n — количество точек контура) 1.2.Поместить контур І в массив запрещенных. 1.3J=J+1; 1.4.Выполнять пп. 1.1.- 1.3. пока J NK (NK — количество контуров) 2.1=1+1. З.Выполнять пп. 1.- 3, пока I NK (NK - количество контуров). Данный алгоритм реализован в функции GPDKeyLines :: FindAllKey-Points .
Далее необходимо отрезать недействительные части контуров по ключевым точкам, а всем ключевым точкам поменять тип на указатель на контур, либо совсем удалить из памяти (например, в случае незамкнутого контура). Алгоритм резки контуров по ключевым точкам: 1. Цикл по всем контурам. 1=0. 1.1. Цикл по всем точкам контура; J=0. 1.2. Если очередная точка Aj является ключевой, то: 1.2.1 .Выяснить, в какую сторону резать: 1.2.1.1. Взять точку Aj+i (следующая точка), проверить ее на внутренность с пересекающим контуром. 1.2.1.2.Если точка внутренняя (т.е. недействительная), следовательно, вызываем функцию резки с флагом FLAG=true; 1.2.1.3 .Взять точку Aj_i (предыдущая точка), проверить ее на внутренность с пересекающим контуром. 1.2.1.4.Если точка внутренняя (т.е. недействительная), следовательно, вызываем функцию резки с флагом FLAG=false. 2. 1=1+1; 3. Выполнять пп. 1.-3. пока I NK (NK - количество контуров). Функция резки, вызываемая в алгоритме, находит вторую ключевую точку резки в зависимости от направления (параметр FLAG) и вызывает функцию удаления куска контура от одной точки до другой. Обрезку конту
Составной замкнутый (состоит из контуров Kj, К2 и Кз) контур после обрезки ров в системе выполняет функция GPDKeyLines :: KLUTrimContours . Как можно видеть из рис.5.20, после удаления лишних частей сформировался составной замкнутый контур. Теперь нет проблемы в определении точек А и В на действительность и недействительность.