Работа с SolidWorks

Характеристика SolidWorks как системы автоматизированного проектирования, а также особенностей работы с ней. Описание порядка создания приложения Windows Forms и организации работы с SolidWorks. Описание результатов работы спроектированного приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 24.04.2017
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лабораторная работа № 6:

SolidWorks -- работа с SolidWorks

Содержание

Вводная часть

1. Создание приложения Windows Forms

2. Модификация приложения Windows Forms: eDrawings 2012

3. Модификация приложения Windows Forms: организация работы с SolidWorks через приложение

Завершающая часть

О приложении к Лабораторной работе № 6

Вводная часть

В этой работе будет рассмотрены некоторые особенности работы с программным комплексом САПР: SolidWorks (версии 2012 с установленным пакетом обновлений Service Pack 2.0).

Рис. 1. 1. Логотип разработчика Dassault Systemes

SolidWorks -- система автоматизированного проектирования, инженерного анализа и подготовки производства изделий любой сложности и назначения, разрабатываемая и поддерживаемая компанией SolidWorks Corp. (США), подразделением Dassault Systemes (Франция). SolidWorks является ядром интегрированного комплекса автоматизации предприятия, с помощью которого осуществляется поддержка жизненного цикла изделия в соответствии с концепцией CALS-технологий, включая двунаправленный обмен данными с другими Windows-приложениями и создание интерактивной документации.

Разработка SolidWorks началась в 1993 г., продажи стартовали в 1995 г. Система стала первой САПР, поддерживающей твердотельное моделирование для платформы Windows. 30 апреля 2009 г. было объявлено о продаже 1,000,000-ой лицензии на SolidWorks.

В версии SolidWorks 2009 помимо стандартного мощного набора инструментария API (Application Programming Interface) была добавлена поддержка языков Microsoft Visual Basic .NET и Visual C#.

Рис. 1. 2. Выдержка из русскоязычной справки о новых возможностях SolidWorks 2009

По умолчанию, для работы с макросами на VB.NET или Си-шарп (создаваемыми при записи самой программой SolidWorks) используется так называемый VSTA: Visual Studio Tools for Applications. VSTA представляет собой набор инструментов, который независимые поставщики программного обеспечения (ISV) могут использовать для создания настроечных возможностей в своих приложениях для автоматизации и расширения. Эти возможности могут использоваться конечными пользователями в рамках управляемых расширений.

Visual Studio Tools for Applications был объявлен Microsoft с выпуском Visual Studio 2005. Первый Community Technology Preview (CTP) из Visual Studio для приложений был выпущен в апреле 2006 года. Он входит в состав Office 2007 для использования конечными пользователями и разработчиками бизнес-приложений, и SDK доступна отдельно для независимых поставщиков ПО.

Текущей версией является Visual Studio Tools for Applications 2.0. Вторая версия Visual Studio Tools for Applications включает в себя такие функции, как динамическое программирование модели и поддержка WPF, WCF, WF, LINQ и NET 3.5.

Независимые поставщики программных продуктов желающих интегрировать Visual Studio Tools for Applications в свои приложения должны платить за лицензию Microsoft.

1. Создание приложения Windows Forms

Для работы с макросами в SolidWorks используется VSTA (Visual Studio 2005), и запись макроса на C# производится в специальный шаблон проекта. После окончания записи, происходит запуск VSTA, загрузка шаблона и весь код из SolidWorks копируется в определённое место шаблона. По умолчанию пустой шаблон (поставляемый с SolidWorks 2012) достаточно примитивен и несовместим для преобразования (из старого типа проекта в новый) с Visual Studio 2010 (только с Visual Stduio 2005 и 2008). Не меняя шаблон по умолчанию и не используя так называемые шаблоны «дополнений» (Addin) работать с проектами макросов напрямую из Visual Studio 2010 нельзя. Однако ничто не запрещает копировать записанный код в заранее подготовленный проект под Visual Studio 2010. Также сам VSTA не позволяет создавать исполняемые файлы на основе записанных макросов, а лишь библиотеки. Сам SolidWorks способен запускать и исполнять эти библиотеки (*.dll) или собственные макросы (*.swp и *.swb):

