Читайте также: |
|
![]() |
Рисунок 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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Выдавливание с удалением материала из модели | | | Краткие сведения о построении фаски |