Оглавление 1. Автоматизированное проектирование в системе T-FLEX....... 1 1.1. Параметрическое проектирование в T-FLEX...
59 downloads
331 Views
8MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Оглавление 1. Автоматизированное проектирование в системе T-FLEX....... 1 1.1. Параметрическое проектирование в T-FLEX................. 4 1.1.1.Выполнение расчетной части проекта............................. 4 Работа с базами данных в T-FLEX ....................................... 4 Использование переменных в T-FLEX................................. 8 Выражения в T-FLEX ......................................................... 19 Некоторые итоги ................................................................. 23 1.1.2. Разработка параметрической модели............................ 24 Понятия модели и моделирования ..................................... 24 Основные понятия и приемы 3D-моделирования .............. 27 Моделирование деталей...................................................... 35 Построение 3D профилей ................................................... 41 Моделирование сборок ....................................................... 44 Некоторые итоги ................................................................. 46 1.1.3.Формирование интерфейса системы ............................. 46 Контроль исходной информации в редакторе переменных46 Проектирование интерфейса средствами T-FLEX............. 47 1.1.4. Оформление выходной документации ......................... 51 Формирование чертежей..................................................... 52 Формирование спецификаций ............................................ 54 1.1.5. Пример автоматизированного проектирования прессформы............................................................................ 57 1.1.6. Пример автоматизированного проектирования муфты 66 Некоторые итоги ................................................................. 74 1.2. Автоматизированное проектирование в T-FLEX с использованием технологии OLE Automation......................... 75 1.2.1. Общие принципы проектирования с использованием технологии OLE Automation ......................................... 75 1.2.2. Функции ActiveX, доступные в T-FLEX....................... 76 1.2.3. Использование Delphi для автоматизации проектирования в T-FLEX ............................................ 79 Оглавление ................................................................................... 1
1. Автоматизированное проектирование с использованием T-FLEX CAD 3D Система T-FLEX CAD 3D (далее T-FLEX) сочетает в себе мощную функциональность параметрического твердотельного 3D моделирования с полным набором инструментов параметрического двумерного проектирования и черчения. Она обеспечивает уникальную параметрическую технологию для проектирования, объединенную с известным и отлично себя зарекомендовавшим ядром Parasolid фирмы UGS. Помимо широкой функциональности в области трехмерного моделирования T-FLEX содержит в себе полный набор средств оформления конструкторской документации в соответствии с российскими и международными стандартами. T-FLEX разработан для операционных сред Microsoft Windows 9х/ME/NT/2000/XP/Wista и распространяется на нескольких языках по всему миру. Система имеет большой набор дополнительных приложений, которые полностью интегрированы с ней. Такие системы, в частности, позволяют: автоматизировать инженерные расчеты; автоматизировать проектирование технологических процессов изготовления и сборки (T-FLEX Технология); автоматизировать подготовку управляющих программ для станков с ЧПУ (T-FLEX ЧПУ); автоматизировать проектирование штампов и пресс-форм; упорядочить документооборот (T-FLEX DOCs) и многое другое. Приведенные далее примеры были выполнены в учебной версии T-FLEX, которая распространяется бесплатно и может быть использована исключительно в ознакомительных и учебных целях. Отличия учебной версии от коммерческой состоят в следующем: сохраненные в учебной версии модели и чертежи не будут открываться в коммерческой версии; вывод на плоттер (принтер) только в формате А4 с указанием на полях про подготовку в учебной версии (вывести GRS – файл, созданный в учебной версии, на плоттер любого формата можно с помощью университетской версии T-FLEX, поставляемой в учебные заведения в рамках программы поддержки учебных заведений с конца 2001 года); не доступен экспорт в некоторые форматы; отключена подсистема автоматизированной подготовки спецификаций. Дополнительную информацию можно получить на официальном сайте АО “Топ Системы” www.topsystems.ru., либо на
сайте представительства АО “Топ Системы” в Украине – компании “Топ Системы – Украина” www.topsystems.kiev.ua. Рассматривая систему T-FLEX, как базовый инструмент автоматизированного проектирования, можно выделить три уровня автоматизации: начальный уровень, на котором используются базовые возможности системы по созданию моделей ( в том числе 3D) и оформлению конструкторской документации без параметрической связи между элементами; средний уровень, на котором активно используется уникальный механизм параметризации T-FLEX, внутренние функции, поддерживается работа с внутренними и/или внешними базами данных; высокий уровень, на котором в дополнение к предыдущим возможностям, используется технология взаимодействия между приложениями OLE Automation. Начальный уровень автоматизации проектирования на сегодняшний день не представляет особого интереса, хотя T-FLEX и здесь имеет интересные решения, способные облегчить труд конструктора. Поэтому данный уровень автоматизации проектирования здесь рассматриваться не будет. Средний уровень – наиболее развитая и мощная составляющая T-FLEX. В этой системе параметризировать можно почти все, причем эта работа не требует от проектировщика специальных знаний в области программирования, а только лишь правильного в структуре и последовательности формирования связей между элементами. Причем формирование таких связей сделано предельно простым. По простоте использования механизма параметризации можно сравнить T-FLEX и Microsoft Excel, однако, первая, кроме всего прочего, позволяет быстро и эффективно установить связи между рассчитанными значениями и геометрическими элементами модели. Использование даже этого, среднего уровня автоматизации позволяет решать большинство задач. Исключения составляют задачи, при решении которых используются сложные вычислительные алгоритмы, например, циклические и итерационные вычисления, численные методы. Высокий уровень – наиболее перспективная часть дальнейшего развития T-FLEX. Сегодня она находится на этапе становления и постоянного развития. Использование технологии OLE Automation позволяет получать исходные данные из модели, обрабатывать их, используя современные среды объектного программирования,
передавать результаты обработки обратно в модель. Сегодня количество функций, доступных для использования через механизм OLE Automation, является явно недостаточным для решения самых сложных задач, однако, оно постоянно увеличивается и позволяет создавать высокоинтегрированные, высококачественные с точки зрения взаимодействия между программами, приложения. Свое основное внимание мы сосредоточим на использовании возможностей автоматизации на среднем и высоком уровнях.
1.1. Параметрическое проектирование в T-FLEX В параметрическом проектировании не существует жестких правил, определяющих порядок такого проектирования. Имеется возможность многократно возвращаться к пройденным этапам, добавлять что-то новое, исправлять ошибки. Однако рациональнее проводить разработку в такой последовательности: 1) выполнение расчетной части проекта; 2) разработка параметрической модели; 3) формирование интерфейса системы; 4) оформление выходной документации. Такая последовательность действий позволит максимально быстро и с наименьшим количеством ошибок реализовать проект. Рассмотрим более детально содержательную часть каждого этапа, с примером в конце.
1.1.1.Выполнение расчетной части проекта Выполнение расчетной части выполняется в два или один этап, в зависимости от того, имеется необходимость в использовании баз данных или нет. В большинстве проектных задач все-таки следует использовать базу данных, иногда даже несколько. В таком случае удобно сначала подготовить необходимые базы данных, а затем сформировать переменные и произвести необходимые расчеты. Рассмотрим, каким образом в системе T-FLEX осуществляется работа с базами данных. Работа с базами данных в T-FLEX Система T-FLEX имеет средства для создания и работы как с внутренними базами данных, которые хранятся в файле чертежа, так и внешними базами данных, созданными, например, в Microsoft Access. Для разработки относительно простых систем лучше подойдут внутренние базы данных, а при решении более сложных задач (в
первую очередь требующих использования сложных баз данных), скорее всего, придется использовать внешние базы данных либо их комбинацию с внутренними. Напомним, что база данных – это способ упорядоченного хранения данных. База данных представляет собой набор строк (записей). Каждая запись состоит из отдельных колонок (полей). Каждое поле идентифицируется своим именем. При создании баз данных важно правильно определить необходимое их количество и структуру. Особое внимание следует обратить на то, что внутренние базы данных T-FLEX не допускают наличия объединенных ячеек и не позволяют напрямую указывать диапазон возможных значений. В таком случае исходную таблицу преобразовать к виду, в котором объединенные ячейки разделяются на отдельные, а информация в них дублируется. Для задания диапазона следует ввести два поля, в одном из которых будет указано минимальное, а в другом – максимальное значение. Дополнительную сложность представляют таблицы, в которых имеются ячейки с неуказанными значениями. В этом случае их следует заполнить какимлибо, несовпадающим с другими, значением, например нулями, с последующей обработкой такого значения. Создание базы данных поясним на примере передних углов резьбонарезных инструментов1. Исходная таблица имеет следующий вид. Обрабатываемый материал Мягкая сталь Сталь средней твердости Твердая сталь Чугун и бронза Латунь Легкие сплавы Автоматная сталь Легированная сталь Инструментальная сталь Ковкий чугун
1
Метчики 10 – 12 8 – 10 5 0–5 10 16 – 25 10 5 8
Круглые плашки
Круглые гребенки
20 – 25 15 – 20
Тангенциальные гребенки 25 20 10 25
10 – 12 20 25 25
30 25
25 12 20
20 15 20
Справочник технолога-машиностроителя. В 2-х т. Т. 2 / Под ред. А. Г. Косиловой и Р. К. Мещерякова.– 4-е изд., перераб. и доп.– М.: Машиностроение, 1985.– 496 с. (табл. 148, С. 231)
В таком виде она не может быть представлена в реляционной базе данных, поскольку, во-первых, имеет объединенные как по вертикали, так и по горизонтали ячейки, во-вторых, имеет диапазоны значений, которые в представленной записи могут восприниматься только как текст. На первом этапе эту таблицу преобразовать. Преобразованная таблица. Обрабатываемый материал Мягкая сталь Сталь средней твердости Твердая сталь Чугун и бронза Латунь Легкие сплавы Автоматная сталь Легированная сталь Инструментальная сталь Ковкий чугун
Метчики Min 10 8 5 0 10 16 10 10 5 8
Max 12 10 5 5 10 25 10 10 5 8
Круглые плашки Min Max 20 25 15 20 10 12 10 12 20 20 25 25 25 25 25 25 12 12 20 20
Круглые гребенки 25 25 20 10 25 25 25 25 15 20
Тангенциальные гребенки 25 25 20 10 25 30 25 20 15 20
В таком виде таблицу можно переносить во внутреннюю базу данных T-FLEX. Каждая база данных имеет свое имя. Внутри базы данных каждое поле (столбец таблицы) также имеет свое уникальное имя. Каждая запись (строка таблицы) имеет свой номер, который формируется автоматически. Отметим, что имена базам данных и полям необходимо делать предельно краткими, но понятными, поскольку это в последующем сократит записи поиска информации в базе данных. Поля внутренних баз данных могут быть одного из следующих типов: Целые. В таком поле вы можете вводить только целые числа. Вещественные. В таком поле вы можете вводить только вещественные числа. Текстовые. В таком поле вы можете вводить любую текстовую информацию. В нашем случае, очевидно, что поле с обрабатываемым материалом будет текстовым, а все остальные поля – целыми. Присвоим следующие имена: База данных – Gam; Обрабатываемый материал – Mat; Метчики, Min – Mmin;
Метчики, Max – Mmax; Круглые плашки, Min – KPmin; Круглые плашки, Max – KPmax; Круглые гребенки – KG; Тангенциальные гребенки – TG. Для создания базы данных в T-FLEX следует выполнить команду “Параметры / База данных” “Новая”. Далее следует ввести имя базы данных и сформировать поля. При этом лучше сразу определить тип данных поля и максимальную длину данных. На этом этапе будут доступны команды создания новых полей перед текущим полем или после него. В завершение имеется возможность отсортировать записи и установить требуемый порядок полей. Окончательный вид базы данных представлен ниже на рисунке.
Для поиска информации в базе данных Gam нам наверняка понадобится еще одна база данных, в которой будет храниться информация о доступных типах инструментов. Такая база данных будет иметь только одно поле текстового типа. Создадим такую базу данных, присвоив ей имя Tool, а полю – имя Type. Окончательный вид этой базы данных представлен ниже на рисунке. Теперь, имея исходную информацию в базах данных можно переходить к ее использованию для расчетов. Кроме внутренних баз данных T-FLEX имеет возможность получать информацию из внешних баз данных. Используя механизм ссылок можно получить
доступ к данным, подготовленным в системах Microsoft Access (*.mdb), dBase (*.dbf), FoxPro (*.dbf), Paradox (*.db), Microsoft Excel (*.xls), либо записанных в текстовых файлах (*.txt, *.csv).
Система T-FLEX имеет встроенные функции для поиска информации во внутренних и внешних базах данных. Эти функции используются уже на этапе формирования переменных. Использование переменных в T-FLEX Переменные в системе T-FLEX играют ключевую роль в параметризации. Понятие переменной объединяет в себе понятие переменной и константы с именем алгоритмических языков программирования, т. е. переменные могут иметь начальные значения, эти значения могут изменяться в последующем, значения некоторых переменных могут определяться выражениями и т. д. Однако основным отличием и преимуществом переменных в T-FLEX является возможность связать значение переменной с конкретным геометрическим объектом либо объектами (вернее, с некоторыми параметрами таких объектов). В самом общем случае переменная может определять не только геометрический параметр, но и промежуточное, расчетное значение, некую физическую характеристику (например, массу, момент инерции, крутящий момент и т.д.). Структурно переменные в T-FLEX делятся на: внутренние; внешние; глобальные. Внутренние переменные предназначены для параметризации в пределах модели или чертежа и используются для внутренних целей. Внешние переменные образуются из внутренних и служат для организации параметрической связи между сборочным чертежом и чертежами-фрагментами. При нанесении фрагмента требуется задать
значения внешних переменных фрагмента. Внешние переменные являются основным звеном связи системы T-FLEX с другими системами и прикладными программами. Глобальные переменные это поименованные значения текстового или вещественного типов. Глобальные переменные доступны в редакторе переменных через специальные функции для всех открытых в данном сеансе работы документов. Список глобальных переменных и их значений сохраняется автоматически при выходе из системы (в реестре) и восстанавливается при входе. Каждая переменная имеет уникальное имя и значение. Кроме того, переменная имеет комментарий, в котором можно указать, что собственно определяет эта переменная. Переменные бывают двух типов: числовые и текстовые. Тип переменной определяется первым символом ее имени. Имя числовой переменной должно начинаться с буквы, например: D1; Rmax; Sigma_V; Диаметр; Длина, подача. Значение числовой переменной – целое либо действительное число, например: 12; 125; -234; 781.234; 3.834e+6. Имя текстовой переменной должно начинаться со знака $, например: $Tool; $Message; $Материал_Заготовки; $Твердость_НВ. Значение текстовой переменной – строка символов заключенная в кавычки, например: “Резец”; “ Сталь 40Х”; “ Иванов И. И”. В именах переменных допускается использовать как латинские символы, так и символы кириллицы. Учитывая сходство в начертании некоторых символов из различных алфавитов, следует быть внимательным при составлении имен. Обратите внимание также на то, что в T-FLEX различаются прописные и строчные символы, поэтому D1 и d1 – различные переменные. Отметим, что имя переменной не может содержать пробелы. И, естественно, имя переменной должно быть по возможности кратким, говорить о назначении переменной и соответствовать общепринятым в машиностроении правилам (например, диаметры начинаются с символа D или d, радиусы с R или r и т. д.). Базовым средством для создания и редактирования переменной, а также для создания и редактирования ее значения является специализированный редактор переменных T-FLEX. Его вызов осуществляется командой меню "Параметры / Переменные" либо кнопкой на панели инструментов. Новые переменные можно также создавать в
процессе построений и редактирования элементов изображений, однако использование редактора является по многим причинам более предпочтительным. В первую очередь это связано с меньшим количеством ошибок при формировании имен переменных и их значений. Поэтому свое основное внимание мы сосредоточим на создании и использовании переменных именно с помощью встроенного редактора переменных. Свое значение переменная может получить как исходное данное либо в процессе вычисления выражений. В первом случае мы имеем дело непосредственно с исходными данными, значения которых могут быть либо введены вручную, либо выбраны из списка. Во втором случае мы имеем дело с зависимыми переменными, значения которых зависят от исходных данных и не могут быть изменены пользователем. Отметим здесь, что сформировать внешние переменные мы можем только из внутренних исходных переменных. Рассмотрим, каким образом мы можем присвоить переменной исходное значение. В системе T-FLEX существует возможность ввести значение вручную либо выбрать его из списка. Первый способ является простейшим в реализации, но наихудшим в последующем использовании. Он неизменно будет сопряжен с ошибками при эксплуатации программы. Реализация выбора из списка является более трудоемкой, однако последующее использование такого списка практически сводит на нет ошибки эксплуатации программы. Поэтому, там где это возможно, следует использовать ввод исходных данных в виде списков. T-FLEX позволяет создавать и использовать несколько типов списков: список на основе текста либо чисел; список на основе информации в текстовом файле; список на основе внутренней базы данных; список дат. Далее рассмотрим способы создания списков. Создание списков на основе текста либо чисел. Для создания такого списка следует, находясь в редакторе переменных, создать новую переменную. При этом не следует забывать, что тип данных в T-FLEX определяется по первой букве в имени переменной. Далее следует вызвать команду меню “Список / Создать / Текст” либо нажать кнопку на панели инструментов. В появившемся окне редактора списка следует построчно ввести текстовые или числовые значения и закрыть окно, нажав кнопку “Ok”. Таким способом удобно реализовать любую числовую последовательность либо набор строк, тем самым,
предотвратив возможность ввода пользователем некорректных значений. Впрочем, если быть точным, то у пользователя остается возможность вручную ввести значение, которое не входит в список, но как обрабатывать эту ситуацию мы рассмотрим позже в разделе, посвященном формированию интерфейса системы. Ниже представлен фрагмент окна редактора списка значений и результат вызова такого списка.
Создание списков на основе информации в текстовом файле. В том случае, если какая либо информация уже существует в текстовом файле, целесообразно ее использовать в качестве исходных данных. Для этого необходимо сначала несколько преобразовать исходный файл. Эти преобразования касаются приданию ему соответствующей структуры. Во-первых, файлу необходимо присвоить расширение *.lst. Во-вторых, файл должен иметь, по крайней мере, один раздел со списком значений. Имя раздела записывается в отдельной строке и берется в квадратные скобки. Разделов может быть несколько, но для одной переменной можно использовать данные только из одного раздела. Пример структуризации файла исходной информации приведен ниже.
Файл “Test.lst” имеет два раздела: [Материал заготовки] и [Материал инструмента], в каждом из которых имеются списки возможных значений, заключенные в кавычки. Обратите внимание на то, что если указать текстовые значения без кавычек, то при использовании такого списка система будет требовать создать переменную с именем, соответствующим выбранному пункту. И еще один существенный аспект – содержание файла, на основании которого строится список, может быть изменено другой программой, т. е. какой-либо другой программой мы можем формировать разные содержательные части разделов, и их выбор будет возможен при вводе исходных данных в T-FLEX. При этом структуру разделов, которые задействованных во вводе данных изменять нельзя. Имея исходный файл можно переходить к построению списка на его основе. Для этого необходимо в редакторе переменных создать новую переменную, после чего дать команду меню “Список / Создать / Файл”, либо нажав кнопку на панели инструментов. В появившемся окне диалога (см. рис. ниже) следует выбрать раздел, из которого будет формироваться значение переменной. Из одного файла, который содержит несколько разделов, можно создать списки для нескольких переменных. Ниже приведены фрагменты окон создания и использования списков значений на основе текстового файла.
Создание списков на основе внутренней базы данных. Для создания такого списка следует иметь заранее подготовленную и заполненную базу данных. Как создаются базы данных, мы рассмотрели ранее, поэтому будем считать, что одна или несколько баз данных у нас имеется. Отметим сразу, что использование списков на основе внутренних баз данных является чрезвычайно удобным и мощным средством ввода исходных данных и выборки соответствующих значений. Во всех случаях, когда имеется возможность организовать такие базы данных и осуществлять вывод информации из них – это следует делать. Чтобы создать список значений на основе базы данных следует находясь в редакторе переменных T-FLEX выполнить команду “Список / Создать / База данных”, либо нажать кнопку
на панели инструментов.
В появившемся окне диалога необходимо выбрать базу данных, из которой будут выбираться значения. Затем следует определить, что
мы хотим получить из база данных: конкретное значение ячейки базы данных (текстовое или числовое) либо же номер записи, которому соответствует выбранное значение. Чтобы дать однозначный ответ на этот вопрос следует осознать, что текстовые значения в последующих выражениях занимают больше места, и сравнивание двух числовых значений выполняются намного быстрее, чем сравнивание двух текстовых значений. Поэтому в тех случаях, когда текстовое значение можно заменить числовым, например номером соответствующей ему записи, это следует делать. Другое дело, когда значение в базе данных уже является числом. Что делать в этом случае? Брать конкретное значение или номер записи? Ответ на эти вопросы зависит от конкретной базы данных. Если значение в поле базы данных встречается только один раз – можно выбирать его, если же значения повторяются (хотя бы один раз) – следует брать номер записи. В первом случае наше поле базы данных будет являться “управляющим” для остальных полей и по его конкретному значению мы сможем определить значения всех зависимых значений. Во втором случае таковой переменной у нас нет и необходимо определить номер записи, а уже затем выбрать все необходимые значения по этому номеру. Далее необходимо отметить поля, которые будут отображаться при вводе конкретных значений из списка. Чаще всего требуется отображать только то поле, которое является у нас определяющим, но иногда удобно предоставить пользователю более полную информацию для обоснованного выбора значения. Следует отметить, что независимо от того один пункт выбран или все, результат будет возвращаться только один. Выбор материала заготовки из базы данных Gam и выбор типа инструмента из базы данных Tool, создание которых было рассмотрено выше, а также результат выборки соответствующих значений приведены на рисунках ниже.
Далее по найденным позициям можно отыскать значения переднего угла . Для того, чтобы научиться выбирать значения из базы данных, следует разобраться с функциями работы с базами данных. Функции работы с базами данных. Перед описанием функций отбора значений из внутренних баз данных необходимо пояснить, как можно обратиться к конкретному полю базы данных. Синтаксис обращения к полю БД следующий: <имя базы>.<имя поля> Например: Gam.Mmin Эта запись означает, что нужно обратиться к полю Mmin в базе данных Gam. Имеется три функции отбора значений из внутренних БД:
rec – получить номер записи, удовлетворяющей заданному условию; val – получить значение поля из записи с указанным номером; find – получить значение поля из записи, удовлетворяющей заданному условию. Рассмотрим работу функции rec. Формат функции: rec ( условие ), где условие - выражение, принимающее значение истина или ложь. Выражение может содержать в качестве операндов обращения к полям базы данных. Например: rec ( Gam.Mmin > 10 ) Такой вызов функции означает следующее: найти номер записи во внутренней базе данных Gam, для которой значение поля Mmin будет больше 10. Сразу отметим, что функция найдет первую запись, которая будет удовлетворять заданному условию. Если в базе данных не будет найдено ни одной такой записи, то функция возвратит результат “0”. В логических выражениях, определяющих условия отбора значений, могут присутствовать логические выражения, которые будут рассмотрены далее. Рассмотрим функцию val. Формат функции val ( номер_записи, поле_базы_данных ), где номер_записи – любое арифметическое выражение, значением которого является целое число. поле_базы_данных – это обращение к полю. Например: val ( MZ, Gam.Mat ) Этот вызов означает следующее: необходимо отобрать значение из строки с номером MZ (определяется конкретным значением этой переменной в момент вызова функции) из поля Mat базы данных Gam. val( RI, Tool.Type ) Этот вызов означает следующее: необходимо отобрать значение из строки с номером RI из поля Type базы данных Tool. Выбранные таким образом значения могут быть присвоены соответствующим переменным. Рассмотрим функцию find.
Формат функции: find ( поле_базы_данных, условие ) Данная функция – объединение двух предыдущих. Она возвращает значение указанного поля "поле_базы_данных" из записи, удовлетворяющей условию "условие". Если такой записи не существует, то функция выдает сообщение об ошибке “Неверный номер записи”. Выбор функции для использования определяется самим разработчиком, однако следует придерживаться такой рекомендации: если в базе данных имеется “управляющее поле”, т.е. такое поле, по значению которого можно однозначно выбрать остальные значения в базе данных, то удобнее использовать функцию find, если же такого поля нет – обязательно возникнет необходимость определения и дальнейшего анализа номера записи. Проанализируем выборку значений максимального и минимального передних углов для ранее рассмотренной базы данных. Ниже на рисунке представлен результат создания переменных. Рассмотрим его, учитывая, что “естественный” порядок следования переменных в редакторе переменных – снизу-вверх, поэтому анализировать переменные будем в порядке убывания их номеров.
В строках 12 и 11 находится результат создания списков на основе внутренней базы данных (подробно этот этап был рассмотрен выше). Результатом являются номера записей в базах данных, которые присваиваются переменным MZ (материал заготовки) и RI (тип режущего инструмента). Эти переменные и их конкретные значения в дальнейшем будут определяющими при выборке из баз данных. В строках 10 и 9 из баз данных Gam и Tool, соответственно, выбираются текстовые записи – материал заготовки и тип режущего
инструмента, соответствующие значениям переменных MZ и RI. Результат этих переменных для нас является вспомогательным, а сами значения могут понадобиться в чертеже, как справочная информация. При дальнейшем анализе следует учесть следующее обстоятельство. Поскольку T-FLEX не имеет средств поиска одновременно по записям и по полям, то мы используем такой подход: определим максимальный и минимальный передний угол для всех инструментов, причем, если номер записи инструмента в базе данных соответствует номеру, выбранному пользователем (значение переменной RI), то значение угла будем выбирать из соответствующего поля базы данных, в противном случае возвратим нулевой результат. Такие действия реализованы в строках 8-3. На завершающем этапе (строки 21) выберем максимальные значения для углов, отсеяв, таким образом, все нулевые значения. Сейчас лишь отметим, что выбор максимального значения из списка возможных значений может быть легко реализован стандартной функцией T-FLEX – Max, а сами стандартные функции рассмотрим ниже. Выбор значений, исходя их выполнения или невыполнения некоторого условия, нуждается в дополнительных комментариях. В системе T-FLEX возможна реализация такой логической конструкции: Если <условие> тогда <значение 1> иначе <значение 2>, которая может быть записана в следующем виде: <условие> ? <значение 1> : <значение 2> Таким образом запись, “RI = = 4 ? val(MZ,Gam.TG) : 0” следует читать так: если значение переменной RI равно 4, тогда переменной присвоить значение, являющееся выборкой записи с номером MZ из поля TG базы данных Gam, иначе присвоить значение 0. Познакомившись с возможностью присваивать значения по условию, нам следует более детально рассмотреть формирование логических условий и операций T-FLEX. Логические операции T-FLEX. Являются неотъемлемой частью практически любой параметрической модели и имеют следующий синтаксис. > < &
больше меньше логическое И
>= <= ||
больше или равно меньше или равно логическое ИЛИ
== != !
равно не равно логическое НЕ
Очевидно, что T-FLEX имеет все возможности для конструирования достаточно сложных логических условий. Напомним лишь, что для корректного выполнения логических операций следует круглыми скобками указывать приоритет их выполнения. Создание списков на основе дат. В том случае, если необходимо реализовать ввод даты, удобным будет создать список с такой возможностью, в результате чего у пользователя появиться возможность работать с календарем. Для этого необходимо находясь в редакторе переменных, создать новую текстовую переменную, а затем выполнить команду меню “Список / Создать / Дата”, либо нажать кнопку на панели инструментов. Фрагмент работы с таким списком представлен ниже.
Как уже отмечалось выше, во всех случаях, когда для ввода исходных данных можно использовать списки, это обязательно следует делать. В тоже время при построении параметрической модели большинство переменных является зависимыми, т. е. они либо выбираются из внутренней (внешней) базы данных по некоторым условиям, что было рассмотрено ранее, либо пересчитываются. Такие переменные называются зависимыми, и сейчас мы перейдем к рассмотрению правил составления выражений в T-FLEX и использованию встроенных функций. Выражения в T-FLEX Выражение это формальная запись, связывающая операнды с помощью операций и функций. Результат вычисления выражения присваивается новой переменной, тип которой должен соответствовать типу результата выражения.
Операндами в T-FLEX могут быть: константы (числовые и текстовые); переменные (числовые и текстовые). Операции в T-FLEX бывают: математические; логические. Функции в T-FLEX подразделяются на: математические; служебные; для работы с базами данных. Для использования констант в выражениях достаточно записать их в любом из допустимых форматов. Текстовые константы следует брать в кавычки. Для числовых данных допустимы форматы с фиксированной и с плавающей точкой. Примеры констант:
12
-4.3
“Плашка”
1.234е+5
0.17Е-11
0.0052
“Неуказанные предельные отклонения”
Для использования переменной в качестве операнда достаточно в нужном месте указать ее имя. Допустимыми математическими операциями являются: + *
сложение вычитание умножение
/ ^ или ** %
деление возведение в степень остаток от деления
Допустимые логические операции были рассмотрены ранее. Рассмотрим математические функции T-FLEX. Эти функции можно условно разделить на несколько подгрупп: прямые и обратные тригонометрические функции, оперирующие аргументами в градусной либо радианной мерах: Прямые функции Обратные функции градусы радианы градусы радианы COS( ) RCOS( ) ACOS( ) RACOS( ) SIN( ) RSIN( ) ASIN( ) RASIN( ) TAN( ) RTAN( ) ATAT( ) RATAN( ) логарифмические функции: LOG( ) – натуральный логарифм; LOG10( ) – десятичный логарифм.
функции округления: CEIL( ) – округлить до большего целого; FLOOR( ) – округлить до меньшего целого; INT( ) – округлить до целого; ROUND(a1,a2) – округлить вещественное число a1 до вещественного числа с точностью a2 знаков после запятой. другие функции: ABS( ) – вычисление абсолютной величины (модуля) числа; SQRT( ) – вычисление квадратного корня из числа; HYPOT(a1,a2) – вычисление гипотенузы прямоугольного треугольника с катетами a1 и a2. Служебные функции T-FLEX можно условно разделить на подгруппы: функции взаимного преобразования текстовых и числовых значений: ATOF(“строка”) – преобразовывает строку в число; FTOA(число) – преобразовывает число в строку. SATOT ( A ) – Преобразовать угловое значение параметра функции A в текстовую строку в соответствии с установками текущего чертежа SLTOT ( L ) – Преобразовать линейное значение (длину) параметра функции L в текстовую строку в соответствии с установками текущего чертежа функции обработки ошибок: Error(“строка”) – вывести сообщение “строка” на экран; Warn(“строка”) или Warn(“строка”, “имя элемента”) – вывести сообщение “строка” в окно диагностики, одновременно с этим можно вывести “имя элемента”. функции работы со строками: StrLen(“строка”) – определить количество символов в “строке”; TWord(“слова”,N) – из “слов” выделить слово с номером N; TPart(“строка”,N1,N2) – из “строки” выделить подстроку, начинающуюся в позиции N1 и длиной N2 символов. функции максимального и минимального значений: Max(N1,…,Nn) – найти максимальное значение из набора чисел N1,…,Nn; Min(N1,…,Nn) – найти минимальное значение из набора чисел N1,…,Nn; функция работы с файлами:
Check ("имя файла", тип) – проверяет наличие файла (имя файла указывается с расширением). Тип файла задаётся одним из следующих значений: 0 – неопределённый 1 – документ системы T-FLEX CAD 2 – шрифт
3 – база данных 4 – текстура 5 – спецификация
Поиск ведётся в текущей директории, а затем в директориях, заданных в команде “Настройка / Установки / Папки”. При обнаружении заданного файла функция возвращает 1, иначе возвращает 0. информационные функции: Get ("Str","P") – получить значение параметра P элемента системы с именем Str; GetV("Name",N) – получить значение глобального параметра системы с именем Name; GetG("Name",N) – получить значение вещественной глобальной переменной системы с именем Name; TGetV( ) – получить текстовое значение одной из системных переменных текущего чертежа; TGetG("Name",N) – получить значение текстовой глобальной переменной системы с именем Name; SetV("Name",N) – установить значение N для глобального параметра системы с именем Name; SetG("Name",N) – установить значение N для вещественной глобальной переменной системы с именем Name; TSetG("Name",N) – установить значение N для текстовой глобальной переменной системы с именем Name; Distance("Name1", "Name") – получить значение расстояния между указанными элементами (в параметрах задаются имена элементов или их идентификаторы); IsFragment( ) – получить признак использования чертежа в качестве фрагмента. Функции для работы с базами данных можно разделить на две группы: функции для работы с внутренними базами данных: Find (Name.Field, Condition) – обращается к полю Field внутренней базы данных Name для которого выполняется условие Condition;
Rec (Condition) – возвращает номер записи, удовлетворяющей условию Condition. В самом условии должна быть ссылка на базу данных; Val (N, Name.Field) – возвращает значение, хранящееся в записи N поля Field базы данных Name; #.Name – возвращает общее количество записей во внутренней базе данных Name; функции для работы с внешними базами данных: DBF (Name, Field, Condition) – обращается к полю Field внешней базы данных Name в формате dBase, для которого выполняется условие Condition; DBFWin (Name, Field, Condition) – тоже, что и предыдущее, однако осуществляется автоматическая перекодировка из DOS в Windows. Используется для правильного чтения русских текстов; MDB (Name, Table, Field, Condition) – обращается к полю Field таблицы Table внешней базы данных Name в формате Microsoft Access, для которого выполняется условие Condition Подробную информацию об использовании функций вы найдете в справке к T-FLEX либо в руководстве пользователя. Некоторые итоги Завершая рассмотрение первого этапа автоматизации проектирования с использованием T-FLEX, сконцентрируем наше внимание на его особенностях. Во-первых, разработку следует начинать с создания баз данных. При этом предпочтение следует отдавать внутренним базам данных, поскольку они обеспечивают сохранность такой базы в файле модели, повышая тем самым надежность и скорость работы. Также важно правильно определить количество необходимых баз, дать им и их полям краткие и понятные имена. Особое внимание следует обратить на наличие в исходных таблицах объединенных ячеек, диапазонов возможных значений, отсутствующих значений. В таких случаях следует искусственно доработать базы данных, продублировав содержимое объединенных ячеек, разбив диапазон на минимальное и максимальное значения, дописав вместо отсутствующих новые значения и предусмотрев возможность последующего их анализа. Во-вторых, необходимо создать внутренние переменные и сформировать правила их ввода и выбора. Здесь следует, где возможно использовать списки (предпочтительно на основе баз данных). При
выборке из баз данных надо определить порядок отбора нужных значений либо по «управляющей» переменной, либо по номерам записей. Особое внимание следует обратить на корректность конечных результатов, в особенности тех, которые используются на этапе разработки параметрической модели. В-третьих, следует тщательно протестировать расчетную часть. Для этого необходимо посмотреть на промежуточные и конечные результаты при различных исходных данных. Наилучшим решением было бы тестирование при всех возможных исходных данных. Чаще всего такой вариант невозможен, поэтому следует проверить корректность результатов в крайних точках диапазонов возможных значений и некоторых средних значениях. Система при этом не должна выдавать никаких сообщений об ошибках при перерасчетах, а сами конечные значения должны быть “похожи на правду”. После завершения расчетной части можно переходить к следующему этапу – разработке параметрической модели.
1.1.2. Разработка параметрической модели Понятия модели и моделирования Прежде всего, определимся с самим понятием модель и ее особенностями в T-FLEX. Большой энциклопедический словарь дает следующие определения понятий модель и моделирование. МОДЕЛЬ (лат . modulus - мера, образец), 1) Образец (эталон, стандарт) для массового изготовления какоголибо изделия или конструкции; тип, марка изделия. 2) Изделие (из легкообрабатываемого материала), с которого снимается форма для воспроизведения (напр., посредством литья) в другом материале; разновидности таких моделей - лекала, шаблоны, плазы. 3) Позирующий художнику натурщик или изображаемые предметы. 4) Устройство, воспроизводящее, имитирующее строение и действие какого-либо другого ("моделируемого") устройства в научных, производственных (при испытаниях) или спортивных целях. 5) В широком смысле – любой образ, аналог (мысленный или условный: изображение, описание, схема, чертеж, график, план, карта и т. п.) какого-либо объекта, процесса или явления ("оригинала" данной модели), используемый в качестве его "заместителя", "представителя" (см. Моделирование).
6) В математике и логике - моделью какой-либо системы аксиом называют любую совокупность (абстрактных) объектов, свойства которых и отношения между которыми удовлетворяют данным аксиомам, служащим тем самым совместным (неявным) определением такой совокупности. 7) Модель в языкознании - абстрактное понятие эталона или образца какой-либо системы (фонологической, грамматической и т. п.), представление самых общих характеристик какого-либо языкового явления; общая схема описания системы языка или какой-либо его подсистемы. МОДЕЛИРОВАНИЕ – исследование каких-либо явлений, процессов или систем объектов путем построения и изучения их моделей; использование моделей для определения или уточнения характеристик и рационализации способов построения вновь конструируемых объектов. Моделирование – одна из основных категорий теории познания: на идее моделирования по существу базируется любой метод научного исследования – как теоретический (при котором используются различного рода знаковые, абстрактные модели), так и экспериментальный (использующий предметные модели). Применительно к модели в T-FLEX из общего определения модели подходят пункты 1), 4), 5) и 6). Действительно, наша модель является эталоном для изготовления какого-либо устройства или конструкции (см. п.1), она имитирует его (ее) строение и действие (см. п.4), является условным образом (см. п.5) и совокупностью абстрактных объектов, свойств и отношений между ними (см. п.6). В понятии моделирования обратим особое внимание на то, что это одна из основных категорий познания. Таким образом, создавая модель и моделируя, мы имеем возможность получать новые знания о свойствах объекта либо совокупности объектов, а также их поведении. Попытаемся сформулировать понятие модели в T-FLEX. Модель – условный образ объекта (детали) либо совокупности объектов (конструкции), который на основании их свойств и отношений между ними имитирует строение и действие с целью последующего изготовления.
В этом определении обратим внимание на два аспекта. Вопервых, следует предельно корректно сформировать свойства объектов и отношения между ними, причем это касается как деталей в целом на уровне сборки, так и отдельных элементов построений на уровне деталей. Во-вторых, цель последующего изготовления диктует нам необходимость построения такой модели строго по размерам в масштабе 1:1, с учетом допусков, посадок и шероховатостей реального объекта. Сама модель должна обязательно быть трехмерной. Система T-FLEX поддерживает два способа построения 3D-модели: 1. Твердотельное моделирование с использованием таких операций, как выдавливание, вращение, протягивание и т. д. 2. Построение 3D-модели на основании 2D-проекций. От использования второго способа следует сразу отказаться по следующим причинам: во-первых, не по любым проекциям можно воссоздать 3D-модель, поскольку в самих проекциях могут содержаться ошибки либо количество таких проекций может быть недостаточным для построения адекватной модели; во-вторых, трудоемкость такого процесса является более высокой, а интуитивность – более низкой в сравнении с полноценным твердотельным моделированием. Реализация построения 3D-модели по 2D-проекциям – это скорее шаг разработчиков назад, навстречу пожеланиям пользователей, которые уже имеют 2D-проекции в электронном виде (например, в AutoCAD), чем перспективное направление построения 3D-модели. Поэтому в дальнейшем мы ограничимся рассмотрением проектирования только как процесса построения твердотельной модели. В то же время не следует сбрасывать со счетов 2D-модели, поскольку, профиль, который используется в 3D-операциях, является такой моделью, от правильного формирования которой зависит правильность всего процесса моделирования. Рассмотрим взаимосвязи модели с подсистемами использования результатов моделирования и формирования сопроводительной документации.
Использование модели
МОДЕЛЬ
Сопроводительная документация
Сборка Испытания деталей и сборок
Сборка Сборка Детали
Технологические процессы изготовления и сборки
Сборочный чертеж и спецификация
Управляющие программы для станков с ЧПУ
Деталировка
Как видно из рисунка, основой всего являются модели деталей и сборок, через которые осуществляется функционирование всей системы. T-FLEX позволяет осуществлять проектирование “снизувверх” (от деталей к сборке), а начиная с версии 7.1 – дополнительно “сверху-вниз” (используя элементы деталей в сборках формировать новые детали). Основные понятия и приемы 3D-моделирования Система T-FLEX построена на геометрическом ядре Parasolid, что делает ее использование во многом сходным с другими системами твердотельного проектирования, построенными на этом ядре. Мы не будем подробно рассматривать все возможности T-FLEX, это достаточно полно сделано в руководстве пользователя, а остановимся лишь на специфических особенностях этого процесса и попробуем дать рекомендации методического характера. Прежде всего, уточним, что следует понимать под твердым телом – термином, активно использующимся последнее время при автоматизации проектирования. Очевидно, что речь идет не столько об “агрегатном состоянии вещества, которое отличается стабильностью формы и характером теплового движения атомов, которые совершают малые колебания вокруг положений равновесия”2, сколько об “ограниченной части пространства вместе с ее границами”3. Таким 2 3
Твердое тело. Большой энциклопедический словарь. Тело геометрическое. Там же.
образом, под термином твердое тело в системах автоматизированного Грани
Вершины Ребра проектирования следует понимать геометрические тела, которые кроме чисто геометрических параметров (длина, площадь, объем) характеризуются некоторыми физическими свойствами. Например, все твердое тело может характеризоваться плотностью и, как следствие, массой, положением центра масс, моментами инерции. Плотность может устанавливаться, как константа либо зависеть от выбранного материала. Отдельные элементы твердого тела могут характеризоваться своим цветом или текстурой. Составляющими элементами твердого тела являются: Грани – фрагменты поверхностей либо, как частный случай, плоскостей, ограничивающие твердое тело; Ребра – пространственная либо плоская линия пересечения соседних граней. Вершины – точки пересечения соседних ребер. Следующий рисунок иллюстрирует эти понятия. Система T-FLEX также оперирует понятием 3D элементы построения. Для создания новой операции, как правило, требуется иметь определенный набор вспомогательных 3D элементов. Эти элементы служат для задания формы будущего тела, ориентации в пространстве, определения направлений, векторов, осей, траекторий и т. д. К 3D элементам построения относятся :
Здесь и далее иллюстрации к основным понятиям 3D моделирования позаимствованы из Руководства пользователя T-FLEX. Трехмерное проектирование.
Рабочая плоскость – элемент, позволяющий задавать исходные данные для 3D операций, и, прежде всего, создавать 3D профили. Рабочая поверхность – имеет схожий с рабочими плоскостями функциональный смысл, однако в качестве геометрической основы используется не плоскость, а поверхность, например, цилиндр, сфера или тор. 3D узел – точка в трехмерном пространстве. 3D узлы определяются в пространстве тремя координатами X,Y,Z. 3D профиль – замкнутый контур, который ориентирован в трехмерном пространстве в соответствии с ориентацией той рабочей плоскости или рабочей поверхности, на основе которой он был создан. 3D профиль используется как исходный элемент для 3D операций, именно он позволяет придавать трехмерным объектам параметрические свойства. Система координат – элемент, позволяющий осуществлять привязку трехмерных объектов в пространстве. Используется при вставке 3D изображения, 3D фрагментов, в операциях копирования, для разборки сборочных 3D моделей и др.
3D путь – конечная пространственная кривая, имеющая направление. Используется в операциях “Тело по траектории”, “Трубопровод”, “Каркасная”. 3D Сечение – элемент, в общем случае представляющий результат выталкивания на бесконечное расстояние плоской кривой или ломаной линии.
Трехмерные операции в T-FLEX являются основным формообразующим действием. В результате их выполнения мы получаем твердое тело. Все 3D операции можно условно разделить на три группы: Базовые операции и их модификации. Они становятся доступными при наличии не менее одного, а для некоторых операций – не менее двух 3D профилей; Операции модифицирования существующих твердых тел. Эти операции могут применяться только у ранее созданным твердым телам; Операции копирования. Позволяют создавать копии и массивы ранее созданных твердых тел. Ниже в таблице приведены названия и назначения 3D операций с примерами использования. Базовые операции Выталкивание – результатом выполнения данной операции является тело, образующееся при поступательном перемещении контура вдоль указанного направления. Выталкивание можно производить не только по вектору выталкивания, но и по нормали к поверхности в одну или в обе стороны.
Вращение – результатом выполнения данной операции является тело, образующееся при вращательном перемещении контура вокруг пространственной оси на заданный угол. Плоскость профиля может располагаться произвольным образом относительно оси. Линейчатая операция – операция, исходными элементами для выполнения которой служат два 3D профиля или 3D профиль и 3D узел. В результате создается тело, поверхность которого образуется при линейном переходе элементов первого контура в элементы второго. Лофтинг – данная операция работает с набором 3D профилей. В результате создается тело, поверхность которого образуется при последовательном переходе элементов одного контура в элементы другого. Можно задавать условия касания или перпендикулярности к поверхности крайних профилей или примыкающего тела. Тело по траектории – операция позволяющая создавать тела, поверхность которых образуется в результате перемещения профиля произвольной формы вдоль пространственной кривой. Каркасная поверхность – в результате выполнения операции формируется поверхность по выбранным пространственным кривым (3D путям). На основе полученной поверхности можно создать 3D профиль, ее также можно использовать в операции
“Отсечение”. Модификации базовых операций Тело по траектории с параметрическим изменением контура – служит для расширения возможностей операции “Тело по траектории”. Профиль формируется таким образом, что при изменении одной переменной меняется его положение и геометрия. Трубопровод – формируется труба вдоль пространственной траектории (3D пути). Задается диаметр трубы и диаметр отверстия. Отверстие в трубе может отсутствовать . Спираль – операция позволяющая создавать тела в виде спирали. В качестве образующего контура можно использовать профиль произвольной формы. Пружина – операция, позволяющая создавать тела – пружины. От операции “Спираль” отличается формированием начальной и конечной части спирали. В качестве образующего профиля используется окружность. Операции модифицирования Булева операция – предназначена для создания нового тела на основе комбинирования (объединения, вычитания или пересечения) двух уже существующих тел. Сглаживание – операция, которая позволяет модифицировать уже созданное тело за счет сглаживания фаской или радиусом его вершин, ребер и граней.
Оболочка – операция делает деталь полой, удаляя выбранные грани и формируя тонкие стенки на остальных гранях. Можно создать полое тело и без удаления грани. Уклон – операция отклоняет выбранные грани на заданный угол с автоматической коррекцией прилегающих граней. Отсечение – операция, позволяющая разделить тело на две части и при необходимости отсечь от тела лишнюю часть. Операции копирования 3D фрагмент – операция, позволяющая использовать геометрические данные 3D модели, спроектированной в отдельном файле, для создания сборочных моделей. 3D фрагментом может быть любой документ системы T-FLEX, содержащий трехмерную модель. 3D изображение – в отличие от фрагмента, изображение не содержит геометрической модели, не имеет параметрических свойств и связей между элементами. Копия – операция, позволяющая создать копию тела с различными параметрами преобразования. При копировании используется элемент построения “Локальная система координат”.
Массив – с помощью данной операции создается сразу несколько копий выбранных тел. Задавая различные параметры, можно создать линейный массив, массив по точкам, массив по 3D пути и параметрический массив.
Массив вращения – копии располагаются по окружности в соответствии с заданной осью вращения. Симметрия – операция предназначена для создания новых тел, которые являются копиями уже существующих тел относительно заданной плоскости симметрии. Разделение на тела – операция предназначена для разделения на отдельные тела операций, содержащих несколько твердых тел. Команда может быть использована при работе с импортированной из другой системы моделью, которая состоит из нескольких тел. Внешняя модель – операция позволяющая импортировать модели, созданные в других системах, использующих формат Parasolid (*.x_t и *.xmt_txt). Такие объекты лишены параметрических свойств, но их элементы можно использовать для дальнейших построений. При начале работ над новым проектом следует внимательно проанализировать его структуру, трудоемкость проектирования отдельных деталей, а также, взаимосвязи между деталями проекта. Тут
же необходимо определить уровень параметризации вашего проекта. При этом необходимо помнить, что чем выше уровень параметризации, тем более трудоемким является подготовительный этап, но тем большим будет эффект и удобство использования такого проекта в последующем. Начинать моделирование следует с деталей, которые являются базовыми в сборке. Как правило, от их размеров зависят размеры других деталей, а это можно эффективно использовать в проекте. Поэтому на этапе анализа сборки следует все детали разделить на три группы и осуществлять проектирование в таком порядке: 1) Базовые детали, которые являются основополагающими в сборке. От размеров этих деталей зависят размеры других деталей, относящихся к группам 2 и 3. В этих деталях сосредоточены основные параметрические расчеты. 2) Зависимые нестандартные детали, размеры и связи которых во многом зависят от детали (деталей) группы 1. 3) Стандартные детали, фрагменты и копии – детали, имеющиеся в системе T-FLEX среди стандартных элементов, ранее созданные детали, а также детали, являющиеся копиями деталей групп 2 и 1. Моделирование деталей Система T-FLEX обладает большой гибкостью в выборе подходов и методов моделирования деталей. Одну и ту же деталь можно спроектировать по-разному. Например, цилиндр можно получить выталкиванием, вращением, линейчатой операцией, лофтингом, тело по траектории, трубопровод и, даже, операцией сглаживания исходного параллелепипеда или булевой операцией. Таким образом, эффективность проектирования и качество конечного результата во многом зависят от квалификации проектировщика. Общая последовательность проектирования деталей схематически представлена на рисунке.
Таким образом, имея новый файл с тремя основными рабочими плоскостями, мы формируем необходимые 3D элементы построения. В том случае, если трех основных плоскостей нам недостаточно, формируются новые плоскости. Затем, применяя операции 3D моделирования, формируются тела. Из модели тела затем формируется чертеж (если он необходим) с простановкой размеров, допусков, посадок, шероховатостей и т. д. Сейчас рассмотрим этап моделирования и попробуем проанализировать преимущества и недостатки различных методов, дать некоторые рекомендации по их использованию. Начинать моделирование следует с одного из базовых методов 3D построений либо их модификаций. При выборе конкретного метода следует учитывать два момента: во-первых, сколько раз необходимо будет применять данный метод либо его комбинацию с другими методами; во-вторых, насколько сложным будет 2D профиль, использующийся для моделирования. Рассмотрим на примере. Деталь, изображенную ниже на рисунке можно спроектировать двумя основными методами: вращением и выдавливанием с последующим объединением.
Угол поворота Профиль Ось вращения
а) построение методом вращения
Профиль 1 Вектор 1
Профиль 2 Вектор 2
б) построение методом выталкивания и булевой операции Как видно из схем, в первом случае мы получаем более сложный профиль, однако само твердое тело получаем в один прием. Во втором случае нам необходимо выполнить три операции (две – выталкивания и одну – булеву). Очевидно, что первый подход является более предпочтительным. В окончательном выборе метода построения может помочь следующее: следует представить себе как эта деталь или часть детали будет изготавливаться. В нашем случае, очевидно, что деталь будет обрабатываться на токарном станке, поэтому следует сделать однозначный выбор в сторону способа “Вращение”. Рассмотренный пример является достаточно простым, однако такое однозначное решение можно принять не во всех случаях и необходимо тщательно анализировать преимущества того или иного метода. В дальнейшем при анализе методов построения мы будем указывать, на каком оборудовании может быть обработано тело, созданное этим методом. Если для построения выбран метод “Выталкивание”, то здесь следует обратить внимание на такие моменты. Профиль, который вы строите, обязательно должен быть замкнутым. Он может состоять из одного или нескольких непересекающихся между собой и с самим собой контуров. Эти контура могут лежать даже в разных плоскостях.
Выталкивание может осуществляться в одну либо две стороны, по нормали к поверхности либо в направлении, которое укажите вы. Это очень мощная по своим возможностям операция, которая используется практически в каждой модели. Если в твердом теле, которое строится с помощью этого метода, имеются сквозные отверстия, удобно включить их в исходный профиль для выталкивания, а не строить отдельно тело для отверстия, а затем применять булеву операцию. Задавая угол конусности можно избежать последующего использования операции “Уклон”, а, задавая величину сглаживания для всего тела либо для целевой поверхности, можно избежать последующего использования одноименной операции. Детали и части деталей, созданные этим методом чаще всего обрабатываются на станках фрезерно-сверлильно-расточной группы. Рассмотрим основные особенности операции “Вращение”. Вопервых, данная операция работает только с плоскими профилями, хотя сама плоскость профиля может располагаться произвольным образом относительно оси вращения. Во-вторых, контуров вращения может быть несколько, однако они все должны быть замкнутыми, не пересекающимися между собой и с осью вращения. В-третьих, задавая угол меньший 360, можно формировать тела, являющиеся “половинками”, “четвертинками” и т. д. от полного тела. Следует также учитывать, что в опциях этой операции имеется сглаживание фаской или радиусом исходной и целевой поверхности, что поможет избежать последующего отдельного использования операции “Сглаживание”. Все детали, которые планируется обрабатывать на станках токарной группы, следует проектировать этим методом. Линейчатая операция является достаточно специфической. Характерной особенностью этой операции является необходимость двух одноконтурных контуров, один из которых может быть 3D узлом, лежащих в разных плоскостях. При формировании тела важно, от какого узла одного контура, до какого узла другого контура проводится образующая линия. Геометрически точные линейчатые поверхности можно обрабатывать на электроэрозионных станках, а некоторые из них, в которых один из профилей является 3D узлом – на токарных либо фрезерных станках. Операция “Лофтинг” широко используется в авиа и судостроении, т. е. в тех отраслях, где поверхности невозможно описать простыми примитивами или их комбинацией. Форма таких поверхностей описывается аналитическими зависимостями, на основании которых формируются наборы профилей. Для корректной работы этой операции необходимо наличие не менее трех 3D
профилей. Причем сами профили могут быть любого типа и конфигурации, а также могут лежать в разных плоскостях. Поверхности, созданные этой операцией в последующем, как правило, обрабатываются на 3–5-координатных фрезерных станках с ЧПУ, либо пластическим деформированием по шаблонам. Операция “Тело по траектории” позволяет получить твердое тело путем перемещения 3D профиля по пространственной траектории. Выбирая этот метод построения, следует проанализировать, возможно, ли построение тела одним из модификаторов этой операции, а именно, операциями “Спираль” “Пружина” “Трубопровод”. Использование этих методов в системе T-FLEX является более удобным. Таким образом обращаться к этой операции следует в случаях, когда или профиль отличается от окружности (кольца), или траектория, по которой этот профиль протягивается, является достаточно сложной. В особо сложных случаях следует использовать метод “Тело по траектории с параметрическим изменением профиля”. Детали, спроектированные этими методами, в последующем получаются методами пластического деформирования, а именно – гибкой и, возможно, кручения. Операция “Каркасная поверхность”, как правило, является промежуточной и используется в последующем для отсечения части твердого тела или рассечения его на части. В построении каркасной поверхности участвуют 3D пути, которые задают направляющий и образующий каркасы. Такие пути должны быть гладкими. Пути одного каркаса не пересекаться между собой. После создания основных примитивов одним из методов рассмотренных выше, вполне вероятно придется прибегнуть к одному из методов модифицирования. В любом случае с использованием этих методов не следует торопиться. Также тут следует стремиться к общему сокращению количества операций. Например, если различные элементы тела имеют одинаковые фаски или радиусы скругления, то целесообразно выполнять их одной операцией и т. д. Одной из основных операций модифицирования является “Булева операция”, формирующая результат логического сложения, вычитания или пересечения двух или более тел. Булева операция используется практически в каждой детали. Для ускорения процесса проектирования можно новые операции базового типа сразу объявлять как результат булевой операции. Также целесообразно при завершении проектирования детали объединить все тела в одно.
Операция “Сглаживание” предназначена для сопряжения двух или более поверхностей одного тела. Сопряжение может выполняться как фаска, скругление либо скругление с переменным радиусом. При выполнении этой операции, особенно при скруглениях, часто возникают ошибки, связанные с тем, что не любые поверхности и ребра можно скруглить. Тут следует быть особенно внимательными. При использовании этой операции следует стремиться сократить их количество, а в случаях, когда возможно использовать скругление в базовой операции для всего тела, это обязательно следует делать. Операция “Оболочка” является очень эффектной и эффективной. Таким образом можно создать полое тело со стенками разной толщины, а также их твердого тела получить оболочку с открытыми гранями. Особенно эффективно использовать эту операцию на завершающем этапе формообразования сложного тела, сформировав сначала его внешнюю часть, а затем получив одной операцией внутренние поверхности равноотстоящие от внешней. Операция “Уклон” позволяет создавать уклоны на трехмерных телах. Эти уклоны чаще всего используются как литейные. Если планируется проектируемую деталь изготавливать литьем, то целесообразно сначала сформировать форму детали исходя из ее функционального назначения, а в завершение, придать ей необходимые литейные уклоны. Операция “Отсечение” позволяет получить тело путем отсечения от исходного тела “лишней” части, либо получить два новых тела путем рассечения исходного тела на две части. Последняя особенность позволяет, например, проектировать корпус как единое тело, а в конце разделить его на два тела – основание и крышку. Подгруппа операций копирования является чрезвычайно эффективным средством повышения производительности проектирования, применяющимся на завершающих этапах моделирования. Операции вставки “3D фрагмента” и “3D изображения” используются исключительно при формировании сборок. При работе с этими командами следует соблюдать определенные меры предосторожности. При вставке этих элементов в сборку вставляется только ссылка на нужный фрагмент либо изображение. При переносе файла сборки необходимо позаботиться о переносе и файлов, на которые ссылается сборка. Удобно формировать сборку в отдельной папке, включая в нее все детали сборки, в том числе стандартные и элементы оформления. Важным является то, что 3D фрагмент может быть изменен непосредственно в сборке. Отличием 3D изображений от
3D фрагментов является отсутствие в них параметрических свойств и связей между элементами изображения. Операции “Копирование” и “Симметрия” используются для вставки в сборку новых тел, используя уже существующие. Тело, полученное в результате копирования, может быть использовано для выполнения последующих операций. Операции “Массивы” и “Круговые массивы” позволяют создавать копии существующих тел, расположение которых определяется массивом точек, 3D путем, параметрическими зависимостями либо осью вращения. Все копии массива считаются единым телом. Тела-копии могут использоваться для выполнения последующих операций. Операция “Разделения та тела” используется чаще всего после вставки внешней модели либо выполнения операций создания массивов. Это позволяет эффективно редактировать существующие тела, выделяя из них элементы с последующей их обработкой. Полученные тела могут быть использованы для выполнения других операций. Операция “Внешняя модель” позволяет организовать эффективное взаимодействие системы T-FLEX с другими системами трехмерного проектирования, которые обеспечивают формирование модели в формате Parasolid. Внешняя модель представляет собой единое тело, элементы которого можно использовать для дальнейших построений. В случае необходимости, можно разделить импортированную модель на несколько тел. Построение 3D профилей Как уже отмечалось выше, построение тела требует построения одного или более 3D профилей. Профиль может быть непараметрическим и параметрическим. Для нас больший интерес представляют профиля второй группы. Именно профиль в этом случае содержит основные параметрические связи между его элементами. Построение 3D профилей осуществляется в такой последовательности: 1) Активизируется определенная рабочая плоскость; 2) Формируются элементы построения с параметрическими связями между ними; 3) Обрисовываются элементы изображения; 4) Завершается работа с активной плоскостью. Рассмотрим подробнее эти этапы.
Для активизации рабочей плоскости следует нажать правой кнопкой мышки рядом с рабочей плоскостью и в контекстном меню выбрать пункт “Активизировать рабочую плоскость”. Если вы находились далеко от плоскости, то система предложит вам выбрать одну плоскость из имеющихся.
После этого станет доступным автоменю управления активной рабочей плоскостью – являются:
. Командами этого меню
– завершение работы с активной рабочей плоскостью; – проецирование элементов тел на активную рабочую плоскость; – совмещение плоскости обрезки с активной рабочей плоскостью; – открыть 2D окно с активной рабочей плоскостью; – вращение 3D сцены и выбор 3D элементов; – повернуть активную рабочую плоскость перпендикулярно направлению взгляда. Удобнее всего начать построения с перехода в 2D окно. Если строится абсолютно новое тело, то целесообразно создать систему координат, совпадающую с системой координат 3D модели. Для этого следует на панели инструментов выбрать режим линий построения и построить систему координат в точке с координатами (0, 0) . Далее следует построить все необходимые элементы построения. Здесь следует обратить внимание на то, что для формирования параметрической модели в системе T-FLEX использутся два типа элементов – элементы построения и элементы изображения.
Элементы построения – это параметрическая основа модели, которая, используя узлы, прямые, окружности, эллипсы, сплайны и функции с отношениями пересечения, касания, равного отстояния между ними, формирует каркас модели. Параметры элементов построения могут быть константами или, что предпочтительнее, формироваться как переменные. Элементы построения не выводятся на печать и не экспортируются. В последующем по элементам построения формируются элементы изображения. Формирование элементов построения начинается командами меню “Построения” либо соответствующими кнопками панели инструментов. В случае необходимости можно отключить вывод на экран элементов построения кнопкой панели “Вид”. Элементы изображения – формируют изображение чертежа. К элементам изображения относятся линии изображения, размеры, тексты, штриховки, допуски формы и расположения поверхностей и т. д. Формирование элементов изображения начинается по команде меню “Чертеж / Изображение” либо при нажатии на кнопку панели инструментов. Они могут “привязываться” к элементам построения. В этом случае, при изменении положения элементов построения, элементы изображения изменяют свое положение, что и является основной идеей параметризации в T-FLEX. Элементы изображения составляют чертеж при выводе на принтер и плоттер. Таким образом, для формирования профиля необходимо предельно внимательно сформировать все необходимые элементы построения, учитывая связи и отношения между ними и используя значения переменных, а затем сформировать изображения по имеющейся основе. В том случае, если наш профиль использует некоторые элементы уже существующих тел, удобно спроецировать такие элементы на активную рабочую плоскость и привязываясь к ним сформировать новые элементы построения и изображения. При формировании профилей следует придерживаться следующих правил: контура обязательно должны быть замкнутыми; контура не должны пересекаться сами с собой и между собой. После завершения формирования профиля следует завершить работу с активной плоскостью нажатием на кнопку
.
В том случае, если для выполнения 3D операции необходимо наличие нескольких профилей или путей, следует сделать это, последовательно активизируя необходимые рабочие плоскости.
Моделирование сборок Любая сборочная конструкция состоит из 2-х и более деталей. Одна из деталей является базовой. Считается, что система координат базовой детали является глобальной системой координат (ГСК) сборки. Каждая из деталей сборки имеет свою систему координат, которая в контексте сборки является локальной системой координат (ЛСК). В процессе проектирования сборочной конструкции происходит формирование отношений между ГСК и ЛСК. Чаще всего ЛСК привязываются к системам координат элементов тел. В системе T-FLEX реализованы два основных подхода к проектированию сборочных конструкций: Проектирование “снизу-вверх”. Этот метод предусматривает первоначальное построение деталей и последующее формирование сборочной конструкции. Проектирование “сверху-вниз”. Этот метод предусматривает формирование новых деталей в сборочной модели с последующим выделением их в отдельные файлы. При таком подходе максимально используются имеющиеся элементы других деталей. Можно порекомендовать такую последовательность создания новых сборочных конструкций. Методом “сверху-вниз” формируются приблизительные очертания основных оригинальных деталей, в которых обязательно формируются элементы сопряжений и функциональный поверхности. Затем детали записываются в отдельные файлы в которых они дорабатываются и оформляются окончательно. Рисунки , расположенные ниже иллюстрируют последовательность действий при использовании различных методов формирования сборок.
Заимствованы из Руководства пользователя по T-FLEX. Трехмерное моделирование.
Формирование сборочных конструкций методом “снизу-вверх”
Формирование сборочных конструкций методом “сверху-вниз” Отметим, что система T-FLEX имеет возможность автоматизированного формирования спецификаций, которая доступна только в коммерческой версии системы.
Некоторые итоги Ядром параметрической модели являются трехмерные модели деталей и сборочной конструкции. Сопроводительная документация, чертежи и спецификации, являются вторичными по отношению к 3D моделям, а сами модели могут использоваться как исходные данные для систем автоматизации инженерных исследования и систем автоматизации производства. Поэтому к разработке моделей следует подходить с особой тщательностью. Сам процесс трехмерного проектирования является в большой степени творческим и требует определенных навыков и “чутья” при выборе операций 3D моделирования. Следует стремиться к предельно короткой последовательности действий, которая приведет к построению качественной 3D модели. Контуры, которые используются, как основа для операций 3D моделирования должны быть замкнутыми и непересекающимися. Формирование сборочной модели может осуществляться в двух направлениях – от деталей к сборке и от сборки к деталям.
1.1.3.Формирование интерфейса системы Система T-FLEX позволяет не только создавать высокоэффективные параметрические модели, но и, начиная с версии 7.1, создавать качественный интерфейс для конечного пользователя таких моделей. Причем от этого интерфейса зависит, насколько безошибочно пользователь будет вводить исходную информацию. В том случае, если разработка качественного интерфейса недоступна либо нецелесообразна, следует все-таки обратить внимание на контроль исходной информации. Редактор переменных T-FLEX позволяет делать это достаточно эффективно. Контроль исходной информации в редакторе переменных Напомним о том, что там, где это возможно, мы должны стремиться к вводу исходных данных как списков. Это делает ввод данных быстрым и практически безошибочным. Однако у пользователя остается возможность умышленно или ошибочно вручную ввести неверные данные. Используя внутренние функции системы можно обработать ошибочные ситуации. Для этого следует поступить следующим образом. На первом этапе формируется начальная переменная, имя и описание которой должны полностью соответствовать условиям
задания. Эта же переменная должна быть объявлена как внешняя, то есть она попадет в модель системы. Значение этой переменной должно вводиться либо вручную, либо выбираться из списка, либо выбираться из внутренней (реже внешней) базы данных. На втором этапе следует сформировать рабочую переменную, которая и будет принимать участие в дальнейших расчетах. При этом необходимо обработать возможную ситуацию ввода не некорректной информации. Рассмотрим вышесказанное на примере. Пусть у нас в расчетах принимает участие переменная d1, возможные значения которой находятся в пределах от 10 до 200 мм. Ввод значений такой переменной будем осуществлять вручную. В процессе дальнейших вычислений у нас будет принимать участие другая переменная d1r, значение которой будет рассчитываться по такой формуле: d1 >= 10 && d1 <= 200 ? d1 : error(“Ошибка при вводе диаметра!”) При попытке ввода значения диаметра, выходящего за пределы указанного диапазона на экране будет появляться окно с сообщением, что не позволит закрыть редактор формул с неверными значениями. В том случае, когда необходимо проконтролировать не диапазон, а список возможных значений, можно поступить следующим образом. Рабочей переменной присвоить результат по такой формуле. d1==10 || d1==25 || d1==50 || d1==100 || d1==200 ? d1 : error(“Ошибка при вводе диаметра!”) После обеспечения контроля исходных данных следует основательно “погонять” систему, вводя данные, выходящие за пределы возможных значений и данные недопустимого типа. И только в том случае, если система работает устойчиво можно переходить к следующему этапу – разработке собственно интерфейса системы. Проектирование интерфейса средствами T-FLEX Основное назначение интерфейса модели – повышение удобства ее использования при изменении значений внешних переменных либо при вставке модели как фрагмента в сборку. И в том и в другом случае пользователю будет предложено выбрать значения внешних переменных, которые будут приняты как текущие для модели.
Разработка интерфейса средствами T-FLEX доступна, начиная с версии 7.1. Рассмотрим основные этапы этого процесса. Перед формированием интерфейса должен быть окончательно завершен процесс формирования внутренних переменных и выделения из их состава внешних переменных. Именно внешние переменные попадают в модель, и становится возможным ввод их значений через интерфейс. Сформируем следующую модель внешних переменных.
У нас имеются текстовая и числовые переменные, значения которых могут вводиться вручную (L, Term) или выбираться из списка ($Mat, D). Организуем ввод их значений через интерфейс. Разработка интерфейса ведется в 2D окне, поэтому, если вы находились в 3D окне, следует переключиться в 2D окно. На первом этапе следует выполнить команду меню “Чертеж / Элементы управления”, после чего активизируется автоменю.
Командами автоменю являются (слева-направо): – Создать новую страницу для элементов управления. Таких страниц может быть несколько. В этом случае при вызове каждая из них будет представлена отдельной закладкой. – Рамка. Используется как элемент оформления окна диалога. – Текст. Используется для вывода статических надписей. – Однострочный редактор. Позволяет выводить текущее значение переменной и осуществлять ввод нового значения. Рекомендуется использовать для ввода тех переменных, значения которых не могут выбираться из списка. Допускается вводить значения как числовых, так и текстовых переменных. – Группа элементов. Элемент оформления и группирования переключателей. Позволяет выделить логическую группу элементов и снабдить ее надписью.
– Кнопка. Используется для выполнения действий. Может быть использована для активизации других окон, диалогов или для присваивания переменной значения. – Независимый переключатель. Удобен при формировании ответов типа “Да/Нет”. Значение переключателей такого типа не зависит от значений других переключателей такого типа. – Зависимый переключатель. Также формирует значения типа “Да/Нет”, однако в отличие от предыдущего, значение этого переключателя зависит от значений таких же переключателей в группе. Выбранным может быть только один зависимый переключатель в группе. – Список для выбора. Элемент является удобным для ввода переменных, значения которых формируются из списка. Одинаково хорошо работает со значениями числового и текстового типов. – Изображение. Позволяет вставить рисунок в окно диалога. – Параметры элемента управления. – Положение элемента управления в абсолютных координатах. – Привязка положения элемента управления к узлу. – Редактирование элемента управления. – Выход из команды. Формирование окна диалога начнем с создания новой страницы. Удобно сразу же переименовать эту страницу и вместо стандартного имени “Диалог 1” присвоить имя, отвечающее содержанию окна, например “Исходные данные”. Для этого следует вызвать команду работы со страницами
и переименовать окно диалога.
Далее следует поместить рамку, которая будет определять общие габариты окна диалога. Тут же следует установить размеры страницы по габаритам рамки. Это позволит рационально использовать площадь экрана при вводе значений. Напомним, что настроить размеры страницы можно командой меню “Настройка / Размеры страницы”. Следующим этапом будет нанесение элементов управления, которые будут формировать значения внешних переменных. Для переменных $Mat, D выберем элемент управления “Список”, для элемента L – однострочный редактор, для переменной Term – независимый переключатель. Для нанесения надписей используем статический текст. Ниже представлены результаты проектирования окон диалога и их вид в процессе проектирования и в процессе использования, соответственно.
Таким образом, элементы управления T-FLEX позволяют быстро создавать качественный интерфейс модели, который можно использовать как для изменения параметров модели внутри модели, так и при вставке модели в качестве фрагмента в другую модель. Наличие средств контроля корректности исходной информации и интерфейс, облегчающий ввод такой информации являются непременными атрибутами любой развитой модели, либо системы, автоматизирующей решение прикладной задачи.
1.1.4. Оформление выходной документации Рассматривая вопрос создания выходной документации, следует сразу обозначить, что она является вторичной по отношению к модели, т. е. чертеж детали является производным от модели детали, а сборочный чертеж и спецификация являются вторичными по отношению к сборочной модели. Именно от модели к чертежам и спецификациям мы будем идти, а не наоборот. Более того, сопроводительная документация при высоком уровне автоматизации и организации производства вообще является избыточной. Обоснуем последнее утверждение. Конструктор в процессе творческого поиска формирует у себя в мозгу трехмерную модель изделия. Чтобы передать эту модель технологу, который создаст технологический процесс ее изготовления и сборки, а также рабочему, который будет изготавливать и собирать ее, на протяжении последних нескольких столетий применялся метод ортогонального проецирования на плоскость. Конструктор формировал нужное количество проекций, сечений и разрезов, которые, по его мнению, будут достаточны для правильного воспроизведения задуманного. Технолог по эти проекциям пытался воссоздать в своем мозгу трехмерный образ модели, чтобы реализовать техпроцесс ее изготовления. Процесс преобразования “3D – проекции и сечения – 3D” не всегда проходил корректно, во многом зависел от квалификации конструктора и технолога. На этом пути неизбежными были неточности, а иногда и существенные ошибки. Все это усугублялось еще одним достаточно слабым звеном – рабочим. Большое количество объективных и субъективных факторов существенно снижало эффективность проектирования и производства. С развитием систем трехмерного проектирования появилась возможность убрать лишние звенья в цепочке “проектирование – производство”. Передавая 3D модель в неизменном виде от конструктора к технологу можно сократить количество ошибок, связанных с распознаванием образа модели, а в случае использования оборудования с ЧПУ – свести количество таких ошибок к нулю. При этом следует отметить, что остаются ошибки чисто конструкторского и чисто технологического характера. Ошибки в кинематике механизма, в оценке прочности и дизайне изделия, ошибки в технологии изготовления могут остаться. Для снижения их количества используется целый ряд систем автоматизации инженерных исследования (CAE – Computer Aided Engineering), которые облегчают работу конструктора и систем автоматизации производства (CAM – Computer Aided Manufacturing), облегчающих работу технолога и рабочего.
Таким образом, если нам удастся исходную модель от конструктора в электронном виде передать технологу, который с помощью средств автоматизации сформирует управляющие программы для автоматизированного оборудования (станков и сборочных механизмов), то потребность в традиционной сопроводительной документации (чертежах и технологических процессах) отпадет. Конструкторская информация будет инкапсулирована в моделях деталей и сборочных изделий, а технологическая информация – в управляющих программах. Формирование чертежей и спецификаций в системе T-FLEX будем рассматривать именно в этом аспекте. Они являются вторичными и должны использоваться как дополнительные средства. Формирование чертежей Исходя из вышеизложенного, к созданию чертежей следует приступать только в том случае, если в них имеется необходимость и только после окончательного формирования 3D модели. Основными структурными элементами чертежа являются: Основные и вспомогательные проекции модели, которые формируют общее представление о форме модели и отдельных ее элементах. Информация об этом полностью находится в 3D модели; Сечения и разрезы, которые уточняют форму отдельных элементов модели. Информация об этом полностью находится в 3D модели; Размеры, которые представляют конкретные размерные характеристики модели. Информация об этом также полностью находится в 3D модели; Допуски формы и расположения поверхностей, определяющие точность изготовления отдельных деталей и сборки. Эта информация отсутствует в 3D модели, хотя и может быть введена туда, как свойства отдельных элементов и связи между ними; Шероховатости поверхностей, определяющие требования к качеству поверхностей. Эта информация отсутствует в 3D модели, хотя и может быть введена туда, как свойства отдельных элементов; Обозначения и пояснения, которые носят вспомогательный характер, облегчающий восприятие чертежа и информирующий об его особенностях. Этой информации нет в 3D модели, и для нее чаще всего является лишней;
Элементы оформления (угловые штампы и рамки) носят вспомогательный характер, для 3D модели являются избыточными, а существенная информация, такая, как материал детали и ее шифр, фамилии разработчика и контролирующих, в принципе могут быть внесены непосредственно в 3D модель.
В таком порядке, как перечислены эти основные элементы чертежа и следует вести его разработку. Для формирования проекций следует нажать кнопку на панели инструментов T-FLEX. В появившемся автоменю сначала следует сформировать главные виды. Для этого следует либо воспользоваться командой создания трех стандартных видов , либо командой формирования стандартного вида (в том числе и аксонометрической проекции), либо командой набора стандартных видов . Далее следует указать место расположения проекций на чертеже и определить, какие из элементов (чаще всего это все элементы) попадут на проекцию. Формирования сечений и разрезов осуществляется в два этапа. Сначала мы создаем сечение (команда меню “Построение / Сечение”), а затем на основе этого сечения создаем разрез (кнопка автоменю создания 2D проекций). Система T-FLEX позволяет создавать простые и сложные сечения на основе 2D и 3D проекций. Переход в режим простановки размеров реализуется по команде меню “Чертеж / Размер”, либо при нажатии на кнопку панели инструментов. T-FLEX обеспечивает простановку основных и альтернативных линейных и угловых размеров. В параметрах размеров удобно реализован выбор префикса, суффикса, отклонений и стиля размером. При самой простановке существенно помогает механизм объектной привязки. Назначение допусков формы и расположения поверхностей происходит по команде меню “Чертеж / Допуск”. Контекстное автоменю позволяет назначить базовую поверхность, установить допуск. Возможен вариант привязки єтих єлементов к размерам. Следует отметить, что эти элементы реализованы как объекты, они существуют как единое целое, что облегчает их последующее редактирование. Для назначения шероховатостей следует воспользоваться командой меню “Чертеж / Шероховатость”. Возможность привязывать шероховатости к элементам построения и размерам, а также удобная
организация выбора параметров шероховатости, делает этот процесс быстрым и эффективным. В отдельную команду вынесена простановка неуказываемой шероховатости (меню “Оформление / Неуказываемая шероховатость”). Формирование пояснений и обозначений позволяет наносить текст, создавать надписи и обозначения видов, технических требований. Активизация работы с текстом происходит по команде меню “Чертеж / Текст” либо при нажатии на клавишу панели инструментов. Среди возможностей формирования текста имеются: однострочный и многострочный текст, параграф текста с форматированием абзацев и символов, таблицы. Удобным является использование словаря, куда можно заносить наиболее часто вводимые фрагменты текста. Создать надпись можно командой меню “Чертеж / Надпись”. Созданный объект может быть привязан к любому из элементов построений, а его разновидности охватывают все потребности конструктора. Создать обозначение вида для готового вида либо сечения можно командой меню “Чертеж / Обозначение вида”. Сформировать и расположить прямо над угловым штампом технические требования поможет команда “Оформление / Технические требования”. Наиболее часто встречающиеся фразы технических требований удобно сгруппированы по категориям в словаре. И завершить оформление чертежа рамкой с угловым штампом поможет команда меню “Оформление / Основная надпись”. Среди удобств использования этой функции T-FLEX следует отметить возможность выбора из списка фамилий разработчиков и проверяющих, встроенный календарь для ввода дат, автоматическое формирование текста в левой и верхней части рамки. Имеется возможность подбора основной надписи по габаритам чертежа и по текущему окну. Формирование спецификаций Группа команд, объединенная в команде меню “Сервис / Спецификация” предназначена для получения различных отчетных документов, в том числе спецификаций. Одни команды позволяют сводить информацию о составляющих сборочный чертеж фрагментах в единую таблицу. Другие на основе этой таблицы и прототипов для заполнения формируют отчетные документы. В качестве прототипов для заполнения используются чертежи системы T-FLEX CAD.
Пользователь может разрабатывать собственные прототипы для получения любых форм отчетности. Спецификация представляет собой документ, содержащий данные о включённых в сборочный чертёж фрагментах. При необходимости сборочный чертеж может содержать несколько спецификаций. При создании спецификации создается база данных формата Microsoft Access (*.mdb), которая хранится в директории сборочного чертежа. Создание спецификации производится на основе файла прототипа. Спецификация представляет собой текст с таблицей, заполнение которой происходит автоматически в соответствии со значениями данных фрагментов, и заданными правилами форматирования. При создании новой спецификации по команде меню “Сервис / Спецификация / Создать спецификацию” будет предложено выбрать один из прототипов спецификаций и указать место для новой спецификации – в новом документе, на новой странице или на существующей странице. Кроме того, имеется возможность создать новый прототип для спецификации.
Далее в удобном полуавтоматическом режиме имеется возможность сформировать структуру спецификации, включая в нее необходимые разделы и нужное количество строк раздела.
Данные для спецификации должны задаваться для каждого чертежа, который будет использоваться в качестве фрагмента в сборочном чертеже. Если в параметрах фрагмента установлен параметр “в новые спецификации” или параметр “в спецификацию”, то эти данные будут автоматически заноситься в соответствующие колонки таблицы спецификации. Данные для спецификации задаются в команде “Сервис / Спецификация / Данные”.
Заполненные в таблице значения автоматически попадут в нужный раздел спецификации. В каждом пункте можно использовать переменные чертежа, заключенные в фигурные скобки. Например, для фрагмента “Винт” в разделе наименование можно использовать следующую строку: Винт М {d}x{L} ГОСТ 1 49 -80 где d и L – переменные, отвечающие соответственно за диаметр резьбы и длину винта. Если такой фрагмент используется в сборке, и в сборочном чертеже создана таблица спецификаций, в которой имеются записи связанные с фрагментом “Винт”, то содержимое колонки “Наименование” будет меняться в зависимости от значений переменных d и L. По команде меню “Сервис / Спецификации / Позиции” можно быстро и безошибочно проставить позиции на сборочном чертеже в полном соответствии со спецификацией.
Описываемая команда обеспечивает обратную связь между записью спецификации и проставленной на чертеж надписью позиции (надписи). Это значит, что при любых изменениях сборочного чертежа или свойств спецификации, которые приводят к изменению номеров позиций записей в спецификации, позиции, проставленные на сборочном чертеже, будут изменяться автоматически при обновлении.
1.1.5. Пример автоматизированного проектирования пресс-формы Рассмотрим пример решения олимпиадного задания проектирования пресс-формы. Само задание является достаточно простым, что позволяет продемонстрировать порядок автоматизации его решения в T-FLEX. Готовый файл находится в каталоге “T-FLEX\Пресс-форма”. В соответствии с вышеизложенными рекомендациями проектирование начнем с расчетной части. Результаты расчетной части приведены ниже на рисунке.
В строках 1-4 формируются переменные с постоянными значениями, которые определяют физико-механические характеристики материала и пресс-формы. В дальнейшем эти переменные участвуют в расчетах. В строке 5 осуществляется ввод начального значения диаметра детали для прессования. Ей присвоено имя d_. На этом этапе пользователю рекомендуется ввести значение диаметра от 16 до 100 мм, однако само значение никак не контролируется. Поскольку от значения этой переменной зависят значения других переменных, то объявим переменную d_ внешней, отметив галочкой поле левее нее.
В строке 6 осуществляется контроль исходного данного и, если введенное значение попало в диапазон 16–100 мм, то переменной d присваивается значение переменной d_, иначе на экран выдается сообщение об ошибке . В строке 7 рассчитывается минимальный диаметр по формуле Ляме (для этого пришлось несколько преобразовать исходную формулу). В строке 8 – аналогичный диаметр исходя из условия на допустимую деформацию, в строке 9 – исходя из условия прочности на разрыв. В строке 10 осуществляется выбор максимального из трех диаметров. Результат сохраняется в переменной D_. В строке 11 происходит округлением переменной D_ в большую сторону до значения кратного 5. Значение окончательного наружного диаметра матрицы сохраняется в переменной D. Обратите внимание на удобство использования функций Max() и Ceil(). На этом этапе расчетная часть закончена, и мы можем убедиться в ее работоспособности, присваивая различные исходные данные переменной d_. На втором этапе мы должны создать модель пресс-формы. Сначала необходимо определиться со способом проектирования, будем ли мы создавать отдельные детали а затем собирать их (метод “снизу-вверх”), либо создадим сразу сборку а в последствии выделим детали (метод “сверху-вниз”). Поскольку конечным результатом задания является сборка, а не деталировка, удобнее воспользоваться методом проектирования “сверху-вниз”. Проектирование начнем с детали, которую необходимо получить, поскольку именно от ее размеров во многом зависят размеры матрицы и пуансона. Данная деталь является телом вращения, поэтому, активизировав плоскость будущего профиля, построим его с соблюдением параметрических связей между элементами. На рисунке представлен исходный профиль с указанием последовательности выполнения построений. 5
4
1
6 2 3
Сначала в точке с координатами (0, 0) необходимо построить базовую систему координат. Для этого перейдем на активной плоскости в режим построений в 2D окне
. Затем на панели
инструментов выберем режим построения линий построения двух перпендикулярных прямых и узла
, а затем – , с построением
их в начале системы координат . Затем перейдем к построению линий параллельных уже имеющимся. Привязавшись к горизонтальной линии, построим линии 2 и 3, указывая в их свойствах расстояние от базовой линии. Напомним, что отрицательные значения расстояний указывают на смещение вниз.
Аналогично построим линии 4 и 5, указывая в величине смещения 4-ой линии значение 5/2, а для 5-ой линии – d/2. Знаки для смещения будут положительными.
Далее построим окружность 6, указав свойства ее касания к прямым 5 и 2 с соответствующих сторон. Для этого необходимо на панели инструментов выбрать режим построения окружностей и, последовательно подводя указатель к прямым 5 и 2 сформировать
привязки касания. После этого вызвав окно параметров кнопкой либо клавишей “P”, установим радиус окружности равным 5. Следующим этапом будет обводка контура. Для этого необходимо нажать кнопку на панели инструментов и последовательно обойти весь контур. При обходе окружности, чтобы привязаться к ней, а не к хорде, следует нажать клавишу “C”. Контур сформирован. Для выхода из режима работы в 2D окне нажмите кнопку . Следующий этап – формирование тела вращения. Нажимаем кнопку на панели инструментов, выбираем наш исходный контур и в автоменю выбираем команду вращения вокруг одного из ребер профиля . Для завершения построения тела нажмите кнопку “Ok”. Результатом выполнения будет 3D модель детали, которую можно отображать как в реберном , так и в рендереном виде.
На этом этапе можно изменяя значение переменной d_ убедиться, что модель детали перестраивается корректно. Для пересчета модели следует воспользоваться соответствующей командой Полезно будет также на этом этапе установить свойства материала. Для этого необходимо вызвать окно свойств тела и выбрать материал из списка доступных материалов либо же сформировать свойства материала самостоятельно. Для нашей детали установим свойства материала – “Черный пластик”.
.
Также полезно установить имя детали взамен имени операции, которая ее образовала. Теперь можно переходить к построению пуансона. В задании сказано, что диаметр пуансона должен находиться в пределах d-1…d. В нашем примере примем диаметр пуансона равным диаметру детали. Используем верхнюю грань детали как основу для построения пуансона. Поскольку в задании высота пуансона не определена точно, то из конструктивынх соображений установим ее равной 50 мм. Последовательност действий при создании пуансона будет следубщей. Установим режим выбора граней , выберем верхнюю грань детали как основу и применим операцию выталкивания на 50 мм. Удобно сразу же определить имя операции “Исходный Пуансон” и выбрать материал – “Сталь”. Ниже отображено окно свойств пуансона и результат его построения. Внизу, черным цветом отображается деталь.
Для построения матрицы используем такой подход. Сначала построим цилиндр длиной 50 мм и диаметром D. Затем, применяя булеву операцию вычитания, последовательно вычтем из матрицы пуансон и деталь. При этом создадим копии пуансона и детали. Для построения исходного цилиндра необходимо построить новую рабочую плоскость. Пересчет размеров указывает на то, что плоскость верхнего торца цилиндра смещена на 24 мм относительно верхнего торца детали. Построим соответствующую плоскость. Активизируем команду построения рабочих плоскостей и выберем режим построения параллельных плоскостей . Далее в 3D окне укажем плоскость, в которой лежит верхняя грань детали и в окне параметров укажем смещение на 24 мм. Следует учитывать, что в
зависимости от того, какая рабочая плоскость была выбрана в качестве рабочей при построении профиля детали, смещение новой плоскости может происходить по координате X, Y или Z в положительном либо отрицательном направлении.
Далее следует активизировать новую рабочую плоскость и построить в ней окружность диаметром D. Последовательность действий здесь ничем не отличается от той, что мы использовали при построении профиля детали. Затем следует применить операцию выталкивания профиля на 50 мм. И так же, как и в случае с пуансоном, удобно сразу определить имя операции “Исходная Матрица” и выбрать материал. В принципе и пуансон и матрица изготавливаются из стали, однако для лучшей визуализации можно выбрать для матрицы другой материал, например “Ржавое железо” либо даже “Стекло коричневое”, что позволит заглянуть вовнутрь пресс-формы.
Следующим этапом применяем булевые операции вычитания. Для этого кнопкой на панели инструментов активизируем команду булевых операций. Затем сначала указываем на первую деталь
(Исходную Матрицу), выбираем операцию вычитания , указываем на вторую деталь (Исходный Пуансон), устанавливаем необходимость создания копии исходной второй операции и завершаем операцию нажатием на кнопку”Ok”. В окне дерева модели появятся тела “Boolean_1” и “Clone_1”, первое из которых является матрицей за вычетом пуансона, а второе – копией пуансона. Затем еще раз применяем булеву операцию применительно к “Boolean_1” и “Исходная Деталь”, с одновременным созданием копии последней. Нам остается переименовать неудачные имена типа “Boolean” и “Clone” в соответствующие имена “Матрица”, “Пуансон”, “Деталь” и установить свойства их материалов. Результат проектирования 3D модели представлен ниже на рисунке.
Сейчас уже можно проверить, как ведет себя сборка в целом при вводе нового значения наружного диаметра детали. Для пересчета модели не забывайте нажимать кнопку . Наша модель уже “умеет” немало. Она позволяет ввести и проконтролировать значение наружного диаметра детали, произвести вычисления, нужные для расчета наружного диаметра матрицы, построить 3D модель прессформы. На следующем этапе создадим конструкторскую документацию, которая будет содержать сборочный чертеж пресс-формы с видами спереди и сверху и поперечным сечением, а также чертеж детали.
Напоминаем, что для таких действий в системе T-FLEX нет необходимости создавать новый файл, чертеж мы получим в этом же файле, но в отдельном 2D окне. Создать такое окно очень просто, перетяните вправо разделитель, находящийся левее нижней полосы скроллинга и подтвердите создание 2D окна. Для восприятия внешней формы сборки нам будет достаточно видов спереди и сверху. Создадим их. Для этого на панели инструментов активизируем команду создания 2D проекций и выберем команду создать набора стандартных видов . В окне диалога укажем требуемые виды спереди и сверху.
Расположим две проекции в удобном месте чертежа и завершим их создание нажатием кнопки “Ok”. Для удобства последующих перерасчетов и перестроений может понадобиться предварительное построение узлов, к которым будут привязываться наши проекции и сечения. Создадим осевое сечение пресс-формы. Привязка сечения осуществляется к узлам, лежащим на оси. Проведем осевую линию на виде спереди. Для этого воспользуемся инструментами эскизирования T-FLEX и проведем линию от срединной точки верхнего торца пуансона до срединной точки нижнего торца матрицы. Затем в свойствах построенного отрезка укажем, что он является осевой линией, как это показано на рисунке. Теперь, кроме того, что мы имеем осевую линию, можно построить сечение, привязываясь к узлам, которые образуются при пересечении этой линии с линиями изображения.
Создание проекции следует начинать командой меню “Построения / Сечение”. Затем следует в автоменю выбрать команду создания сечения на основе 2D проекции . Следующий шаг – указание узлов, через которые будет проходить сечение. Если в процессе построения такого сечения вы захотите изменить направление взгляда – воспользуйтесь клавишей “Tab” либо кнопкой автоменю. Завершив все действия командой “Ok” мы только лишь укажем, где и в каком направлении следует рассекать модель. Окончательным этапом является создание 2D проекции на основе разреза. Для этого следует на панели инструментов вызвать команду создания 2D проекции (не путайте ее с кнопкой в автоменю, которая имеет точно такой же внешний вид, но совершенно другое действие) и в автоменю выбрать команду создания разреза или сечения . Щелкните рядом с предварительно построенным сечением и перед вами появится рамка с контурами нового вида. Укажите место расположения вида и завершите его создание нажатием на кнопку “Ok”. Если какая-либо часть сечения вас не устраивает, например штриховка детали должна быть выполнена крестообразной, то необходимо выбрать соответствующую часть сечения и изменить ее свойства. Для того, чтобы создать сечение только лишь детали, следует создать сечение, в котором указать меньшие границы сечения и после формирования самого вида сечения удалить лишние элементы. Для того, чтобы разместить вид с нарушением проекционной связи, следует эту связь разорвать, использовав команду “Создать/разорвать проекционную связь с сечением” . Завершим создание чертежа нанесением соответствующих надписей, размеров, технических требований и форматки. Нанесем на чертеж обозначения сечений. Во-первых, следует проставить само сечение на виде спереди. Для этого необходимо воспользоваться командой меню “Чертеж / Обозначение вида” и в автоменю выбрать команду “Создать простое сечение” . Укажите узлы, по которым необходимо провести сечение и завершите команду. Во-вторых, следует создать надпись для вида. В этом случае следует в автоменю выбрать команду “Создать вид” и расположить текст над соответствующим сечением. Нанесение размеров в системе T-FLEX осуществляется предельно быстро и удобно. Не будем подробно останавливаться на этом процессе, возможности которого подробно изложены в руководстве пользователя по двумерному проектированию.
В завершение следует создать угловой штамп и технические требования, для чего следует воспользоваться командами меню “Оформление” и соответствующими подпунктами “Основная надпись / Создать” и “Технические требования / Создать”. Работа над проектом завершена. На этом этапе следует посмотреть, как ведут себя все составные элементы проекта: расчетная часть, 3D модель и чертеж вместе. Напомним, что для пересчета моделей после изменения значения внешней переменной d_ следует пересчитать модель. Причем 3D модель пересчитывается по команде – “Обновить”, а чертеж перестраивается по команде – “Полный пересчет”. Окончательный вариант решения представлен на рисунке.
1.1.6. Пример автоматизированного проектирования муфты Рассмотрим пример решения олимпиадного задания проектирования муфты. Задание имеет средний уровень сложности. Готовый файл находится в каталоге “T-FLEX\Муфта”. В сравнении с предыдущим примером некоторые этапы будут рассмотрены сокращенно. Отметим, что в данном примере было внесено изменение в формулу для расчета толщины торовой оболочки, поскольку при некоторых значениях крутящего момента образовывался зазор между ней и фланцами. В данном примере для выполнения расчетной части потребовалось создать внутреннюю базу данных, в которой хранятся соотношения основных геометрических размеров муфты, в том числе количество крепежных болтов и их резьба. Напомним, что создание базы данных выполняется командой меню “Параметры / База данных”,
после чего создается внутренняя база данных T-FLEX. Нашей базе данных было присвоено имя “Main”. Результаты создания и заполнения приведены ниже на рисунке.
Следующим этапом идет формирование значений внутренних и внешних переменных модели. В нашем случае будет только одна внешняя переменная – крутящий момент (Tk_).
Обратите внимание на то, что среди переменных имеется достаточно много расчетных переменных, которые могут принимать не целые значения. Каждая из них обрабатывается функцией ceil, что позволяет округлять их в большую сторону. Именно эти значения и принимают участие в последующих расчетах и построениях. Закончив выполнение расчетной части и убедившись в корректности пересчета при изменении значения крутящего момента, следует переходить к формированию 3D модели. В данном случае удобно в одной из рабочих плоскостей сформировать профили двух полумуфт, двух фланцев и тора для последующего применения 3D операции “Вращение”. При этом сначала следует сформировать систему координат, связав ее с глобальной системой координат 3D модели и от нее производить все построения. В качестве начального узла нашей системы координат выберем точку, лежащую на правом торце левой полумуфты. При обрисовке профилей важно сразу формировать 3D профили на основе штриховок, это необходимо сделать для того, чтобы была возможность сформировать отдельные тела. Результат построения профиля в плоскости “Вид спереди” представлен ниже на рисунке.
Завершив работу в 2D плоскости и возвратившись в 3D окно, мы получим набор профилей, к каждому из которых можно применить некоторую 3D операцию. В нашем случае для выполнения операции “Вращение” следует создать два 3D узла (команда ), которые будут задавать направление оси вращения профилей. Первый из этих узлов будет лежать в точке с координатами (0, 0, 0)(команда ), а второй – смещен относительно первого в направлении оси Х на величину L1 (команда ). Результат построений представлен ниже на рисунке. Таким образом мы получим все элементы, которые необходимы для выполнения базовых построений.
Теперь последовательно применяя операцию вращения , формируем тела, которые в последующем образуют детали. Ниже на рисунке отображен этап построения левой полумуфты.
Окончательным результатом будут три тела вращения без отверстий и фасок. При первоначальном создании все тела будут из одного материала (если мы не укажем иначе).
Следующим шагом будет создание цилиндрического тела имитирующего отверстие. Диаметр этого тела будет равен Наружному диаметру болта, а это значение хранится в переменной М. Длину же этого тела выполним такой, чтобы оно пересекало сразу и обе полумуфты и оба фланца. Для этого следует начертить профиль на левом торце левого фланца и в нем начертить профиль отверстия. Затем следует создать два 3D узла, лежащих в плоскости левого торца левого фланца и в плоскости правого торца правого фланца, причем эти узлы должны лежать на оси вращения. Применив операцию выталкивания профиля отверстия от узла до узла, мы получим тело для последующего вычитания. Поскольку отверстий должно быть несколько, то создадим 3D массив вращения (команда ). В параметрах этого массива следует указать угол поворота и количество отверстий. Как известно они у нас определяются переменной Z. Окно диалога приведено ниже.
Далее следует для полумуфт и для фланцев последовательно применить булеву операцию (команда ) вычитания (команда ) массива вращения, создавая каждый раз копию (команда ) этого массива. После завершения всех построений можно удалить этот массив вращения. Мы получили тела с отверстиями под болты. Для окончательного формирования базовых тел необходимо снять фаски с определенных граней полумуфт и фланцев. Для этого укажем соответствующие ребра и вызовем операцию “Сглаживание” (команда ). В параметрах этой команды следует выбрать тип “Фаска” и указать значения (выбраны из конструктивных соображений). Окно диалога представлено ниже на рисунке.
Наши основные тела сформированы. Теперь окончательным операциям, приведшим к их образованию, следует дать приемлемые имена и назначить материал. В нашем примере они получили имена “Тор”, “Полумуфта левая”, “Полумуфта правая”, “Фланец левый”, “Фланец правый”. При выборе материала для примера мы руководствовались не столько самим материалом как таковым, а его цветом, чтобы улучшить восприятие модели. На практике следует указывать реальные материалы, это позволит увидеть, как будет выглядеть изделие. Окончательный вид базовых тел представлен на рисунке.
В версии системы T-FLEX 7.1 имеется возможность сохранить отдельные тела как отдельные детали. Это может понадобиться в том случае, если нужна будет деталировка отдельных деталей. Для выполнения этого действия необходимо в 3D окне либо в дереве 3D модели в контекстном меню выбрать пункт “Сохранить деталь …” (
).
Таким образом, окончательная структура 3D модели будет иметь такой вид.
Следующим этапом буде установка шайб и болтов. Для реализации этого поступим следующим образом. Во-первых, создадим локальные системы координат (команда ) в центре одного из отверстий на внешних торцах фланцев. Во-вторых, из библиотеки вставим (команды , ) стандартный элемент – “Шайба”, привязав ее к построенной системе координат. В-третьих, из библиотеки вставим стандартный элемент – “Болт”, привязав его к торцу шайбы. В-четвертых, создадим копии (команда ) шайбы и болта для правого фланца. В-пятых, создадим круговой массив (команда ) болтов и шайб для всех отверстий. Ниже отображены фрагменты экранов и окон диалога, иллюстрирующие выполнение этих этапов.
Обратите внимание на то, что при вставке стандартных элементов имеется возможность вместо конкретных значений указывать имена переменных модели. Такой подход приведет к тому, что при пересчете модели в сборку будут вставлены шайбы и болты с подходящими размерами. Ниже приведены три варианта муфты, которые генерируются после ввода значения крутящего момента и пересчета модели (команда ). Видно, что они имеют разное количество крепежных болтов. (Масштаб при отображении не пропорционален).
После завершения создания 3D модели сборки и тестирования ее при различных значениях крутящего момента, можно переходить к третьему этапу – формированию чертежа. Заметим, что T-FLEX позволяет создать сборочный чертеж со спецификацией, а также деталировки. Причем все они будут иметь параметрические связи между собой, поэтому при изменении крутящего момента будут изменяться и модель, и сборочный чертеж, и спецификация (параметры и количество болтов и шайб) и деталировки. В рассматриваемом примере ограничимся рассмотрением этапов создания сборочного чертежа. Сначала создадим 2D окно, в котором сгенерируем (команда ) две проекции (фронтальную и вид справа ). Расположим эти проекции в удобном месте на чертеже. При создании видов имеется возможность сразу нанести осевые лини. Далее создадим сечение (команда (команда
) на основе 2D проекции
), проведя его на фронтальном виде. По созданному
сечению создадим разрез (команда
), указав какие тела следует
включить в него (команда ). Отметим, что в сечение у нас не попадут болты и шайбы, поскольку система T-FLEX, к сожалению, не имеет средств отключить разрез некоторых тел, которые попадают в сечение. Поэтому на сборочном чертеже придется повторно вставить фрагменты шайб и болтов. После нанесения размеров, надписей и углового штампа мы получим готовый чертеж муфты (см. ниже). На этом процесс проектирования, если к проекту предъявляются другие требования, можно считать завершенным.
не
Некоторые итоги Как видно из рассмотренных примеров, возможности параметрического проектирования в системе T-FLEX являются достаточными для большого круга инженерных задач. Причем, параметризация связывает не только геометрические характеристики модели, но и может связывать их с физическими параметрами (давление, крутящий момент). В наибольшей степени эти преимущества сказываются при создании библиотек параметрических элементов. К таким элементам в машиностроении относятся все стандартные крепежные изделия, стандартизированный режущий инструмент, элементы приспособлений, пневмо- и гидроаппаратуры и т.д. Однако далеко не все задачи автоматизации проектирования можно решить через параметризацию. Существует огромное количество задач, которые требуют разработки алгоритмов более сложных, чем это можно реализовать с использованием баз данных, переменных и параметризации T-FLEX. В первую очередь это задачи, где в алгоритмах решения используются массивы, циклы, списки и т. д. Такие элементы не присутствуют в T-FLEX, да они там, по большому счету, и не нужны. Именно для автоматизации сложных проектных решений в этой системе реализована технология проектирования OLE Automation, основы которой будут рассмотрены в следующем разделе.
1.2. Автоматизированное проектирование в T-FLEX с использованием технологии OLE Automation 1.2.1. Общие принципы проектирования с использованием технологии OLE Automation T-FLEX CAD является приложением, поддерживающим механизм ActiveX (OLE Automation). Этот механизм доступен на двух уровнях: на уровне приложения – класс ITFServer и на уровне документа (чертежа) – класс ITFLEX. Класс ITFServer обеспечивает управление документами (создание, открытие, поиск, удаление), а также вспомогательные функции, такие как управление библиотеками чертежей, конфигурация системы и т.д. Класс ITFLEX, в свою очередь, реализует функции по созданию и модификации чертежа, а также такие операции над чертежом, как сохранение, экспорт, вывод на печать, сохранение и считывание параметров и др. Для использования T-FLEX CAD в качестве сервера OLE Automation можно воспользоваться средствами, поддерживающими ActiveX, например, Visual C++, Delphi или Visual Basic. Как нам представляется, имеется две основных возможности автоматизации с использованием технологии OLE Automation. 1) Передача рассчитанных значений в параметрическую модель; 2) Расчет и генерирование новых геометрических элементов. Первый способ подойдет в том случае, когда четко известна структура параметрической модели и число элементов (пусть известное и как параметр), а алгоритм решения задачи является сложным для решения его с помощью переменных T-FLEX. Выше уже упоминалось, что такими задачами могут быть итерационные, оптимизационные, задачи работы со списками и т.д. С точки зрения технологии OLE Automation этот способ можно рассматривать как начальный, поскольку здесь используются простейшие возможности этой технологи, такие как считывание данных из исходного документа, их обработка и последующая передача обратно в документ. Реализация этого способа является достаточно простой и эффективной. Второй способ предполагает использовать технологию OLE Automation основным средством проектирования, когда большинство операций, включающих создание документа и всех элементов, его составляющих осуществляется “извне”. Такой способ позволяет реализовывать самые смелые “фантазии”, однако следует сказать, что
для полноценной реализации этого способа на сегодняшний день функций ActiveX, имеющихся в T-FLEX явно недостаточно. После ознакомления с основными классами и функциями ActiveX, имеющимися вT-FLEX, мы рассмотрим два примера, реализующих оба способа автоматизации.
1.2.2. Функции ActiveX, доступные в T-FLEX В системе T-FLEX имеется несколько классов с функциями, сгруппированными по категориям Класс ITFServer
Категория Краткая характеристика функций Является общим классом, позволяющим работать с файлами документов, библиотек, осуществлять предварительный просмотр, управлять видимостью и размерами окон документов. Функции работы с файлами и документами
Функции работы с конфигурацией библиотек Функции для работы и просмотром и иконками документов Другие функции
ITFLEX
Содержит набор функций, позволяющий создавать новые файлы, открывать существующие, завершать работу с файлами, осуществлять поиск нужных файлов. Позволяют создавать, редактировать, открывать, определять количество и путь, конфигурировать библиотеки параметрических элементов. Позволяют получать, освобождать, отрисовывать, извлекать предварительные изображения и иконки документов. Управляют размерами окна документа и его фокусом ввода, устанавливают текущий путь.
Наиболее обширный класс функций, позволяющий непосредственно работать с активным документом Функции для Позволяют считывать и записывать работы с файлы переменных, создавать и документом отображать окна документов, сохранять файлы, распечатывать содержимое окон и экспортировать документы в другие форматы.
Класс
Категория функций Функции для работы с переменными
Краткая характеристика Позволяют определять и устанавливать значения переменных документа, создавать новые переменные, определять, является ли переменная внешней, пересчитывать значения и обновлять 3D модель.
Функции для работы с UNDO
Реализуют команды по отмене действий.
Функции для перерисовки документа
Осуществляют прорисовку текущего документа в окна соответствующих размеров.
Функции для получения координат в системе координат документа
Позволяют определить горизонтальную и вертикальную координаты окна вывода в системе координат документа.
Функции для работы с фрагментами
Позволяют осуществлять поиск, определять индексы фрагментов, вставлять и редактировать фрагменты.
Функции для работы с областями штриховки
Позволяют получить индексы и указатели на области штриховки.
Функции для работы с узлами
Позволяют находить, создавать, редактировать и определять свойства 2D узлов.
Функция для работы с базами данных
Позволяет получить указатель на внутреннюю базу данных.
Функции для работы с атрибутами
Позволяют определять, устанавливать и удалять атрибуты целого вещественного и текстового типов.
Функции для выбора элементов
Позволяют определять выбранные элементы, устанавливать параметры фильтра выбора элементов.
Класс
CTFObject
Категория функций Функции для доступа к элементам и поиска
Краткая характеристика Содержит базовый набор функций доступа к объектам.
Функции для создания элементов
Содержит набор функций для создания элементов построения (прямые, окружности, эллипсы), элементов изображения (отрезок, дуга, окружность, линейный размер, отрисовка по элементам построения).
Функции для работы со страницами
Позволяют определить количество страниц документа, их статус, активизировать страницу.
Реализует набор функций для работы со свойствами и атрибутами элементов. Функции для работы с атрибутами
Позволяют определить, присвоить, удалить атрибуты целого, действительного и текстового типов.
Функции для пометки элементов
Позволяют выбрать и отменить выбор элементов.
Функции для работы со свойствами
Позволяют определить, присвоить, удалить свойства целого, действительного и текстового типов
FRAGMENT
Позволяет получать информацию о фрагменте, а также изменять имя файла фрагмента.
CEditFragment
Позволяет редактировать фрагменты документа, а также создавать новые фрагменты.
CVarEdit
Позволяет изменять значения внешних переменных текущей модели или редактируемого фрагмента.
TFDatabase
Позволяет получать и изменять значения, находящиеся во внутренней базе данных документа T-FLEX.
AREA
Позволяет получать информацию об области штриховки.
FORMULA
Позволяет получать информацию о переменной.
1.2.3. Использование Delphi для автоматизации проектирования в T-FLEX Общий порядок проектирования в T-FLEX с использованием технологии OLE Automation рассмотрим на двух примерах. Первый пример – решение олимпиадного задания проектирования шпоночной протяжки (автор – Слободяник Д., ст. гр. МТ-72с Национального технического университета Украины “Киевский политехнический институт”) находится в папке “T-FLEX \ Протяжка”. Второй пример – решение олимпиадного задания по разбиению сечения детали на конечные элементы (автор – Кирдан В., ст. гр. МТ-01 Национального технического университета Украины “Киевский политехнический институт”) находится в папке “T-FLEX \ Конечные элементы”. Отметим, что здесь мы не будем останавливаться на подробностях вычислительного алгоритма решения, а сосредоточим свое внимание только на особенностях технологии OLE Automation. Структура решения первого задания является достаточно простой. Сначала был сформирован параметрическая модель протяжки, основные геометрические элементы которой формировались как внутренние переменные. Отдельно создавалась программа, написанная на Delphi 5.5, которая на завершающем этапе передавала значения переменным параметрической модели. Для реализации указанного подхода необходимо было выполнить следующее. В интерфейсной части программы описать переменные: var TFApp,TFDoc,ParamFile :OleVariant;
Переменная TFApp предназначена для работы с приложением (T-FLEX) в целом, TFDoc – для работы с активным документом, ParamFile – для работы с файлом параметров. В момент создания окна главной формы Delphi следует создать объект–приложение и получить доступ к активному документу. TFApp:=CreateOleObject('TFW32.SERVER'); TfDoc :=TFApp.GetActiveFile;
Далее был спроектирован интерфейс (см. рис. ниже) и реализован алгоритм расчета протяжки.
Затем, в момент нажатия на кнопку “Модель протяжки” следовала запись основных параметров протяжки в обычный текстовый файл с последующим присваиванием объекту ParamFile результата вызова для активного документа функции загрузки файла параметров, пересчета модели и регенерации 3D модели. Фрагмент программы приведен ниже. begin AssignFile(F,'protyagka.par'); Rewrite(F); WriteLn(F,'H1 = '+FloatToStr(H1)); WriteLn(F,'l1 = '+FloatToStr(l1)); WriteLn(F,'a = '+FloatToStr(a_a)); WriteLn(F,'a1 = '+FloatToStr(a1)); WriteLn(F,'b1 = '+FloatToStr(b1)); WriteLn(F,'b = '+FloatToStr(b)); WriteLn(F,'P = '+FloatToStr(Pp)); WriteLn(F,'Z = '+FloatToStr(Zp)); WriteLn(F,'gama = '+FloatToStr(gama)); CloseFile(F); ParamFile :=TFDoc.LoadParametersFile('Protyagka.par',0); TFDoc.Recalculate; TFDoc.Regenerate3D; end;
Это практически все, что необходимо сделать для реализации связки “Delphi – T-FLEX”. Ниже приведена копия экрана спроектированной протяжки и ее чертежа.
Во втором примере возможности технологии OLE Automation использовались намного шире. Отметим сразу, что полностью задача не была решена. На этом этапе она позволяет разбивать на конечные элементы только один выпуклый контур, элементами которого являются отрезки и дуги окружностей. Однако, несмотря на это, она позволяет продемонстрировать более высокий, чем в первом примере, уровень использования возможностей технологии OLE Automation. Для работы описываются следующие типы и переменные. type {Тип Segments предназначен для описания параметров сегментов, из которых состоит контур} Segments = record SegmentType: integer; //Тип сегмента Segment: olevariant; //Указатель на сегмент x1: double; y1: double; x2: double; y2: double; xc: double; yc: double; radius: double; end; {Segment} {Тип Pointпредназначен для описания координат точки на плоскости} Point = record x:double; y:double; end; {Point} var TFApp, TFDoc, ObjArea
//Объект TFLEX //Объект Документ //Объект AREA : OleVariant;
idArea, //Количество штриховок idContourCount, //Количество контуров в штриховке NE, idContourSegments :integer;// Количество сегментов в контуре ArrayOfSegments: array of segments;//Массив сегментов ArrayOfNode:array of Point;//Массив узлов
Для того, чтобы подключиться к T-FLEX необходимо записать фрагмент программы, где создается OLE объект, отображается и ему передается фокус ввода. begin TFApp:=СreateOleObject('TFW32.SERVER'); TFApp.ShowApplication(1); TFApp.SetFocus; end;
Следующий фрагмент кода программы иллюстрирует обращение к документу и проверку целого ряда условий, при которых возможно нормальное функционирование программы. try // Начало защищенного блока TFDoc:=TFApp.GetActiveFile;//Подключиться к активному файлу idArea:=TFDoc.GetFirstArea;//Найти первую штриховку ObjArea:=TFDoc.GetArea(idArea);//Сформировать объект if idArea<0 then begin //Проверка на наличие штриховки ShowMessage('Активный документ не содержит контур!'+#10#13+ 'Создайте его и заштрихуйте!'); exit;// Выход из процедуры end; {Определить количество контуров штриховки} idContourCount:=ObjArea.GetContourCount; {Анализ количества контуров. Этот вариант программы может анализировать только один контур} if idContourCount>1 then ShowMessage('Контур должен быть только один.') else begin idContourSegments:=ObjArea.GetContourSegments(0); {Формируем динамические массивы сегментов и узлов} SetLength(ArrayOfSegments,idContourSegments); SetLength(ArrayOfNode,idContourSegments); {Заполняем массивы значениями} for i:=0 to idContourSegments-1 do begin ArrayOfSegments[i].SegmentType:= ObjArea.GetContourSegmentType(0,i); {Формирование начальных значений в случае если найденный фрагмент является отрезком признак – SegmentType=1}
if ArrayOfSegments[i].SegmentType=1 then begin ArrayOfSegments[i].Segment:= ObjArea.GetSegmentAsLine(0,i, ArrayOfSegments[i].x1,ArrayOfSegments[i].y1, ArrayOfSegments[i].x2,ArrayOfSegments[i].y2); ArrayOfSegments[i].xc:=0; ArrayOfSegments[i].Yc:=0; ArrayOfSegments[i].radius:=0; ArrayOfNode[i].x:=ArrayOfSegments[i].x1; ArrayOfNode[i].y:=ArrayOfSegments[i].y1; end; {Формирование начальных значений в случае если найденный фрагмент является дугой окружности признак – SegmentType=3} if ArrayOfSegments[i].SegmentType=3 then begin ArrayOfSegments[i].Segment:= ObjArea.GetSegmentAsArc(0,i, ArrayOfSegments[i].xc,ArrayOfSegments[i].yc, ArrayOfSegments[i].radius, ArrayOfSegments[i].x1,ArrayOfSegments[i].y1, ArrayOfSegments[i].x2,ArrayOfSegments[i].y2); ArrayOfNode[i].x:=ArrayOfSegments[i].x1; ArrayOfNode[i].y:=ArrayOfSegments[i].y1; end; end; {for} {Создаем новый документ. Такой подход реализован для того, чтобы не “испортить” оригинальный документ } TFDoc:=TFApp.CreateNewFile; {Этот цикл воссоздает в новом документе точную копию контура оригинала} for i:=0 to idContourSegments-1 do begin ArrayOfSegments[i].SegmentType:= ObjArea.GetContourSegmentType(0,i); {Если рассматриваемый сегмент – отрезок, создаем отрезок в новом документе} if ArrayOfSegments[i].SegmentType=1 then begin TFDoc.CreateLine(ArrayOfSegments[i].x1, ArrayOfSegments[i].y1, ArrayOfSegments[i].x2, ArrayOfSegments[i].y2); end; {Если рассматриваемый сегмент – дуга окружности, создаем новую дугу с учетом направления обхода} if ArrayOfSegments[i].SegmentType=3 then begin {9} if (ArrayOfSegments[i].radius>=0) then TFDoc.CreateArc( ArrayOfSegments[i].x1, ArrayOfSegments[i].y1, ArrayOfSegments[i].x2,
ArrayOfSegments[i].y2, ArrayOfSegments[i].radius) else TFDoc.CreateArc( ArrayOfSegments[i].x2, ArrayOfSegments[i].y2, ArrayOfSegments[i].x1, ArrayOfSegments[i].y1, -ArrayOfSegments[i].radius); end; end; {for} {Начинаем формировать сетку конечных элементов. Далее NE – количество узлов; LLL (…) – рекурсивная процедура разбиения треугольника; LD (…) – рекурсивная процедура разбиения сетора. В алгоритме также учитывается четное и нечетное количество узлов в контуре} NE:=high(ArrayOfNode); if odd(NE) then for i:=0 to (NE div 2)-1 do begin LLL(ArrayOfNode[i].x, ArrayOfNode[i].y, ArrayOfNode[i+1].x, ArrayOfNode[i+1].y, ArrayOfNode[NE-i].x, ArrayOfNode[NE-i].y,l,TFDoc); LLL(ArrayOfNode[NE-i].x, ArrayOfNode[NE-i].y, ArrayOfNode[NE-(i+1)].x, ArrayOfNode[NE-(i+1)].y, ArrayOfNode[i+1].x, ArrayOfNode[i+1].y,l,TFDoc); end else for i:=0 to ((NE div 2)-1) do begin LLL(ArrayOfNode[i].x, ArrayOfNode[i].y, ArrayOfNode[i+1].x, ArrayOfNode[i+1].y, ArrayOfNode[NE-i].x, ArrayOfNode[NE-i].y,l,TFDoc); if not(i=((NE div 2)-1)) then LLL(ArrayOfNode[NE-i].x, ArrayOfNode[NE-i].y, ArrayOfNode[NE-(i+1)].x, ArrayOfNode[NE-(i+1)].y, ArrayOfNode[i+1].x, ArrayOfNode[i+1].y,l,TFDoc); end; for i:=0 to high(ArrayOfSegments) do begin if ArrayOfSegments[i].SegmentType = 3
then begin LD(ArrayOfSegments[i].xc, ArrayOfSegments[i].yc, ArrayOfSegments[i].x1, ArrayOfSegments[i].y1, ArrayOfSegments[i].x2, ArrayOfSegments[i].y2, ArrayOfSegments[i].radius,l,TFDoc); end; end; end; except // Обработка исключительной ситуации ShowMessage('Скорее всего не открыт документ'); end; end;
Обратите внимание на то, что последним параметром процедур LLL (…) и LD(…)является указатель на объект TFDoc. Это позволяет в самих процедурах обращаться к этому объекту и строить новые элементы – отрезки. Ниже приведен фрагмент процедуры LLL (…) , в завершающей части которой создаются три новых отрезка. Procedure LLL(x1,y1,x2,y2,x3,y3,L:Double;TFD:Olevariant); . . . begin . . . TFD.CreateLine(x1,y1,x2,y2); TFD.CreateLine(x2,y2,x3,y3); TFD.CreateLine(x3,y3,x1,y1); end;
Интерфейс программы является достаточно простым. Основным исходным данным для нее является базовая длина сетки конечных элементов, основным действием – генерирование сетки конечных элементов. Имеются сведения об авторе и небольшая справочная служба. После корректной генерации сетки конечных элементов, становится доступной кнопка просмотра списка конечных элементов с координатами их узловых точек. При желании можно записать эти координаты в текстовый файл. Ниже представлены фрагменты работы программы. На первом рисунке показаны исходные данные для программы (контур слева) и результат генерирования сетки конечных элементов (справа). На втором рисунке показан результат просмотра списка конечных элементов и окно диалога при записи их в файл.
В завершение хочется отметить следующее, если созданное приложение является очень полезным и часто используется при работе с системой T-FLEX, то можно включить его в состав главного меню T-FLEX. Сделать это достаточно просто. В меню “Настройка” необходимо выбрать пункт “Настройка” и в появившемся окне диалога перейти на закладку “Меню пользователя”. После нажатия на кнопку “Добавить”, следует ввести новое имя пункта меню (поле “Текст пункта меню”), указать путь к программе (поле “Программа”), при необходимости указать стартовый каталог (поле “Стартовый каталог”) и сменить иконку программы
(поле “Изображение иконки”). В результате этих действий в пункте меню “Настройка” станут доступными ваши программы.
Безусловно, возможности автоматизированного проектирования в T-FLEX не исчерпываются только теми направлениями, которые рассмотрены в данной работе. С выходом новой версии системы мы ожидаем получить полноценный доступ к функциям ActiveX, реализующим операции трехмерного проектирования и многое другое.