Запускаем Visual Studio 2010, откроется Начальная страница:

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl+Shift+N или пункт «Создать проект…» на Начальной странице):

Рис. 2. 1. Создание нового проекта

Выберем слева в пункте Установленные шаблоны язык Visual C#, далее найдём в списке Приложение Windows Forms. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем .NET Framework 4.

Рис. 2. 2. Окно создания нового проекта

В поле Имя вводим LWP06SW01 -- это название программы (выбрано по названию лабораторного практикума, номеру и названию работы). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

Рис. 2. 3. Вводим данные нового проекта приложения Windows Forms

После нажатия клавиши ОК мы увидим сформированный проект и исходный код приложения Windows Forms (не пустого изначально).

Рис. 2. 4. Обозреватель решений: состав проекта приложения Windows Forms сформированного средой разработки

Теперь, можно откомпилировать созданную программу, нажав клавишу F5 ( Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально).

Рис. 2. 5. Запуск приложения Windows Forms по конфигурации Debug

2. Модификация приложения Windows Forms: eDrawings 2012

Для начала изменим размер нашей единственной формы. Для этого можно потянуть за уголок в нужном направлении на странице визуального представления формы1. Но также размер можно менять на панели свойств этой формы. Для этого нужно поменять значение размера в пикселях (высоту и ширину) в поле Size.

ПРИМЕЧАНИЕ № 1: Для перехода на визуальное представление формы, необходимо двойным нажатием в обозревателе решений нажать на значок формы () или выбрать вкладку на панели вкладок с именем <имя формы>.cs [Конструктор].

Задаём следующие параметры формы на панели Свойства:

(Name)

изменим с Form1.cs2 на LWP06Main

^ Поменяем внутреннее имя формы.

Text

изменим с Form1 на Работа с SolidWorks *C#)

^ Поменяем заголовок формы (то что отображается в шапке приложения слева).

Icon

изменим изображение (иконку) приложения

Необходим файл значка *.ico.

Size

изменим со значений 300; 300 на 640; 480

^ Поменяем размер формы.

ПРИМЕЧАНИЕ № 2: Для того, чтобы поменять имя файла нашей формы, необходимо выполнить следующее: выделить в обозревателе решений значок формы () и нажать правую кнопку мыши, затем выбрать Переименовать. Ввести необходимое новое имя СОХРАНЯЯ расширение *.cs. После смены имени, автоматически поменяются имена проассоциированных непосредственно с формой файлов:

Получим нечто подобное:

Рис. 3. 1. Модифицированная форма приложения

Добавим на нашу форму ToolTip ().

Параметры добавленного элемента всплывающей подсказки таковы:

(Name):

Hint

Установим на форме в левом верхнем углу кнопку Button. Параметры кнопки будут следующими:

(Name):

eDButton

Text:

Выбрать деталь, чертёж или сборку

Size:

200; 23

Теперь добавим сам элемент, отвечающий за просмотр детали (чертежа или сборки). Для этого добавим на панель элементов новый элемент: eDrawings 2012 Control.

Для добавления последовательно выполним: Сервис -> Выбрать элементы панели элементов... ->в открывшемся окне перейти на вкладку COM-компоненты:

Рис. 3. 2. Добавление нового элемента eDrawings 2012 Control

Если по каким-либо причинам в списке COM-объектов его не окажется, нажмём Обзор и найдём EModelView.dll. Искать необходимо в директории: <исходный путь до директории установки SolidWorks>\SolidWorks eDrawings\

Добавленный элемент теперь можно использовать:

Перетащим этот элемент на форму и растянем, как показано на рисунке ниже:

Рис. 3. 3. Начальная расстановка элементов

Параметры добавленного элемента eDrawings таковы:

(Name):

eDView

ToolTip на Hint:

Деталь, чертёж или сборка

