Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx180 / Kursach(44).docx
Скачиваний:
85
Добавлен:
07.08.2013
Размер:
191.02 Кб
Скачать

5.Разработка приложения,обеспечивающего взаимодействие с solidworks.

В последнее время сильно возрос интерес к САПР SolidWorks не только в плане 3D-моделирования, но и в отношении разработки прикладного программного обеспечения, автоматизирующего различные этапы проектно-конструкторских работ. Всё чаще  пользователи SolidWorks задаются вопросос, как наилучшим образом они могут использовать API для решения своих задач; всё чаще применяется API при разработке коммерческих программных продуктов и модулей интеграции САПР с PDM или ERP. Это обусловлено тем, что использование SolidWorks API —удобный способ гибко настроить информационную систему на решение задач конкретного предприятия. Благодаря этому в настоящий момент SolidWorks является одной из самых популярных систем проектирования как в России, так и во всем мире.

API содержит сотни функций, которые можно вызывать из программ Microsoft Visual Basic, VBA (Microsoft Excel, Word, Access и т.д.), Microsoft Visual C, C++, .NET или из файлов-макросов SolidWorks. API-функции обеспечивают прямой программный доступ к функциональным возможностям пакета SolidWorks. Это нужно для того , что если для проектирования изделий в среде CAD-системы возможностей обычного пользовательского интерфейса более чем достаточно, то для решения задач интеграции приложений на уровне единой ИС предприятия требуется увязать между собой разнородные программные продукты, наладив между ними полноценное информационное взаимодействие. Здесь без API уже не обойтись. Таким образом, наиболее распространенными сферами применения интерфейса прикладного программирования SolidWorks являются:

•  интеграция SolidWorks с различными Windows-приложениями (CAD/CAM/CAE/PDM/ERP, MS Office, Windows API и др.), подразумевающая создание интерфейсов передачи данных, вызова сервисных утилит, преобразования данных и т.п.;

•  разработка прикладных модулей, добавляющих к базовым возможностям САПР SolidWorks дополнительный функционал в какой-либо специальной предметной области, например решение задач оптики, акустики и т.п.

Интерфейс прикладного программирования поставляется в составе базовой конфигурации САПР SolidWorks. Помимо базового конструкторского решения API имеется у всех основных модулей, входящих в пакет SolidWorks, к которым прежде всего относятся Toolbox, FeatureWorks, Utilities, PhotoWorks, eDrawings, Routing, SWR-PDM, SWR-Электрика. Динамические библиотеки типов и констант, отвечающие за работу API, автоматически инсталлируются на компьютер при установке программы. Таким образом, каждое рабочее место САПР SolidWorks по умолчанию оснащено интерфейсом прикладного программирования, что открывает перед разработчиками широкие возможности.

В данной лабораторной работе будет описана разработка приложения WindowsFormна языке С# вVisualStudio2012.

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающихинтегрированную среду разработкипрограммного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать какконсольныеприложения, так и приложения сграфическим интерфейсом, в том числе с поддержкой технологииWindows Forms, а такжевеб-сайты,веб-приложения,веб-службыкак вродном, так и вуправляемомкодах для всех платформ, поддерживаемыхMicrosoft Windows,Windows Mobile,Windows CE,.NET Framework,.NET Compact FrameworkиMicrosoft Silverlight.

Для разработки ПО, обеспечивающего взаимодействие с Solidworks нужно установить API SDK от Solidworks. Затем требуется запустить Visual Studio и создать проект, для этого в Visual Studio выбираем "Файл" - "Создать проект". В появившемся окне выбираем "Приложение Windows Forms. Чтобы обеспечить взаимодействие с Solidworks нужно подключить библиотеки SolidWorks.Interop.sldworks.dll, SolidWorks.Interop.swconst.dll, SolidWorks.Interop.swcommands.dll.Библиотека Interop.swcommands обеспечивает поддержку клавиатуры и мыши, а библиотеки Interop.sldworks.dll SolidWorks.Interop.swconst.dll дают доступ к моделированию и проектированию. Для их подключения нужно нажать «Ссылки» - «Добавить ссылку» и выбрать нужные нам библиотеки.

