Читайте также:
|
|
Вернемся к объявлению коллекции: HoleData = part.HoleDataCollection.Add().
В методе Add для объекта HoleDataCollection присутствует 21 аргумент, причем обязательными при объявлении являются только два.
- HoleType – член набора FeaturePropertyConstants (далее будет сокращаться, как FPC) определяет тип создаваемого отверстия. Варианты:
- igRegularHole – простое,
- igCounterboreHole – с цилиндрической зенковкой,
- igCountersinkHole – с конической зенковкой,
- igCounterdrillHole – с цилиндрической зенковкой и конусом.
- HoleDiameter – диаметр отверстия.
Значение следующих параметров выбирают в зависимости от типа.
- CounterboreDiameter – диаметр цилиндрической зенковки;
- CounterboreDepth – глубина цилиндрической зенковки;
- CountersinkDiameter – диаметр конической зенковки;
- CountersinkAngle – угол конической зенковки;
- BottomAngle – определяет создание конического дна. При создании отверстий ограниченной глубины доступен режим построения отверстия с коническим V-образным дном. Можно задать угол (в градусах) в вершине конуса. Дно отверстия плоское по умолчанию;
- TreatmentType – член постоянного набора FPC определяющий тип обработки отверстия:
igTappedHole – с цилиндрической трубной резьбой,
igTaperedHole – коническое отверстие,
igNone – никакой;
- TaperMethod – член набора FPC определяет метод, использующийся при вычислении конического отверстия:
igTaperByAngle – через угол;
igTaperByRatio – по коэффициенту R/L (радиус/длину),
igTaperByRLRatio – по отношению R:L.
Значение первых двух вариантов необходимо определить в аргументе Taper, а последнего – в TaperLValue и TaperRValue.
- Taper – определяет конус для отверстия. Если в TaperMethod был выбран параметр igTaperByAngle, то Taper определяется через угол в градусах. Если выбран метод igTaperByRatio, то Taper – это отношение значений;
- ThreadMinorDiameter – определяет внутренний диаметр резьбы;
- ThreadDepthMethod – член набора FPC определяет глубину резьбы:
igFinite – на определенное расстояние,
igThroughAll – на всю глубину.
- ThreadDepth – определяет глубину резьбы. Если выбран метод igFinite, указывается глубина. При igThroughAll можно установить значение Missing.Value;
- VBottomDimType – член набора FPC указывает, должна ли глубина отверстия при коническом дне измеряться до основания или вершины конуса:
igVBottomDimToFlat – до основания,
igVBottomDimToV – до вершины конуса.
По умолчанию стоит igVBottomDimToFlat.
- TaperDimType – член набора FPC устанавливает начало уклона. Варианты:
igTaperDimAtBottom – от верха отверстия,
igTaperDimAtTop – от низа отверстия.
При выборе последнего параметра значение коэффициент (R/L), отношение (R:L) или угол должно иметь отрицательное значение. По умолчанию стоит igTaperDimAtBottom.
- CounterboreProfileLocationType – член набора FPC задает начало цилиндрической зенковки:
igCounterboreProfileIsAtTop – от верха отверстия,
igCounterboreProlileIsAtBottom – от низа отверстия.
По умолчанию стоит igCounterboreProlileIsAtTop.
- TaperLValue – определяет глубину конического отверстия. Необходимо для задания соотношения между длиной (глубиной) и радиусом;
- TaperRValue – определяет радиус конического отверстия. Необходимо для задания соотношения между длиной (глубиной) и радиусом;
- ThreadExternalDiameter – наружный диаметр для резьбы;
- ThreadDescription – описание резьбы. Данный аргумент является строковой переменной;
- IgnoreSavedDefaultValues – игнорирование сохранения значений по умолчанию.
Приведем несколько примеров с использованием команды “Отверстие”. За основу взят параллелепипед, построенный с плоскости XZ и выдавленный на глубину 5 мм.
Пример 1. Начнем с простого отверстия без резьбы. Для этого необходимо задать тип отверстия igRegularHole и указать диаметр (в нашем случае 13 мм). Профиль созданного отверстия будет так же расположен в плоскости XZ и имеет координату (0.03, 0.025). При создании самого отверстия используется метод AddFinite, то есть выдавливание на определенное расстояние (3 мм).
// объявление переменных
SolidEdgePart.HoleData HoleData = null;
SolidEdgePart.Hole Hole= null;
SolidEdgePart.Profile HoleProf = null;
//...
// построение параллелепипеда
//...
// профиль, в котором рисуем отверстия
profileSets = part.ProfileSets;
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add(0.03, 0.025);
HoleProf.Visible = false;
//объявление параметров
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igRegularHole,
HoleDiameter: 0.013);
// сам вырез отверстия
Hole = model.Holes.AddFinite(
HoleProf,
SolidEdgePart.FeaturePropertyConstants.igLeft,
0.03,
HoleData).
Рисунок 4 – Простое отверстие
Пример 2. Возьмем отверстие с конической зенковкой. Построим его так же без резьбы, но воспользуемся параметром BottomAngle, то есть отверстие имеет коническое дно.
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igCountersinkHole,
HoleDiameter: 0.009,
CountersinkDiameter: 0.015,
CountersinkAngle: 60,
BottomAngle: 70,
TreatmentType: FeaturePropertyConstants.igNone,
VBottomDimType: FeaturePropertyConstants.igVBottomDimToV);
Рассмотрим данное описание отверстия. igCountersinkHole показывает, что взято отверстие с конической зенковкой и диаметром 9 мм. 15 мм – диаметр, а 60 – угол конической зенковки. 70 показывает угол разворота конуса для дна отверстия. igNone указывает, что нет никакой обработки. И igVBottomDimToV определяет, что в длину отверстия входит коническое дно.
Рисунок 5 – Отверстие с конической зенковкой и коническим дном
Пример 3. Теперь построим само коническое отверстие, но удалять материал уже будем насквозь.
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igRegularHole,
HoleDiameter: 0.01,
TreatmentType: FeaturePropertyConstants.igTaperedHole,
TaperMethod: FeaturePropertyConstants.igTaperByRLRatio,
TaperDimType: FeaturePropertyConstants.igTaperDimAtBottom,
TaperLValue: 0.04,
TaperRValue: 0.01)
Hole = model.Holes.AddThroughAll(HoleProf,
SolidEdgePart.FeaturePropertyConstants.igLeft,
HoleData);
Итак, мы выбрали простое отверстие igRegularHole с диаметром 10 мм и указали тип обработки – коническое отверстие. Конус будем строить с помощью задания отношения R:L. Показываем начало уклона: igTaperDimAtBottom. И завершающим этапом является определение радиуса (0.01) и глубины (0.04) отверстия.
Рисунок 6 – Коническое отверстие насквозь
Пример 4. Построим отверстие типа igCounterdrillHole, то есть с цилиндрической зенковкой и конусом. Для его задания необходимы такие значения как: диаметр (20 мм) и глубина (15 мм) цилиндрической зенковки и угол конуса (80°). Удаление насквозь.
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igCounterdrillHole,
HoleDiameter: 0.009,
CounterboreDiameter: 0.02,
CounterboreDepth: 0.015,
CountersinkAngle: 80);
Рисунок 7 – Отверстие с цилиндрической зенковкой и конусом
Пример 5. Построим отверстие типа igCounterboreHole, то есть с цилиндрической зенковкой, диаметром 10 мм и нанесем резьбу M10 на глубину 30 мм. Диаметр зенковки равен 20 мм, а глубина 10 мм. Материал удалим насквозь. Значение внутреннего и внешнего диаметров берется из файла Holes.txt, который можно найти: C:\Program Files\Solid\Edge\Program\Holes.txt.
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igCounterboreHole,
HoleDiameter: 0.01,
CounterboreDiameter: 0.02,
CounterboreDepth: 0.01,
TreatmentType: SolidEdgePart.FeaturePropertyConstants.igTappedHole,
ThreadMinorDiameter: 8.376/1000.0,
ThreadDepthMethod: SolidEdgePart.FeaturePropertyConstants.igFinite,
ThreadDepth: 0.03,
ThreadExternalDiameter: 8.16/1000.0,
ThreadDescription: "M10");
Рисунок 8 – Отверстие с конической зенковкой и резьбой М10
Рассмотрим практическое построение отверстий на примере крышки пневматического цилиндра
/*Отверстия*/
HoleData = part.HoleDataCollection.Add(SolidEdgePart.FeaturePropertyConstants.igRegularHole, d3);
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add((B - A) / 2, (B - A) / 2);
HoleProf.End(SolidEdgePart.ProfileValidationType.igProfileClosed);
HoleProf.Visible = false;
Hol = model.Holes.AddThroughAll(/*профиль*/HoleProf,
/*направление выреза*/ SolidEdgePart.FeaturePropertyConstants.igLeft,
/*параметры*/ HoleData);
HoleData = part.HoleDataCollection.Add(SolidEdgePart.FeaturePropertyConstants.igRegularHole, d3);
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add((B - A) / 2, B - (B - A) / 2);
HoleProf.End(SolidEdgePart.ProfileValidationType.igProfileClosed);
HoleProf.Visible = false;
Hol = model.Holes.AddThroughAll(/*профиль*/HoleProf,
/*направление выреза*/ SolidEdgePart.FeaturePropertyConstants.igLeft,
/*параметры*/ HoleData);
HoleData = part.HoleDataCollection.Add(SolidEdgePart.FeaturePropertyConstants.igRegularHole, d3);
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add(B - (B - A) / 2, B - (B - A) / 2);
HoleProf.End(SolidEdgePart.ProfileValidationType.igProfileClosed);
HoleProf.Visible = false;
Hol = model.Holes.AddThroughAll(/*профиль*/HoleProf,
/*направление выреза*/ SolidEdgePart.FeaturePropertyConstants.igLeft,
/*параметры*/ HoleData);
HoleData = part.HoleDataCollection.Add(SolidEdgePart.FeaturePropertyConstants.igRegularHole, d3);
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add(B - (B - A) / 2, (B - A) / 2);
HoleProf.End(SolidEdgePart.ProfileValidationType.igProfileClosed);
HoleProf.Visible = false;
Hol = model.Holes.AddThroughAll(/*профиль*/HoleProf,
/*направление выреза*/ SolidEdgePart.FeaturePropertyConstants.igLeft,
/*параметры*/ HoleData);
Рисунок 9 – Результат построени 4 простых отверстий
Построение конического отверстия
profileSet = part.ProfileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleData = part.HoleDataCollection.Add(
HoleType: SolidEdgePart.FeaturePropertyConstants.igRegularHole,
HoleDiameter: 2 * d3,
TreatmentType: FeaturePropertyConstants.igTaperedHole,
TaperMethod: FeaturePropertyConstants.igTaperByAngle,
TaperDimType: FeaturePropertyConstants.igTaperDimAtBottom,
Taper: 30);
HoleProf = profiles.Add(refplanes.Item(3));
HoleProf.Holes2d.Add(B / 2, B / 2);
HoleProf.Visible = false;
Hol = model.Holes.AddFinite(HoleProf, SolidEdgePart.FeaturePropertyConstants.igLeft, h / 2, HoleData);
Рисунок 10 – Результат построения конического отверстия
Следующим шагом рассмотрим построение отверстия с резьбой
HoleData = part.HoleDataCollection.Add(
SolidEdgePart.FeaturePropertyConstants.igRegularHole, ds1, BottomAngle: 120, TreatmentType: FeaturePropertyConstants.igTappedHole,
ThreadMinorDiameter: 6.647 / 1000.0,
ThreadDepthMethod: FeaturePropertyConstants.igFinite,
ThreadDepth: k, VBottomDimType: FeaturePropertyConstants.igVBottomDimToFlat,
ThreadExternalDiameter: 6.466 / 1000.0,
ThreadDescription: "M8");
profileSets = part.ProfileSets;
profileSet = profileSets.Add();
profiles = profileSet.Profiles;
refplanes = part.RefPlanes;
HoleProf = profiles.Add(refplanes.Item(1));
HoleProf.Holes2d.Add(B / 2, h1 - m);
HoleProf.End(SolidEdgePart.ProfileValidationType.igProfileClosed);
HoleProf.Visible = false;
Hol = model.Holes.AddFinite(HoleProf, SolidEdgePart.FeaturePropertyConstants.igRight, k, HoleData);
Рисунок 11 – Построение резьбового отверстия
Дата добавления: 2015-10-29; просмотров: 110 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Пример построения фаски на модели поршня | | | Relationships |