Двойным щелчком по кнопке eDButton создаём событие Click, код такой:

private void eDButton_Click(object sender, EventArgs e)

{

eDview.OpenDoc("C:\\Test.sldprt", false, false, true, "");

}

Путь к файлу указывается в самом начале, первый параметр false указывает на принадлежность isTemp файла (временный ли файл?). Второй false: определяет можно ли сохранять в файл что-либо. Третий параметр true устанавливает параметр только для чтения на файл.

Компилируем приложение (Debug) и запускаем. В корневой каталог поместим любой файл с деталью, чертежом или сборкой под названием «Test.sldprt». После нажатия кнопки, этот файл будет открыт компонентом eDrawings и будет отображено содержимое (на рисунке ниже сборка показана циклона, отображённая в компоненте). Результат работы показан ниже (Рис. 3. 4):

Рис. 3. 4. Работа COM-компонента eDrawings 2012 Control

При нажатии правой клавиши мышки в области просмотра открывается встроенное меню просмотра (на рисунке выше). Вид можно приближать и отдалять (среднее колесо мыши), а также вращать (при нажатой ЛКМ).

Немного усовершенствуем приложение. Организуем возможность открытия любого файла детали, чертежа или сборки, а также файлов, которые можно открывать в самой eDrawings 2012. Добавим обычное поле редактирования TextBox:

(Name):

eDPath

ReadOnly:

True

Разместим его в свободном месте между кнопкой и COM-компонентом на нашей форме. Также добавим элемент OpenFileDialog, открывающий стандартный диалога выбора файла при помощи проводника Windows ():

(Name):

eDFind

FileName:

Деталь, чертёж или сборка

Отредактируем код единственной кнопки так:

private void eDButton_Click(object sender, EventArgs e)

{

eDFind.ShowDialog();

eDPath.Text = eDFind.FileName;

eDview.OpenDoc(eDPath.Text, false, false, true, "");

}

Компилируем приложение (Debug) и запускаем. Теперь можно открывать для просмотра любой файл, созданный в SolidWorks не загружая самих программ из набора SolidWorks.

Рис. 3. 4. Работа COM-компонента eDrawings 2012 Control

3. Модификация приложения Windows Forms: организация работы с SolidWorks через приложение

Теперь, попытаемся сделать вот что. Допустим нам нужно, чтобы наше приложение запускалось отдельно, но при необходимости оно могло открывать SolidWorks и что-то делать (например, строить элемент по размерам из приложения). Такой способ работы противоположен концепции использования макросов после запуска SolidWorks и гораздо медленнее (необходимость запускать SolidWorks пусть даже и в фоновом режиме). Однако бывают ситуации, когда такой подход необходим.

Для начала необходимо подключить необходимые библиотеки (подключим их через добавление ссылок в проект). Ссылки две: SldWorks и SwConst. Для добавления, нажмём ПКМ в обозревателе решений на пункте Ссылки, далее в контекстном меню Добавить ссылку... и в открывшемся окне перейдём на вкладку COM. Теперь, нам нужно добавить два компонента (для SolidWorks 2010-2012 все компоненты называются одинаково, различаются только цифрой в версии). Нам нужено (Имя компонента): SldWorks 2012 Type Library и SolidWorks 2012 Constant type library. Обе библиотеки располагаются в корневом каталоге SolidWorks (<исходный путь до директории установки SolidWorks>\SolidWorks\):

solidworks автоматизированный проектирование приложение

Рис. 4. 1. Добавить ссылку: выбор нужных компонентов для добавления

Рис. 4. 2. Результат добавления новых ссылок

Теперь нужно, чтобы наше приложение выполняло запуск лишь в том случае, если не запущено других экземпляров SolidWorks. Сделаем проверку на загрузку процесса SLDWORKS.exe в коде. Добавим в самом низу формы три кнопки: Запустить SolidWorks и Послать команду.

Запустить SolidWorks, создать деталь (Button):

(Name):

BStart

Text:

Запустить SolidWorks, создать деталь

Size:

