Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Как добавить сопряжение к двум элементам в сборке с помощью макроса




Условие1. Открыт файл сборки. В нем находятся детали: вал (зафиксирован) и кольцо (свободно). Выделяем соответствующие грани и между двумя деталями появляется сопряжение «концентричность».

Условие2. Те же детали. Выделяем уже другие грани. Запускаем макрос и появляется сопряжение «совпадение».

Для создания сопряжений в сборке между выделенными объектами в SW api существует метод AddMate3 (c 2005 года) интерфейса IAssemblyDoc.

Метод принимает 13 параметров. Возвращает объект типа Mate2 (новое созданное сопряжение).

[Mate2] = [AssemblyDoc].AddMate3 (MateTypeFromEnum, AlignFromEnum, Flip, Distance, DistanceAbsUpperLimit, DistanceAbsLowerLimit, GearRatioNumerator, GearRatioDenominator, Angle, AngleAbsUpperLimit, AngleAbsLowerLimit, ForPositioningOnly, ErrorStatus)

1. MateTypeFromEnum. Тип long. Тип сопряжения число из enum-списка swMateType_e.

Некоторые значения:

§ 0 – swMateCOINCIDENT – совпадение

§ 1 – swMateCONCENTRIC – концентрический

§ 2 – swMatePERPENDICULAR – перпендикулярно

§ 3 – swMatePARALLEL – параллельно

§ 4 – swMateTANGENT – касательность

§ 5 – swMateDISTANCE – на расстоянии

§ 6 – swMateANGLE- под углом

§ 8 – swMateSYMMETRIC – симметрично

2. AlignFromEnum. Тип long. Тип выравнивания. Число из enum-списка swMateAlign_e. Возможные значения:

§ 0 – swMateAlignALIGNED

§ 1 – swMateAlignANTI_ALIGNED

§ 2 – swMateAlignCLOSEST

3. Flip. Тип boolean. True – перевернуть компонент.

4. Distance. Тип double. Используется при применении сопряжения swMateDISTANCE (на расстоянии) или сопряжения ограничение.

5. DistanceAbsUpperLimit. Тип double. Максимальное расстояние.

6. DistanceAbsLowerLimit. Тип double. Минимальное расстояние.

7. GearRatioNumerator. Тип double. Числитель в передаточном отношении для сопряжения типа редуктор.

8. GearRatioDenominator. Тип double. Знаменатель в передаточном отношении.

9. Angle. Тип double. Значение угла при применении угловых сопряжений.

10. AngleAbsUpperLimit. Тип double. Максимальное угловое значение.

11. AngleAbsLowerLimit. Тип double. Минимальное угловое значение.

12. ForPositioningOnly. Тип boolean. True – сопряжение только для позиционирования.

13. ErrorStatus. Тип long. Значение ошибки при создании сопряжения. Число из enum-списка swAddMateError_e

Возможные значения:

§ 0 – Неизвестная ошибка

§ 1 – Все в порядке. Ошибок нет.

§ 2 – Неизвестный тип сопряжения, который не представлен в swMateType_e.

§ 3 – Неизвестное сопряжение выравнивания

§ 4 – Некорректно выделены объекты для сопряжения

§ 5 – Сопряжение переопределяет сборку

§ 6 – Некорректное передаточное число

Перейдем к коду:

Текст программы для условия 1 (Концентричность):

Visual Basic

Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim sel As SelectionMgr Dim face1 As face2, face2 As face2 Dim err As Long Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model Set sel = model.SelectionManager Set face1 = sel.GetSelectedObject6(1, 1) Set face2 = sel.GetSelectedObject6(2, 1) assem.AddMate3 swMateCONCENTRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, err End Sub

  Option Explicit Dim swApp As SldWorks.SldWorks Dim model As ModelDoc2 Dim assem As AssemblyDoc Dim sel As SelectionMgr Dim face1 As face2, face2 As face2 Dim err As Long Sub main() Set swApp = Application.SldWorks Set model = swApp.ActiveDoc Set assem = model Set sel = model.SelectionManager Set face1 = sel.GetSelectedObject6(1, 1) Set face2 = sel.GetSelectedObject6(2, 1) assem.AddMate3 swMateCONCENTRIC, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0, False, err End Sub

Для условия 2 поменяем параметры метода AddMate3 и выделим другие грани.

Visual Basic

assem.AddMate3 swMateCOINCIDENT, swMateAlignCLOSEST, False, 0, 0, 0, 0, 0, 0, 0, 0, False, err

  assem.AddMate3 swMateCOINCIDENT, swMateAlignCLOSEST, False, 0, 0, 0, 0, 0, 0, 0, 0, False, err

 





Поделиться с друзьями:


Дата добавления: 2017-02-11; Мы поможем в написании ваших работ!; просмотров: 589 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2458 - | 2274 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.