1. Создание элементов модели. Общие понятия и терминология
Термином «Элемент» в системе обычно называется геометрический объект, который имеет родителей. Элементы включают в себя все твердые тела, примитивы (типовые тела) и некоторые объекты, представляющие из себя каркас кривых. Геометрия, которая используется для построения элемента, является «родителем» операции. Сама операция считается «дочерним» объектом, т.е. зависящим от родителей элементом построения. Между дочерними и родительскими элементами устанавливается ассоциативная связь. Изменение родителей приводит к автоматическому обновлению дочерних элементов. Рассмотрим наиболее часто встречающиеся термины, используемые при создании элементов:
- тело: совокупность граней и ребер, которые могут замыкать объем либо не замыкать объем, но, тем не менее, являться односвязной областью. Включает в себя как твердые, так и листовые тела;
- твердое тело: совокупность граней и ребер, замыкающих объем. Содержит внутри объема «материал» (solid);
- листовое тело: тело, состоящее из граней и ребер, которые вместе не создают замкнутого объема. Его можно считать телом с «нулевой» толщиной;
- грань: часть поверхности тела, отделенная от других поверхностей замкнутой цепочкой ребер;
- направляющие кривые: цепочка кривых, вдоль которой перемещается задающее сечение.
- элемент: любой из ниже перечисленных методов построения твердого тела и связанный с ним геометрический примитив.
Тело может быть создано двумя основными способами:
1. Вытягиванием эскиза или любых кривых. Во время перемещения кривые “заметают” объем, моделируя твердое тело, позволяя сразу получить сложную геометрию. Редактирование тела осуществляется либо изменением параметров самой функции вытягивания, либо редактированием эскиза.
2. Созданием примитивных (параллелепипед, конус, цилиндр, и т.д.) элементов формы и их объединением, вычитанием или пересечением и последующим добавлением к детали. При работе с примитивами каждая отдельная операция порождает достаточно простую геометрию, в принципе вы можете построить такое же тело, что и в первом случае, однако его редактирование может оказаться более трудоемким, но и более гибким и предсказуемым.
Создание элементов модели имеет некоторые общие действия и параметры, такие как:
- выбор объектов (работая с твердым телом, вам часто приходится указывать ту или иную геометрию);
- задание точек (все точки, включая концы и середины кривых (ребер) или позицию на экране, задаются в команде «Конструктор точки»);
- определение вектора (все вектора задаются с использованием команды “Конструктор вектора”);
- тело построения (Элемент модели - результат построения, называется ”Телом построения”. Если в модели присутствует только одно тело, то система принимает его по умолчанию. Если тел больше, чем одно, вы должны указать, с каким телом вы собираетесь работать);
- булевы операции (когда вы создаете геометрические примитивы и элементы построения типа заметания, вы можете выбрать логическую операцию объединения, вычитания или пересечения, которая может быть применена к только что построенной геометрии и существующим в части твердым телам);
- отказ или отмена действий (в любой момент построения вы можете вернуться на шаг назад, выполнив команду “Отмена”).
2. Моделирование тел с помощью примитивов
Примитивы - это конструктивные элементы, имеющие простые аналитические формы, например: блок (параллелепипед), цилиндр, конус, сфера. Примитивы ассоциативны точке привязки, вектору и кривым, которые использовались во время их построения для позиционирования и ориентации. Если вы в дальнейшем переместите объект привязки, то и примитив также переместится. Для создания примитива необходимо:
- выбрать тип примитива, который вы хотите построить (блок, цилиндр, конус, сфера);
- выбрать метод задания примитива;
- задать параметры примитива в соответствии с выбранным методом построения;
- выбрать булевы опции.
Использование примитивов рассмотрим на примере создания следующей детали:
Создайте новый файл. Вызовите диалог создания блока, воспользовавшись иконкой на панели инструментов “Элемент”.
Установите тип задания “Начало и длины ребер”, задайте точку начала блока в начале системы координат (для задания точки откройте диалог “Конструктор точки” - ). В разделе “Размеры” введите значения: длина (ХС) = 60; ширина (YC) = 50; высота (ZC) = 40, и завершите построение (ОК). Вновь вызовите диалог создания блока и постройте блок с размерами: длина (ХС) = 60; ширина (YC) = 50; высота (ZC) = 40, в точке со смещением от начала системы координат: приращение ХС = 10; приращение YC = 1 0; приращение ZC = 5, в разделе булевых опций установите значение «Вычитание», при этом первый блок будет выбран автоматически, т.к. это единственное твердое тело в части. Если в рабочей части одно тело, то NX на шаге задания булевых опций выберет его автоматически, если более одного, то вам будет предложено указать необходимое тело. Завершите операцию (ОК).
Теперь создайте цилиндр ( , установив тип «Ось, диаметр и высота», с размерами: диаметр = 30; высота = 5. Для задания вектора направления оси цилиндра выберите ось Z. C рабочей системы координат, для задания точки вызовите диалоговое окно конструктора точек, выберите в нем тип “Контекстная точка”, установите значения координат по всем осям, равное нулю, в разделе «Смещение» установите значение «Прямоугольный» и введите приращения: ХС = 45; YC = 35 ZC = 5. Подтвердите (ОК) задание точки, в разделе булевых опций установите значение «Объединение» (NX автоматически выбирает основное тело), завершите операцию (ОК). Создайте еще один цилиндр с размерами: диаметр = 1 5; высота = 15, поместив его в центре верхней грани предыдущего цилиндра с направлением оси -ZC и опцией «Вычитание» в разделе булевых операций.
Теперь нам нужно создать гладкое отверстие диаметром 20 мм на боковой вертикальной стенке детали. Для этого создадим еще один цилиндр с параметрами: диаметр = 20; высота = 15, поместив его не наружной грани стенки с направлением оси ХС, смещением от начала системы координат: ХС = 0; YC = 30; ZC = 20. Для создания прямоугольного выреза на другой стенке построим блок с размерами: длина (ХС) = 20; ширина (YC) = 20; высота (ZC) = 20 установив точку привязки блока в координаты: ХС = 20; YC = 0; ZC = 20 и указав опцию «Вычитание» для булевой операции.
Вызовите диалог создания радиуса скругления ребра из панели «Элемент» либо из меню Вставить - Конструктивный элемент - Скругление ребра,установите необходимые значения радиусов для ребер, поочередно добавляя их в деталь.
Затем, используя операции Зеркальное тело и Объединение ,придайте детали требуемый вид.
Лекции по построению компилятора на Pascal
Автор неизвестен Оглавление
1. Введение. 5
ВВЕДЕНИЕ.. 5
ОСНОВА.. 7
2. Синтаксический анализ выражений. 10
НАЧАЛО.. 10
ОДИНОЧНЫЕ ЦИФРЫ... 10
ВЫРАЖЕНИЯ С ДВУМЯ ЦИФРАМИ.. 11
ОБЩАЯ ФОРМА ВЫРАЖЕНИЯ.. 13
ИСПОЛЬЗОВАНИЕ СТЕКА.. 13
УМНОЖЕНИЕ И ДЕЛЕНИЕ.. 14
КРУГЛЫЕ СКОБКИ.. 15
УНАРНЫЙ МИНУС.. 16
СЛОВО ОБ ОПТИМИЗАЦИИ.. 17
3. Снова выражения. 19
ВВЕДЕНИЕ.. 19
ПЕРЕМЕННЫЕ.. 19
ФУНКЦИИ.. 20
ПОДРОБНЕЕ ОБ ОБРАБОТКЕ ОШИБОК.. 21
ПРИСВАИВАНИЕ.. 22
МНОГОСИМВОЛЬНЫЕ ТОКЕНЫ. 23
ПРОБЕЛЫ... 24
4. Интерпретаторы.. 30
ВВЕДЕНИЕ.. 30
ИНТЕРПРЕТАТОР. 31
НЕМНОГО ФИЛОСОФИИ.. 34
5. Управляющие конструкции. 39
ВВЕДЕНИЕ.. 39
ПЛАН.. 39
НЕМНОГО ОСНОВ.. 40
ОПЕРАТОР IF. 42
ОПЕРАТОР WHILE.. 44
ОПЕРАТОР LOOP. 45
REPEAT-UNTIL.. 46
ЦИКЛ FOR.. 47
ОПЕРАТОР DO.. 48
ОПЕРАТОР BREAK.. 49
ЗАКЛЮЧЕНИЕ.. 52
6. Булевы выражения. 57
ВВЕДЕНИЕ.. 57
ПЛАН.. 57
ГРАММАТИКА.. 57
ОПЕРАТОРЫ ОТНОШЕНИЙ.. 58
ИСПРАВЛЕНИЕ ГРАММАТИКИ.. 59
СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР. 61
ОБЪЕДИНЕНИЕ С УПРАВЛЯЮЩИМИ КОНСТРУКЦИЯМИ.. 68
ДОБАВЛЕНИЕ ПРИСВАИВАНИЙ.. 68
7. Лексический анализ. 71
ВВЕДЕНИЕ.. 71
ЛЕКСИЧЕСКИЙ АНАЛИЗ. 71
КОНЕЧНЫЕ АВТОМАТЫ И АЛЬТЕРНАТИВЫ... 73
ЭКСПЕРИМЕНТЫ ПО СКАНИРОВАНИЮ... 73
ПРОБЕЛ.. 74
КОНЕЧНЫЕ АВТОМАТЫ... 75
НОВЫЕ СТРОКИ.. 76
ОПЕРАТОРЫ... 77
СПИСКИ, ЗАПЯТЫЕ И КОМАНДНЫЕ СТРОКИ. 78
СТАНОВИТСЯ ИНТЕРЕСНЕЙ.. 79
ВОЗВРАЩЕНИЕ СИМВОЛА.. 83
РАСПРЕДЕЛЕННЫЕ СКАНЕРЫ ПРОТИВ ЦЕНТРАЛИЗОВАННЫХ.. 85