300; 23

Послать команду, выгрузить (Button):

(Name):

BSend

Text:

Послать команду, выгрузить

Size:

300; 23

Фоновый режим (запуск, действие, выгрузка) (Button):

(Name):

BHide

Text:

Фоновый режим (запуск, действие, выгрузка)

Size:

300; 23

Впишем ещё одну ссылку для работы со списком запущенных процессов в самое начало файла LWP06Main.cs:

using System.Diagnostics;

А также ещё две ссылки:

using SldWorks;

using SwConst;

Первая кнопка будет запускать SolidWorks (если не запущено других экземпляров приложения) и создавать там пустую деталь. Добавим код события Click для кнопки BStart:

private void BStart_Click(object sender, EventArgs e)

{

BHide.Enabled = false;

swApp = new SldWorks.SldWorks(); // Создаём экземпляр Solidworks приложения (SolidWorks 2012)

if (swApp == null) // Если SolidWorks не запустился, посылаем сообщение; если запустился, гасим кнопку запуска

{ MessageBox.Show("Невозможно запустить экземпляр SolidWorks 2012!", "Работа с SolidWorks (C#) :: Запуск SolidWorks"); }

else

{

BStart.Enabled = false;

BHide.Enabled = false;

}

swApp.Visible = true; // Вытаскиваем окно SolidWorks из фонового режима

swApp.NewPart(); // Создаём документ с новой деталью

}

Вторая кнопка будет вызывать всплывающее окно в SolidWorks средствами API с той информацией, которую будет передавать из нашего приложения, а затем выгружать SolidWorks. Добавим код события Click для кнопки BSend:

private void BSend_Click(object sender, EventArgs e)

{

try

{

swApp.SendMsgToUser2("Посылаем команды в открытое приложение SolidWorks!", (int)SwConst.swMessageBoxIcon_e.swMbInformation, (int)SwConst.swMessageBoxBtn_e.swMbOk);

// Выгрузка фонового процесса не произойдёт из-за некорректного объявления экземпляра класса;

// это было допущено сознательно для демонстрации возможностей работы открытого приложения и самого Solidworks.

// Правильная работа ExitApp() будет реализована так:

// некая_функция() {

// SldWorks.SldWorks swApp = new SldWorks.SldWorks();

// /* действия */

// swApp.ExitApp();

// swApp = null;

// }

swApp.ExitApp();

/* Выгрузим процесс */

foreach (Process PSW in Process.GetProcessesByName(SW))

PSW.Kill();

}

catch { MessageBox.Show("Невозможно послать команду экземпляру SolidWorks 2012: экземпляр приложения не найден!", "Работа с SolidWorks (C#) :: Отсылка команды в SolidWorks"); }

}

Также для главного окна формы (LWP06Main) инициализируем событие MouseEnter. Для этого один нажмём на заголовок формы в поле конструктора, перейдём на свойства формы и нажмём на знак молнии (События). Код события MouseEnter:

private void LWP06Main_MouseEnter(object sender, EventArgs e)

{

PList = Process.GetProcessesByName(SW); // Получаем список процессов с именем SLDWORKS

if (PList.Length == 0) // Если такого процесса нет, активируем кнопку запуска SolidWorks

{

BStart.Enabled = true;

BHide.Enabled = true;

}

}

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

Добавим объявление переменных после строчки:

public partial class LWP06Main : Form

{

Впишем:

String SW = "SLDWORKS";

Process[] PList;

SldWorks.SldWorks swApp;

Функцию LWP06Main() перепишем так:

public LWP06Main()

{

InitializeComponent();

BStart.Enabled = false;

BHide.Enabled = false;

}

Последняя кнопка (BHide) будет выполнять фоновую загрузку SolidWorks, построение3 простой детали, сохранение на диск этой детали и выгрузку самого Solid'а.

ПРИМЕЧАНИЕ № 3: При записи макроса на языке C# могут возникнуть проблемы с работой VSTA и непосредственно передачей кода в шаблон. В случае, если макрос на основе шаблона не создаётся или не записывается код (открывается пустой VSTA), необходимо:

1. Вручную, в самом VSTA создать проект макроса (File -> New Project... далее выбрать SolidWorksMacro).

2. Не закрывая VSTA, попытаться снова записать свои действия.

3. После нажатия на кнопку Остановить запись макроса, SolidWorks предложит выбрать имя для проекта и место куда сохранить код).

