Использование диалогового окна«Изменить конфигурации» для создания и изменения конфигураций и для часто конфигурируемых параметров.
В курсовой работе будут использоваться таблицы параметров, которые создаются и управляются конфигурациями деталей в электронной таблице Microsoft Excel. Таблица будет содержать в себе данные о размерах определенного эскиза детали, так же она будет связана с моделью, что будет позволять изменять размеры на свое усмотрение сразу в электронной таблице не запуская проект. Вдобавок, на разработанном портале при выборе определенной категории моделей, данные о размерах будут считываться с этой же электронной таблицы, что так же упрощает задачу изменения размеров в самом проекте модели.
3. РАЗРАБОТКА СИСТЕМЫ
.1 Процесс создания моделей деталей
Интерфейс SolidWorks соответствует привычному графическому интерфейсу программ семейства Windows Microsoft. Стандартные функции Windows обеспечивают работу с файлами (создание, открытие, сохранение и др.). Печать эскизов, 3D моделей с экрана и чертежей в SolidWorks осуществляется на любое устройство графического вывода (плоттер, принтер), установленное в операционной системе. Проектирование в SolidWorks включает создание объемных моделей деталей и сборок с возможностью генерировать на их основе рабочие чертежи. Создание нового документа в SolidWorks сопровождается выбором шаблона документа: Деталь, Сборка или Чертеж.
Для разработки простых трехмерный твердотельных моделей в данной курсовой работе будет использоваться шаблон «Деталь», который представляет собой трехмерное пространство.
Первым делом для разработки модели был создан проект, далее эскиз, который является основой для трехмерной модели. Для этого в верхней панели выбрали значок многоугольника и создали эскизс произвольными размерами.В качестве модели будет являться «гайка». Таким образом эскиз будущей детали и соответственно интерфейс программы приведен на рисунке 1.
Рисунок 1 - «Эскиз модели»
Далее необходимо задать размер эскиза. Для этого выбрали в верхней панели значок «Автоматическое нанесение размеров», после чего выделяем две противоположные точки многоугольника и прописываем определенный размер. Затем вытянули эскиз для преобразования в трехмерную модель, выбрав функцию «Вытянутая бобышка/основание» и ввели необходимый размер толщины будущей гайки. Следовательно, получилась следующая модель, фрагмент которой представлен на рисунке 2.
Рисунок 2 - «Трехмерная модель»
Далее приступили к созданию фаски на острых концах поверхностей трехмерной модели. Для этого создали эскиз окружности и связали с одной из поверхностей, выделив окружность и одну из граней модели и нажав взаимосвязь «касательный» в левой части программы. С противоположной стороной сделали аналогичную операцию, изображение результата приведено на рисунке 3.
Рисунок 3 - «Касательные окружности»
После добавления взаимосвязей необходимо было сделать вырез, который позволит удалить некоторый материал из детали. Для этого необходимо было выделить окружность и прилегающую к ней поверхность, нажать значок «Вытянутый вырез», поставить галочку в левой панели «Переставить сторону для выреза» и выставить угол выреза острых сторон многоугольника (например, 60 градусов). Полученный результат приведен на рисунке 4.
Рисунок 4 - «Деталь с вырезанным материалом»
Следующим этапом служило формирование отверстия детали, в центре, для резьбы. Для этого необходимо было выделить одну из поверхностей где будет находится вырез, создать эскиз окружности, применить автоматическое нанесение размеров и прописать необходимый диаметр. Далее следовало применить функцию «Вытянутый вырез» для созданного эскиза. После чего в правой части программы нужно применить граничное условие «Насквозь». На рисунке 5 представлен фрагмент полученного результата.
Рисунок 5 - «Деталь с вырезанным отверстием»
Следующим этапом служило создание фаски на угловых поверхностях отверстия (т.е. на кромках). Для этого необходимо было выбрать окружности вырезанной поверхности с двух сторон и применить функцию «скругление-фаска» с определенным размером, результат показан на рисунке 6.
Рисунок 6 - «Окружности отверстия с фаской»
Таким же образом производим с противоположной стороны. Завершающим этапом построения детали сложило формирование резьбы в отверстии. Для этого необходимо было создать окружность выше отверстия, применить функцию «Кривые-спираль», и соответственно определить ее размеры. Далее нужно создали небольшой эскиз треугольника, который и будет разрезать отверстие по спирали. На рисунке 7 представлен фрагмент выполненных действий.
Рисунок 7 - «Эскиз треугольника»
После вышеперечисленных операций, выделили эскизы, с которыми работали ранее (треугольник и спираль) и применили к ним функцию «Вырез по траектории», такой подход позволяет сформировать резьбу с определенным вырезом, заданным пользователем. Конечный результат построения трехмерной модели «Гайка», приведен на рисунке 8.
Рисунок 8 - «Трехмерная модель Гайки»
Важным этапом разработки функционала сайта являлись конфигурации деталей, которые будут выводится на портале с имеющимися размерами, необходимыми пользователю. Первым делом добавили конфигурации с соответствующими названиями, список которых представлен на рисунке 9.
Рисунок 9 - «Список созданных конфигураций»
Далее сформировали электронную таблицу с размерами трехмерной деталии связь между ними, что позволит, не открывая проект, изменять размеры определенных поверхностей. На рисунке 10 приведен фрагмент таблицы формата «.xls», в которой сразу же прописали названия столбцов таблицы для понятного вывода пользователю на сайте. Идентификация размеров поверхностей производится по названию эскиза, которые описываются во второй строке электронной таблицы.
Рисунок 10 - «Электронная таблица конфигураций»
Остальные модели были разработаны аналогичным образом со своими определенными конфигурациями. Файлы проектов и электронных таблиц будут храниться на сервере, которые будут формироваться при выборе пользователем детали, и скачиваться на ПК.
3.2 Разработка API-приложения для выбранной среды разработки
В качестве среды разработки был выбран программный пакет SolidWorks, что описывалось ранее. В данном ПО так же присутствует API - интерфейс, позволяющий разрабатывать пользовательские приложения для данной системы. Этот интерфейс содержит множество функций, которые можно вызывать из различных программ Microsoft Visual/Studio/C++/Basicдающие возможность программисту воспользоваться функциями напрямую, с помощью программного кода.Для полноценной работоспособности функционала сайта, был написан код, позволяющий при скачивании определенной детали пользователем, запустить систему SolidWorks на стороне сервера, открыть файл проекта детали, находящийся так же на сервере, и применить соответствующую конфигурацию, то есть тот размер модели который выбрал сам пользователь. В программе Microsoft VisualStudio, был создан проект веб сайта на языке C# и технологией создания веб-приложений ASP.NET.
Для того чтобы подключить динамические библиотеки для работы с интерфейсом API в окне Solution Explorer открыли «Ссылки» (References) и во всплывающем меню выбрали пункт «Добавить ссылку» и добавили библиотеку «SolidWorks.Interop.sldworks.dll». Далее необходимо было в самом приложении в классах где это необходимо (т.е. в тех, в которых будет использоваться программный код, связанный с работой в SolidWorks) подключить соответствующее пространство имен, такие как «using SolidWorks.Interop.sldworks». После чего объявили глобальные переменные «SldWorks swAp» и «IModelDoc swSoc», которые позволят обращаться к системе и самой модели. Далее прописали код для закрытия действующего процесса SolidWorks, чтобы не возникало ошибок при формировании файла проекта детали. После чего объявили GUID системы он является статистическим уникальным 128-битным идентификатором, который позволяет создавать расширяемые сервисы и приложения без опасения конфликтов с какой-либо похожей системой или такой же программой другой версии. Далее программа SolidWorks на стороне сервера,открывает в скрытном режиме, проект трехмерной модели, выбранный пользователем исвойства конфигурации, затем выбирает программно именно тот параметр, который так же предпочел пользователь. Вслед за тем, на сервере формируется файл с выбранной конфигурацией и сохраняется во временную папку «Temp». Система SolidWorksзакрывается и сохраняет пользователю на ПК файл проекта из временной папки (см. Приложение 1). В конечном итоге из временной папки удаляется проект. Таким образом пользователь получает сформированный системой файл, с определенными размерами выбранной им трехмерной модели.
4. ТЕСТИРОВАНИЕ РАЗРАБОТАННОГО ФУНКЦИОНАЛА ДЛЯ ПОРТАЛА-ХРАНИЛИЩА
Для тестирования разработанного функционала первым делом необходимо запустить проект веб-приложения, созданный ранее (см. Часть 1). Расположение элементов и структура сайта представлена на рисунке 11.
Рисунок 11 - «Структура и расположение элементов сайта»
На сайте при нажатии на каталог деталей, открывается список, подразделяющий корневое название каталога на список имеющихся трехмерных моделей определенной формы. Затем при выборе какой-либо модели из списка, на сайт считывается данные из электронной таблицы конфигурации созданного ранее проекта детали, с прописанными столбцами, и соответственно без идентификаторов эскизов для удобного чтения размеров. Как заметно на рисунке 11, ниже таблицы отображается картинка выбранной детали, которая считывается с сервера из папки «images». В выпадающем списке выводятся названия имеющихся в таблице размеров конфигураций.
При нажатии на кнопку «Скачать» происходит запуск системы и формирование файла, на стороне сервера, по выбранному размеру. Таким образом, на рисунке 12 приведен фрагмент скаченного файла пользователю на ПК.
Рисунок 12 - «Скаченный файл с сервера»
После скачивания файла, происходит его удаление с сервера из временной папки «Temp».
ЗАКЛЮЧЕНИЕ
При внедрении и выборе САПР безусловно важен функционал системы, который должен быть достаточным для решения конкретных производственных задач предприятия, но не менее важным является и критерий времени внедрения, адаптации персонала к новым современным методам компьютерного проектирования. А здесь у SolidWorks нет равных по быстроте освоения, благодаря интуитивно понятному интерфейсу. Поддержка русского языка и ЕСКД безусловно предопределяют успех SolidWorks в России.
Таким образом, в результате выполнения курсовой работы, был разработан функционал для веб-сайта каталога трехмерный деталей для CAD-системы. Так же изучены общие понятия и принципы разработки в программном обеспечении САПР, изучены инструменты, функции и параметры разработки трехмерных деталей и API-интерес в выбранной среде разработки, что говорит о выполненных задачах, поставленных в курсовой работе.
Уникальность разработанного функционала заключается в том, что на сервере находится один файл конкретной детали, при его скачивании, на сервере запускается файл проекта и применяется конкретная конфигурация с размерами детали, сохраняя этот проект пользователю. Это говорит об оптимальном содержании файлов на сервере, то есть нет необходимости создавать отдельные проекты деталей со своими размерами. Вдобавок, на сервере имеются электронные таблицы размеров трехмерных моделей, что позволяет разработчику в любое время изменить размеры определенной поверхности детали, при этом данные обновятся и на сайте, и в самом проекте.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Быков А., Карабчеев К. Эффективные технологии подготовки производства на базе CAD/CAM ADEM CАПР и графика. Компьютер Пресс, 2007. № 6. - 44 с.
2.Майстренко Н.В., Майстренко А.В. Программное обеспечение САПР. Операционные системы: Учебное пособие. - Тамбов: Издательство ТГТУ, 2007. - 99 с.
.Норенков И.П. Автоматизированное проектирование. Учебник. Серия: Информатика в техническом университете. - M.: Изд-во МГТУ им. Н.Э. Баумана, 2006. - 380 с.
.Петров А.В. Проблемы и принципы создание САПР. - М.: Высшая школа, 2008. - 160 с.
.Юзмухаметов А. Автоматизация получения технической документации в ADEM САПР и графика.Компьютер Пресс. 2006. № 2. - 99 с.
.Кондаков А.И. САПР технологических процессов и производств. ACADEMA, 2007.
ПРИЛОЖЕНИЕ
Код запуска системы SolidWorksи формирование файлаvoid RunSldWorks()//функция запуска и формирования файла
{= Label5.Text;[] processes = Process.GetProcessesByName("SLDWORKS");(Process process in processes)//завершениепроцессаеслионзадействован
{.CloseMainWindow();.Kill();
}myGuid1 = new Guid("6894540C-3171-484F-9E97-6A962559BA30");//идентификациясистемыprocessSw = System.Activator.CreateInstance(System.Type.GetTypeFromCLSID(myGuid1));= (SldWorks)processSw;.Visible = false;//скрытиезапускасистемыswDoc = null;boolstatus = false;longstatus = 0;longwarnings = 0;= ((ModelDoc2)(swApp.ActiveDoc));//взаимодействиесактивнымдокументов= swDoc.Extension.SelectByID2;= swApp.OpenDoc6("E:\\File_server\\Models\\" + NameTable + ".SLDPRT", 1, 0, "", longstatus, longwarnings);//Открытиепроектадетали.ActivateDoc2(""+ NameTable + ".SLDPRT", false, longstatus);//взаимодействиесоткрытымдокументом= swDoc.Extension.SelectByID2(razmer, "CONFIGURATIONS", 0, 0, 0, false, 0, null, 0);//Открытиеконфигурациивыбраннойпользователем= swDoc.ShowConfiguration2(razmer);= ((ModelDoc2)(swApp.ActiveDoc));.ShowComponent2();= swDoc.Extension.SelectByID2("" + NameTable + "_temp.SLDPRT", "COMPONENT", 0, 0, 0, false, 0, null, 0);= swDoc.SaveAs3("E:\\File_server\\Temp\\" + NameTable + "_temp.SLDPRT", 0, 2);//сохранениепроектасопределеннойконфигурацией= null;.CloseDoc("" + NameTable + "_temp.SLDPRT");
Response.ContentType = "Temp/SLDPRT";//закрытие временно сохраненного проекта
Response.AppendHeader("Content-Disposition", "attachment; filename=" + NameTable + "_temp.SLDPRT");.TransmitFile(Server.MapPath("~/Temp/" + NameTable + "_temp.SLDPRT"));
Response.Flush();//скачивание проекта с определенной конфигурацией на ПК пользователю.Delete(Server.MapPath("~/Temp/" + NameTable + "_temp.SLDPRT"));//удаление временного проекта с сервера
}