- •Методические указания
- •230104 «Системы автоматизированного проектирования»
- •Часть 1
- •Введение
- •Лабораторная работа №1 Введение в параметрическое моделирование в Solid Edge с использование api
- •1. Теоретическая часть
- •2.3. Содержание отчета по лабораторной работе
- •Лабораторная работа №2 Создание детали с помощью операции «Вращение» средствами Solid Edge api на примере поршня пневматического цилиндра
- •1. Теоретическая часть
- •2. Практиеская часть
- •2.1. Вопросы для самостоятельного контроля знаний
- •2.2. Задание на лабораторную работу
- •2. Практическая часть
- •2.1. Вопросы для самостоятельного контроля знаний
- •2.2. Задание на лабораторную работу
- •2.3. Содержание отчета по лабораторной работе
- •Выдавливание с удалением материала из модели
- •2. Практическая часть
- •1.2. Программная реализация операции «Выдавливание»
- •2.1 Вопросы для самопроверки
- •2.2 Задания для выполнения лабораторной работы
- •2.3. Содержание отчета по лабораторной работе
- •230104 «Системы автоматизированного проектирования»
- •Часть 1
- •394026 Воронеж, Московский просп., 14
2. Практическая часть
О
бщий
вид детали «Крышка» в разрезе представлен
на рисунке 15
Рисунок 15 – Общий вид детали «Крышка»
Приведем эскиз, входящий в последовательность проектирования 3D модели детали.
На первом этапе выполняется операция выдавливания эскиза образующего поверхность основной формы детали. Данный эскиз представлен на рисунке 16.
Р
исунок
16 – Эскиз для операции «Выдавливание»
Создание эскиза данной операции при помощи API функций Solid Edge происходит в той же последовательности, что и аналогичная операция, описанная в лабораторной работе №2.
1.2. Программная реализация операции «Выдавливание»
Далее, рассмотрим параметры операции выдавливания. Для начала произведем построение эскиза, показанного на рисунке 16.
lines2d.AddBy2Points(0, 0, 0, B);
lines2d.AddBy2Points(0, B, B, B);
lines2d.AddBy2Points(B, B, B, 0);
lines2d.AddBy2Points(B, 0, 0, 0);
relations2d = (SolidEdgeFrameworkSupport.Relations2d)
profile.Relations2d;
relation2d = relations2d.AddKeypoint(
lines2d.Item(1),(int)KeypointIndexConstants.igLineEnd,
lines2d.Item(2),
(int)KeypointIndexConstants.igLineStart,true);
relation2d = relations2d.AddKeypoint(
lines2d.Item(2),(int)KeypointIndexConstants.igLineEnd,
lines2d.Item(3),(int)KeypointIndexConstants.igLineStart,
true);
relation2d = relations2d.AddKeypoint(
lines2d.Item(3),(int)KeypointIndexConstants.igLineEnd,
lines2d.Item(4),(int)KeypointIndexConstants.igLineStart,
true);
relation2d = relations2d.AddKeypoint(
lines2d.Item(4),(int)KeypointIndexConstants.igLineEnd,
lines2d.Item(1),(int)KeypointIndexConstants.igLineStart,
true);
profile.End(
SolidEdgePart.ProfileValidationType.igProfileClosed);
// Hide the profile
profile.Visible = false;
// Create a new array of profile objects
aProfiles = Array.CreateInstance(typeof (SolidEdgePart.Profile), 1);
aProfiles.SetValue(profile, 0);
// Get a reference to the models collection
models = part.Models;
// Create the extended protrusion.
model = models.AddFiniteExtrudedProtrusion(
aProfiles.Length, ref aProfiles,
SolidEdgePart.FeaturePropertyConstants.igLeft,h1,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
Рисунок 17 – Результат выдавливания эскиза
Дальнейшее построение детали требует использования операции «выдавливание» применительно к эскизу, образованному окружностью. В отличие от предыдущего примера мы реализуем не добавление материала к детали, а его удаление. Код построении и результат приведены ниже.
/*вырез под цилиндр*/
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
profile = profiles.Add(refplanes.Item(3));
lines2d = profile.Lines2d;
circles2d = profile.Circles2d;
circles2d.AddByCenterRadius(B / 2, B / 2, D1 / 2);
profile.Visible = false;
ExtrudedCutout=model.ExtrudedCutouts.AddFinite(profile,
SolidEdgePart.FeaturePropertyConstants.igLeft,
SolidEdgePart.FeaturePropertyConstants.igLeft, p);
Рисунок 18 – Результат операции «Выдавливание» - вырез
Теперь рассмотри операцию выдавливания на примере цилиндрического выступа, который практически завершает построение крышки.
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
profile = profiles.Add(refplanes.Item(3));
lines2d = profile.Lines2d;
circles2d = profile.Circles2d;
circles2d.AddByCenterRadius(B / 2, B / 2, D / 2);
profile.End(
SolidEdgePart.ProfileValidationType.igProfileClosed);
// Hide the profile
profile.Visible = false;
// Create a new array of profile objects
aProfiles=Array.CreateInstance(typeof
(SolidEdgePart.Profile), 1);
aProfiles.SetValue(profile, 0);
// Get a reference to the models collection
models = part.Models;
// Create the extended protrusion.
model = models.AddFiniteExtrudedProtrusion(
aProfiles.Length, ref aProfiles,
SolidEdgePart.FeaturePropertyConstants.igLeft,p);
Рисунок 19 – Операция выдавливание
И, наконец, рассмотри операцию выдавливания на примере цилиндрического выступа, который практически завершает построение крышки.
/*Выступ цилиндрический*/
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
profile = profiles.Add(refplanes.Item(3));
circles2d = profile.Circles2d;
circles2d.AddByCenterRadius(B / 2, B / 2, D2 / 2);
profile.End(
SolidEdgePart.ProfileValidationType.igProfileClosed);
// Hide the profile
profile.Visible = false;
// Create a new array of profile objects
aProfiles = Array.CreateInstance(typeof
(SolidEdgePart.Profile), 1);
aProfiles.SetValue(profile, 0);
// Get a reference to the models collection
models = part.Models;
// Create the extended protrusion.
model = models.AddFiniteExtrudedProtrusion(
aProfiles.Length,
ref aProfiles,
SolidEdgePart.FeaturePropertyConstants.igLeft,
h1 + h / 2);
Рисунок 20 – Цилиндрический выступ