4. VSTA должен будет создать корректный проект на основе шаблона и скопировать в него код из SolidWorks, имя проекта будет соответствовать выбранному.

5. Ранее открытый пустой проект в VSTA не будет сохранён.

Рис. 4. 3. VSTA: New Project

Если в VSTA отсутствует шаблон проекта, этот шаблон необходимо поместить в соответствующую директорию. По умолчанию VSTA подгружает шаблоны из директории (для Windows XP, русская версия): Мои документы\SolidWorks Visual Studio Tools for Applications\Templates\ProjectTemplates\Visual C#. В эту директорию необходимо скопировать шаблон из стандартной поставки SolidWorks (solidworks_macro.zip), который можно найти по следующему пути:<исходный путь до директории установки SolidWorks>\SolidWorks\data\VSTA\csharp\1033\

Копировать необходимо архив без распаковки. Также стоит проверить пути, которые использует VSTA для работы с SolidWorks. Для этого выполним в VSTA: Tools -> Options, нажать на Project and Solutions.

Главные пути:

Visual Studio user project templates location:

Для Windows XP, русская версия: Мои документы\SolidWorks Visual Studio Tools for Applications\Templates\ProjectTemplates

Для Windows 7, русская версия: Documents\SolidWorks Visual Studio Tools for Applications\Templates\ProjectTemplates

Visual Studio user item templates location:

Для Windows XP, русская версия: Мои документы\SolidWorks Visual Studio Tools for Applications\Templates\ItemTemplates

Для Windows 7, русская версия: Documents\SolidWorks Visual Studio Tools for Applications\Templates\ItemTemplates

Также, в случае если есть проблемы с записью макросов, стоит сделать следующее: в SolidWorks зайти в Параметры, в разделе Общие найти и снять галочку с пункта Остановить отладчик VSTA при завершении работы макроса и поставить галочку в пункте Автоматически редактировать макрос после записи.

Рис. 4. 4. Настройка SolidWorks для работы с VSTA

В случае успешной записи макроса, его работу можно проверить следующим образом: скомпилировать dll в VSTA: Build -> Build <имя макроса>. Запустить скомпилированный dll (из директории <имя макроса>\SwMacro\bin\Release) в SolidWorks на новой детали (Выполнить макрос). Основная панель для работы с макросами в SolidWorks выглядит так:

Возвращаемся к кнопке нашего приложения, которая будет строить деталь в SolidWorks. Скопируем код записанного макроса построения простенькой детали в наш проект, а именно в код события Click для кнопки BHide:

private void BHide_Click(object sender, EventArgs e)