Далее следует добавить кнопку на форму, которую мы создаем. Это возможно сделать, нажав правой кнопкой мыши по форме в дереве проектирования и выбрав режим конструктора. После чего следует перетащить кнопку с панели элементов на данную форму, и двойным кликом активировать данную кнопку, затем назвать ее и описать функции, которые она будет выполнять. В данной лабораторной работе созданная кнопка будет выбирать плоскость чертежа, открывать эскиз и рисовать окружность.

Написание кода программы осуществляется при переходе из режима конструктора в режим «исходный код».

Для работоспособности созданного приложения до его запуска нужно открыть SolidWorksи создать пустой новый файл.

Ниже описан код разработанного приложения:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using SolidWorks.Interop.sldworks;

using SolidWorks.Interop.swcommands.dll;

using SolidWorks.Interop.swconst.dll;

using System.Runtime.InteropServices;

namespace Project1

{

public partial class Form1 : Form

{

SldWorks SwApp;

IModelDoc2 swModel;

bool boolstatus;

public Form1()

{

InitializeComponent();

try.

{

SwApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");

}

catch

{

MessageBox.Show("Не удалось подключиться к solidworks");

return;

}

if (SwApp.IActiveDoc == null) {

MessageBox.Show("Надо открыть документ SW перед использованием");

System.Environment.Exit(-1)

}

swModel = SwApp.IActiveDoc2;

}

private void button1_Click(object sender, EventArgs e)

{

SketchManager swSkM;

SketchSegment skSegment;

swSkM = swModel.SketchManager;

swModel.Extension.SelectByID2("Спереди", "PLANE", 0, 0, 0, false, 0, null, 0);

swSkM.InsertSketch(true);

skSegment = swSkM.CreateCircle(0, 0, 0, 0.8, 0.3, 0);

swSkM.InsertSketch(true);

swModel.ClearSelection2(true);

}

}

Поля using - это текстовые указатели всех используемых в программе библиотек.Например пространство имен System.Data содержит классы для доступа к данным из различных источников и для управления этими данными. Пространство имен верхнего уровня и несколько дочерних пространств имен образуют архитектуру ADO.NET и поставщики данных ADO.NET. Например, доступны поставщики для SQL Server, Oracle, ODBC и OleDB. Другие дочерние пространства имен содержат классы, используемые моделью EDM ADO.NET и службами данных WCF.

Namespace - пространство имен. Когда есть большое число классов (файлы в обозревателе решений), и для того, чтобы можно было обращаться из одного в другой, они должны быть объединены в единое пространство - это и есть пространство имен.

Public partial class- объявление класса. Form1 - название формы. Form - производный класс, т.е. создается класс с именем Form1 который наследует все свойства класса Form. Класс Form - это много разных функций, операторов, констант, которые умеет делать форма. public Form1()- это начало инициализации формы. С этих строчек начинается выполнение программы.

SldWorks SwApp иIModelDoc2 swModel это добавление переменных класса.

Блоком trycatch обычно «оборачивают» участок кода, который вызывает ошибку, и если она появляется то распознает ее.

SwApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");-подключение к SolidWorks.

System.Environment.Exit(-1)-выход из программы, если не выполняются условия.

swModel.Extension.SelectByID2("Спереди", "PLANE", 0, 0, 0, false, 0, null, 0);-выбор плоскости.

swSkM.InsertSketch(true);-вставка эскиза в режиме редактирования.

skSegment = swSkM.CreateCircle(0, 0, 0, 0.8, 0.3, 0);-рисование окружности.

swSkM.InsertSketch(true); -закрытие эскиза.

swModel.ClearSelection2(true); -снятие выделения с линии.

После написания кода, следует запустить откладку для обнаружения каких либо ошибок. Убедившись в правильности исходного кода, запускаем программу, которая открывает форму с созданной кнопкой, жмешь на кнопку и видим в окне Solidworksсоздание плоскости рисования , создание эскиза и рисования окружности. Программа выполнена.

Соседние файлы в папке курсач docx180