Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика NEW.docx
Скачиваний:
10
Добавлен:
07.06.2015
Размер:
913.61 Кб
Скачать
  1. Методы исследования моделей и информационных технологий для проектирования изделий сложной геометрии

Главным методом исследования возможностей создания изделий сложной геометрии в ПМК было использование макросов. При обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д.

Процесс изучения команд в системе 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

Системные команды

  1. Задание параметров PowerShape

  2. Отображение модели

  3. Создание модели

  4. Сохранение модели или изменений

2

Команды работы с WorkPlane

  1. Создание WorkPlane

  2. Активирование WorkPlane

  3. Активирование оси

  4. Активирование плоскости

3

2D построение

  1. Создание точки

  2. Создание линии

  3. Создание прямоугольника

  4. Создание многоугольника

  5. Создания окружности

  6. Создание окружности по 3-м точкам

  7. Создание окружности по 2-м точкам и радиусу

  8. Создание фаски

  9. Создание округления

  10. Создания спирали

  11. Создание сплайна

  12. Создания контура

  13. Соединение точек линии

4

3D построение

  1. Создание цилиндра

  2. Создания куба

  3. Создания сферы

  4. Создания конуса

  5. Создание тора

  6. Создания блока

  7. Создания пружины

  8. Создание поверхности

  9. Создание контуров

  10. Создание плоскостей

  11. Создание осей координат

  12. Создания тела вытягивания

  13. Создания тела вращения

  14. Моделирование поверхности

Продолжения таблицы 4

5

3D операции

  1. Сделать активным твердотельный объект

  2. Операция сложения

  3. Операция вычитания

  4. Операция пересечения

  5. Операция вращения

  6. Операция выдавливания

  7. Кинематические операции

6

Операции редактирования

  1. Поворот объекта

  2. Выделение объектов

  3. Удаление выделенных объектов

  4. Перемещение объектов

  5. Переименование объекта

7

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

  1. Возврат координат начальной и конечной точек

  2. Возврат типа объекта

  3. Возврат имя объекта

  4. Возврат краткой информации объекта

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.