{

BStart.Enabled = false;

SldWorks.SldWorks swAppHide = new SldWorks.SldWorks();

if (swAppHide == null)

{ MessageBox.Show("Невозможно запустить экземпляр SolidWorks 2012!", "Работа с SolidWorks (C#) :: Запуск SolidWorks"); }

else

{

BStart.Enabled = false;

BHide.Enabled = false;

}

swAppHide.Visible = false;

swAppHide.NewPart();

// Начало макроса

ModelDoc2 swDoc = null;

PartDoc swPart = null;

DrawingDoc swDrawing = null;

AssemblyDoc swAssembly = null;

bool boolstatus = false;

int longstatus = 0;

int longwarnings = 0;

swDoc = ((ModelDoc2)(swAppHide.ActiveDoc)); // В макросе было использовано swApp

swDoc = ((ModelDoc2)(swAppHide.ActiveDoc)); // В макросе было использовано swApp

boolstatus = swDoc.Extension.SelectByID2("Спереди", "PLANE", 0, 0, 0, true, 0, null, 0);

RefPlane myRefPlane = null;

myRefPlane = ((RefPlane)(swDoc.FeatureManager.InsertRefPlane(8, 0.01, 0, 0, 0, 0)));

swDoc.ClearSelection2(true);

swDoc.ClearSelection2(true);

Array vSkLines = null;

vSkLines = ((Array)(swDoc.SketchManager.CreateCornerRectangle(0, 0, 0, 0.070797287636592099, 0.045512542052094929, 0)));

swDoc.ClearSelection2(true);

SketchSegment skSegment = null;

skSegment = ((SketchSegment)(swDoc.SketchManager.CreateCircle(0.035399, 0.022756, 0.000000, 0.048625, 0.029175, 0.000000)));

swDoc.ClearSelection2(true);

swDoc.SketchManager.InsertSketch(true);

boolstatus = swDoc.Extension.SelectByID2("Line2@Эскиз1", "EXTSKETCHSEGMENT", 0, 0.017504823866190358, 0, false, 0, null, 0);

swDoc.ShowNamedView2("*Триметрия", 8);

swDoc.ClearSelection2(true);

boolstatus = swDoc.Extension.SelectByID2("Line2@Эскиз1", "EXTSKETCHSEGMENT", 0, 0.017504823866190358, 0, false, 0, null, 0);

Feature myFeature = null;

myFeature = ((Feature)(swDoc.FeatureManager.FeatureExtrusion2(true, false, false, 0, 0, 0.020000000000000004, 0.01, false, false, false, false, 0.017453292519943334, 0.017453292519943334, false, false, false, false, true, true, true, 0, 0, false)));

swDoc.ISelectionManager.EnableContourSelection = false;

swDoc.SetPickMode();

swDoc.ClearSelection2(true);

// Конец макроса

swDoc.SaveAsSilent("D:\\LWP06SW01-Деталь.sldprt", false);

swAppHide.ExitApp();

swAppHide = null;

MessageBox.Show("Деталь отрисована и сохранена на диск, работа SolidWorks 2012успещно завершена!", "Работа с SolidWorks (C#) :: Фоновый режим");

}

Код который записывает SolidWorks достаточно прост. Все операции по построению детали совершаются последовательно. SolidWorks записывает абсолютно все действия пользователя (даже повороты камеры во время построения), поэтому иногда целесообразнее останавливать запись, чтобы в макрос не шло лишних ненужных данных. Также имеет смысл останавливать запись и обновлять макрос для «вылавливания» части кода, который например, отвечает за размер детали (чтобы поставить в это место комментарий).

Макрос выше, сначала на виде Спереди вставляет справочную плоскость (расстояние от вида Спереди: 10 мм). Затем рисует Эскиз (который находится непосредственно на виде Спереди). Эскиз состоит из двух фигур: прямоугольника и окружности. Затем происходит вытягивание на 20 мм фигуры заключённой между внешнем прямоугольником и внутренней окружностью. Поясним код, который отвечает за размеры фигур:

boolstatus = swDoc.Extension.SelectByID2("Спереди", "PLANE", 0, 0, 0, true, 0, null, 0);

RefPlane myRefPlane = null;

myRefPlane = ((RefPlane)(swDoc.FeatureManager.InsertRefPlane(8, 0.01, 0, 0, 0, 0)));

swDoc.ClearSelection2(true);

Здесь по порядку:

1. Выбор вида Спереди.

2. Задание экземпляра объекта Плоскость.

3. Отрисовка плоскости, где 8 это параметр первого ограничения (первая привязка), а второй (0.01) и есть отступ в 10 мм по первой привязке (вид Спереди).\

4. Дальше идёт сбор выделения.

Array vSkLines = null;

vSkLines = ((Array)(swDoc.SketchManager.CreateCornerRectangle(0, 0, 0, 0.070797287636592099, 0.045512542052094929, 0)));

swDoc.ClearSelection2(true);

