![](/user_photo/2706_HbeT2.jpg)
- •Министерство образования и науки украины
- •Реферат
- •Содержание
- •Введение
- •Анализ методов проектирования изделий сложной геометрии
- •Анализ современных информационных технологий для проектирования изделий сложной геометрии
- •Анализ аналогов проектируемого приложения
- •Выполнение бизнес-процесса проектирование брекет-системы и поверхности со сложной геометрической формой
- •Методы исследования моделей и информационных технологий для проектирования изделий сложной геометрии
- •Охрана труда
- •Анализ опасных и вредных производственных факторов
- •Разработка мероприятий по обеспечению безопасных и комфортных условий труда
- •Оценка эффективности мероприятий по охране труда
- •Заключение
- •Список использованной литературы
Методы исследования моделей и информационных технологий для проектирования изделий сложной геометрии
Главным методом исследования возможностей создания изделий сложной геометрии в ПМК было использование макросов. При обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д.
Процесс изучения команд в системе PowerShape выполнялся по схеме, показанного на рисунке 2.
Рисунок
2 – Выявления команд в макросе
Для передачи макроса в PowerSHAPE используется библиотека «PowerSolutionDOTNetOLE», создаеться объект класса «clsPowerSHAPEOLE» и передается команда методом показанным на рисунке 3:
clsPowerSHAPEOLE.Execute("");
Рисунок 3 – Передача команды в PowerSHAPE для выполнения макроса
После получения команды CAD-система выполняет команду так же как если мы бы просто запустили макрос из графического меню.
Для получения информации о объекте используется команда показанная на рисунке 4
clsPowerSHAPEOLE.Evaluate("SELECTION.NUMBER");
Рисунок 4 – Передача команды в PowerSHAPE для получения номера объекта
О каждом объекте в PowerSHAPE можно получить информацию. Все свойства которые можно получить из твердого тела перечислены в таблице 2.
Таблица 2 – Свойства твердого тела
Имя свойства |
Описание свойства |
Solid exists |
Твердого тело существует или нет |
Solid active |
Активное твердого тело или нет. |
Identity number of solid |
Идентификационный номер твердого тела |
Name of solid |
Имя твердого тела |
Active |
Сделать активным твердое тела |
Ghost |
удвоенное изображение |
Type |
Тип твердого тела |
Surfaces in a solid |
Поверхности в твердом теле |
Bounding box around solid |
Ограничительная рамка вокруг твердых тел |
Origin of primitive and extruded solids only |
Происхождение примитивных и экструдированные только в твердых тел |
Workplane of primitive |
Рабочая область примитива |
Продолжение таблицы 2
Имя свойства |
Описание свойства |
Dimensions of primitive and extruded solids only |
Размеры примитивных и экструдированного только в твердых телах |
Surface area |
Площадь |
Volume of solid |
Объем твердых тел |
Closure |
Смыкание |
Centre of gravity |
Центр тяжести |
Moment of inertia |
Момент инерции |
Watertight |
Целостность |
Linked edges |
Связанные края |
Valid boundaries |
Граници твердого тела |
Connected |
связь |
Features |
Особенности |
Material |
Материал |
Style of solid |
Стиль твердого тела |
Scaling Constraints - solids |
Масштабированные ограничения - твердые вещества |
Все свойства поверхности в PowerSHAPE, которые можно получить или изменить перечислены в таблице 3.
Таблица 3 – Свойства поверхностей
Имя свойства |
Описание свойства |
Reference direction |
Контрольное направление |
Продолжение таблицы 3
Имя свойства |
Описание свойства |
Surface type |
Тип поверхности |
General |
Имя, номер, существование поверхности. |
Diameter of surface |
Диаметр поверхности |
Centre of gravity of surface |
Центр тяжести поверхности |
Evaluate normal |
Оценка нормали |
Nearest t and u parameters |
Ближайшие T и U параметрам |
Owner |
Владелец |
Boundaries |
Границы |
Style of surface |
Стиль поверхности |
Primitives |
Примитивы |
Minimum block size |
Минимальный размер блоков |
Area of surface |
Площадь поверхности |
Volume of surface |
Объем поверхности |
Evaluate position |
Оценка позиции |
Evaluate curvature |
Оценка кривизны |
Material |
Материал |
Laterals and longitudinals |
Боковые и продольные |
Level of surface |
Уровень поверхности |
При создании твердотельного блока, необходимо указать точку расположения основания блока, его высоту, ширину и длину. После создания можно переименовать его или видоизменять. Можно изменять его параметры уже после построения, используя команду «Modify». Вызывается окно параметров «Изменить», после чего проводим перестройку объекта по требуемым параметрам. Для создания объекта твердого тела вида «Блок» был разработан метод (см рис. 5):
// Создание Solid типа Block
public bool CreateSolidBlock(string NameSolid, clsPoint3D Point, double Length, double Width, double Height)
{
//Выполняем макрокоманды создания блока
clsPowerSHAPEOLE.Execute("Create Solid Block");
clsPowerSHAPEOLE.Execute(Point.SerialisedString(true));
clsPowerSHAPEOLE.Execute("Modify");
clsPowerSHAPEOLE.Execute("Name " + Convert.ToString(NameSolid));
clsPowerSHAPEOLE.Execute("Length "+Convert.ToString(Length));
clsPowerSHAPEOLE.Execute("Width " + Convert.ToString(Width));
clsPowerSHAPEOLE.Execute("Height " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Accept");
//ДЕлаем небольшую задержку
System.Threading.Thread.Sleep(1000);
return true;
}
Рисунок 5 – Метод построения твердотельного блока.
Подобным методом строиться тело типа «Пружина». Для ее построения, нужно указать ряд параметров: имя, высота, шаг, ко-во витков, верхний радиус и нижний, указать вид сечения, и угол поворота. Для построения пружины с неизменяемой высотой нужно указать что она не изменяется, тогда необходимо задать лишь параметр кол-ва витков или шаг. Так как PowerSHAPE сам рассчитает дополнительные параметры, пользователю не нужно лишний раз проводить математический расчеты для определения параметров пружины. Построение пружины показано на рисунке 6.
// Создание Solid типа Spring
public bool CreateSolidSpring(string NameSolid, clsPoint3D Point, double Turns, double Pitch, double Height, double top_radius, double base_radius, bool Look_Height, bool Look_Pitch, bool Look_Turns)
{ //Выполняем макрокоманды создания блока
clsPowerSHAPEOLE.Execute("Create Solid Spring");
clsPowerSHAPEOLE.Execute(Point.SerialisedString(true));
clsPowerSHAPEOLE.Execute("Modify");
clsPowerSHAPEOLE.Execute("Name " + Convert.ToString(NameSolid));
while (Look_Height) {
if (Pitch != 0)
{
Рисунок 6 – Построения тела вида «Пружина».
Продолжения рисунка 6
clsPowerSHAPEOLE.Execute("Height " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Pitch " + Convert.ToString(Pitch));
clsPowerSHAPEOLE.Execute("Accept");
}
else
{
clsPowerSHAPEOLE.Execute("Height " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Turns " + Convert.ToString(Turns));
clsPowerSHAPEOLE.Execute("Accept");
} }
while (Look_Pitch)
{
if (Height != 0)
{
clsPowerSHAPEOLE.Execute("Height " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Pitch " + Convert.ToString(Pitch));
clsPowerSHAPEOLE.Execute("Accept");
}
else
{
clsPowerSHAPEOLE.Execute("Pitch " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Turns " + Convert.ToString(Turns));
clsPowerSHAPEOLE.Execute("Accept");
}
}
while (Look_Turns) {
if (Pitch != 0)
{
clsPowerSHAPEOLE.Execute("Turns " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Pitch " + Convert.ToString(Pitch));
clsPowerSHAPEOLE.Execute("Accept");
}
else
{
clsPowerSHAPEOLE.Execute("Height " + Convert.ToString(Height));
clsPowerSHAPEOLE.Execute("Turns " + Convert.ToString(Turns));
clsPowerSHAPEOLE.Execute("Accept");
}
}
clsPowerSHAPEOLE.Execute("top_radius " + Convert.ToString(top_radius));
clsPowerSHAPEOLE.Execute("base_radius " + Convert.ToString(base_radius));
clsPowerSHAPEOLE.Execute("Accept");
//ДЕлаем небольшую задержку
System.Threading.Thread.Sleep(1000);
return true;
}
Для построения твердотельного объекта можно начертить контур его а потом вытянуть из него тело. Для этого используется команда показанная на рисунке 7
clsPowerSHAPEOLE.Execute("CREATE SOLID");
Рисунок 7 – Вытягивания тела из 2D проекции тела
Для построения дуги в брекет-системе используется подобный метод. Во время построения брекетов строим вспомогательные плоские многоугольники (круги, и другие простые фигуры) вписанные в размер 0.6x0.6 (мм) на краях проемов для дуги. После чего соединим их с помощью B-сплайна и методом «Направляющая», создаём поверхность нужного нам сечения и длинны (рис. 8). Конечный результат показан на рисунке 9.
clsPowerSHAPEOLE.Execute("Create surface AutoSurf");
clsPowerSHAPEOLE.Execute ("Method Drive")
Рисунок 8 – Построение поверхностей методом направляющая
Рисунок 9 – Дуга проведенная через брекет-систему
В CAD-системе PowerSHAPE хорошо реализована работа с поверхностями. Есть несколько способов их создания: по направляющей, из сетки кривых, из отдельных поверхностей, ограниченная чем либо, по двум направляющим, и вписывание в плоскость. Для построения поверхности можно создать контур, и программа автоматически построит поверхность по нашему контуру.
Для создания контура используется команда «create COMPCURVE» (рис. 10). Для последующего построения поверхности необходимо указать метод построения поверхности «AutoSurf» (рис. 11). Программа автоматически строит поверхность. Если необходимо, можно вручную исправить неточности с помощью метода «Морфинг».
Рисунок 10 – Контур для построения поверхности
Рисунок 11 – Поверхность построенная поверх контура
В настоящее время по данной схеме создана библиотека команд PowerShape – «Class_lib.DLL», включающая в себя 53 команды, которые разделены на группы, представленные в таблице 3.
В качестве проверки работоспособности разрабатываемой библиотеки, были созданы САПР брекет системы. Брекеты устанавливаться на зуб в указанной пользователем точке. Каждый брекет строиться по порядку установки точек. Проводиться дуга, соединяющая каждый брекет между собой, под любым углом и с любым изгибом.
Таблица 4 - Командная библиотека «PS_Comand.DLL»
№ |
Группа |
Команды |
1 |
Системные команды |
|
2 |
Команды работы с WorkPlane |
|
3 |
2D построение |
|
4 |
3D построение |
|
Продолжения таблицы 4
5 |
3D операции |
|
6 |
Операции редактирования |
|
7 |
Свойства модели |
|
pshape.ShowForms = Value
Параметр скрывает или показывает интерфейс PowerShape
pshape.busy
Функция с помощью которой проверяеться занятость программы.
pshape.Version
Получить версию программы
pshape.WindowState = value
Вы можете ввести value параметр окна программы.
Value |
Description |
1 |
This is the state when you can resize and position the window. |
2 |
Maximise window. |
4 |
Minimise window to the taskbar. |
8 |
Bring window to the foreground. |