Читайте также: |
|
Рисунок 15 – Общий вид детали «Крышка»
Приведем эскиз, входящий в последовательность проектирования 3D модели детали.
На первом этапе выполняется операция выдавливания эскиза образующего поверхность основной формы детали. Данный эскиз представлен на рисунке 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 – Цилиндрический выступ
Вопросы для самопроверки
1. Дайте пояснение, какие переменные в примере содержат указатели на объекты
2. Расскажите механизм построения цилиндрического тела
3. Как объявляется переменная содержащая объект?
4. Как задается переменная содержащая указатель на объект?
5. Поясните содержимое и типы параметров операции выдавливания?
6. Поясните параметры операции «Вырез»?
7. Какой параметр отвечает за глубину выдавливания?
8. Сколько параметров содержит объект отрезок?
9. Опишите содержимое и типы параметров при построении примитива (дуга, линия)?
Дата добавления: 2015-10-29; просмотров: 162 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Выдавливание с удалением материала из модели | | | Краткие сведения о построении фаски |