Это построение прямоугольника (эскиз как массив линий). Строит четыре линии от начальной точки (три первых нуля), до конечной. В качестве начальной выбрана Исходная точка. Конечная точка это:

· double X2 (ось X): ~70.7 мм.

· double Y2 (ось Y): ~45.5 мм.

· double Z2: 0.

SketchSegment skSegment = null;

skSegment = ((SketchSegment)(swDoc.SketchManager.CreateCircle(0.035399, 0.022756, 0.000000, 0.048625, 0.029175, 0.000000)));

swDoc.ClearSelection2(true);

swDoc.SketchManager.InsertSketch(true);

Построение окружности (по двум точкам: точка центра и точка на самой окружности). Первый три координаты (double XC, double YC и double Zc) отвечают за положение точки центра на эскизе. Последние три: за положение точки на окружности. Как видно, функция отрисовки окружности не хранит напрямую параметр радиуса и диаметра. В конце кода выше после строчки выполняющей снятие выделения идёт строчка вставки эскиза (завершение его редактирования).

boolstatus = swDoc.Extension.SelectByID2("Line2@Эскиз1", "EXTSKETCHSEGMENT", 0, 0.017504823866190358, 0, false, 0, null, 0);

Feature myFeature = null;

myFeature = ((Feature)(swDoc.FeatureManager.FeatureExtrusion2(true, false, false, 0, 0, 0.020000000000000004, 0.01, false, false, false, false, 0.017453292519943334, 0.017453292519943334, false, false, false, false, true, true, true, 0, 0, false)));

Вытягивание. Выбираем весь эскиз (в данном случае была выделена линия прямоугольника). После выделения, весь эскиз выделяется жёлтым цветом. Далее идёт создание экземпляра объекта для вытягивания и собственно последняя строчка выполняет вытягивание в одну сторону (Направление 1) на 20 мм (0.02000...4).

Итак. «Читать» код SolidWorks достаточно просто. К тому же, при наведении курсора на функции, сам VSTA также как и Visual Studio 2010 высвечивает подсказки Достаточно скудные подсказки: лишь тип функций, их аргументы и тип аргументов, однако в названии, как функций, так и аргументов уже заложено определение того, для чего всё это можно использовать. Проще всего изучать API на многочисленных примерах как в справочной системе SolidWorks (на локальной машине с установленным SolidWorks), так и на официальном сайте (www.solidworks.com). Также можно записывать макросы с различными действиями.

Завершающая часть

Компилируем приложение (Release) и запускаем. Результат работы показан ниже (Рис. 5. 1):

Рис. 5.1. Работа кнопки Фоновый режим: на просмотр было открыто то что SolidWorks собрал (деталь) и сохранил на диск D (LWP06SW01-Деталь.sldprt)

Рис. 5.2. Работа кнопки Послать команду, выгрузить: окно SolidWorks с пустой деталью и всплывающее окошко

О приложении к Лабораторной работе № 6

Получившуюся программу (LWP06SW01.exe), собранную из кусков кода приведённых в данной лабораторной работе, деталь (файл LWP06SW01-Деталь.sldprt), а также стандартный шаблон из поставки SolidWorks 2012 (solidworks_macro.zip) можно загрузить по ссылке в конце этого материала.

Размещено на Allbest.ru

...

Подобные документы

  • Современный подход к проектированию и производству высокотехнологичной и наукоёмкой продукции. Схема, структура, интерфейсы и приложения, создаваемые на платформе SolidWorks API. Особенности использования API в коммерческих программных продуктах.

    курсовая работа [325,7 K], добавлен 06.08.2013

  • Создание программных комплексов для систем автоматизированного проектирования с системами объемного моделирования и экспресс-тестами. SolidWorks - мировой стандарт автоматизированного проектирования. Пользовательский интерфейс, визуализация модели.

    курсовая работа [3,2 M], добавлен 13.10.2012

  • История создания программы SolidWorks: рынок САПР в 90-е гг., появление средств программного комплекса. Общая характеристика и описание программы SolidWorks: концепция, пользовательский интерфейс, принципы работы, создание сборок, визуализация изделий.

    курсовая работа [1,4 M], добавлен 11.11.2010

  • Использование трехмерного твердотельного и поверхностного параметрического проектирования на этапах конструкторской и технологической подготовки производства. Проектирование горизонтального тонкоплёночного испарителя в программном комплексе SolidWorks.

    курсовая работа [2,2 M], добавлен 09.06.2016

  • Решение математических примеров, построение графиков с помощью программы Mathcad. Создание 3D модели сборки, гидродинамического расчета, термического расчета и статистического расчета с помощью программы SolidWorks. Детали интерфейса, элементы вкладок.

    отчет по практике [2,3 M], добавлен 25.11.2014

  • САПР інженерного аналізу та підготовки виробництва виробів SolidWorks, AutoCAD та Unigraphics, їх відмінні та подібні ознаки, порівняльна характеристика та особливості використання, оцінка можливостей, технічні вимоги. Універсальна система СADAD (США).

    контрольная работа [1,1 M], добавлен 25.03.2010

  • Проектирование и моделирование платы и корпуса цифрового устройства. Геометрическая модель платы и нахождение собственных частот. Исследование теплообмена с использованием граничного условия и вентилятора. Методы моделирования в системе SolidWorks.

    курсовая работа [2,3 M], добавлен 06.07.2012

  • Обґрунтування вибору автоматизованої системи для створення конструкторської документації. Проектування 3D моделі і креслення деталі в системі SolidWorks. Розробка API програми. Призначення деталі "прес-форма". Розробка керуючої програми для устаткування.

    курсовая работа [3,3 M], добавлен 16.12.2013

  • Основы организации приложения в Windows. Посылка и передача сообщений для окон. Создание и отображение главного окна приложения. Деактивация приложения, его фазы. Сообщения клавиатуры и функции для работы с ней. Определение состояния отдельных клавиш.

    лекция [65,7 K], добавлен 24.06.2009

  • Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.

    курсовая работа [2,2 M], добавлен 15.03.2015

  • Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.

    курсовая работа [1,2 M], добавлен 16.08.2012

  • Классификация задач системы поддержки принятия решений, их типы и принципы реализации при помощи программы "Выбор". Обзор современных систем автоматизированного проектирования "Компас", "AutoCad", "SolidWorks", оценка преимуществ и недостатков программ.

    курсовая работа [1,4 M], добавлен 22.07.2014

  • Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Создание приложения Windows, позволяющего автоматизировать процесс обработки информации студентов университета. Организация работы с физическими файлами в языках программирования. Изучение средств IDE Delphi для организации работы с текстовыми файлами.

    курсовая работа [1,5 M], добавлен 08.11.2011

  • Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.

    контрольная работа [281,0 K], добавлен 15.01.2009

  • Функциональное описание процесса разработки системы автоматического проектирования цилиндрической емкости. Математическая постановка и программное обеспечение задачи. Алгоритм работы программы и результаты ее работы, анализ использования основных окон.

    курсовая работа [876,0 K], добавлен 20.12.2012

  • Эволюция графических пользовательских интерфейсов. Устройство системы X Window и менеджеры окон. Описание рабочего стола и приложения KDE и GNOME. Обзор основных принципов организации интерфейса в системе Windows, описание пакета ее прикладных программ.

    реферат [1,8 M], добавлен 15.02.2012

  • История развития реестра Windows, описание разделов, WinApi функции. Аналоги программ других разработчиков. Последовательность проектирования Windows-приложения, которое будет выводить аппаратную характеристику ПК на экран. Руководство пользователя.

    курсовая работа [1,2 M], добавлен 23.07.2013

  • Общая схема работы приложения Android. Разработка обучающего приложения для операционной системы Android, назначение которого - развитие речи посредством произнесения скороговорок. Описание компонентов разработанного приложения, его тестирование.

    дипломная работа [1,2 M], добавлен 04.02.2016

  • Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.

    дипломная работа [1,6 M], добавлен 17.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.