Производная деталь-зеркало

Автор Тема: Производная деталь-зеркало  (Прочитано 4062 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ShemetovaАвтор темы

  • ADN
  • *
  • Сообщений: 6
  • Карма: 0
Как определить, является ли производная деталь зеркалом?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Производная деталь-зеркало
« Ответ #1 : 31-01-2017, 21:13:58 »
Как то так, иследуемая деталь должна быть открыта в отдельном окне:

Код - Visual Basic [Выбрать]
  1. Sub rrrr()
  2. Dim partDoc As PartDocument: Set partDoc = ThisApplication.ActiveDocument
  3. Dim CompDef As PartComponentDefinition: Set CompDef = partDoc.ComponentDefinition
  4. Dim DerivedComp As DerivedPartComponent: Set DerivedComp = CompDef.ReferenceComponents.DerivedPartComponents(1)
  5. Dim DerivedDef As DerivedPartDefinition: Set DerivedDef = DerivedComp.Definition
  6.  
  7. If DerivedDef.Type = kDerivedPartUniformScaleDefObject Then
  8. Dim DerivedMirorDef As DerivedPartUniformScaleDef: Set DerivedMirorDef = DerivedDef
  9.  
  10.     If DerivedMirorDef.MirrorPlane <> kDerivedPartNoMirrorPlane Then
  11.     MsgBox ("Is Miror Part")
  12.    
  13.     End If
  14.  
  15. End If
  16.  
  17. End Sub
  18.  

В  инвенторе часто встречается наследование, поэтому некоторые типы перед их окончательным приведением лучше проверять, что осуществлено в строке:
 
Код - Visual Basic [Выбрать]
  1. If DerivedDef.Type = kDerivedPartUniformScaleDefObject Then


Оффлайн ShemetovaАвтор темы

  • ADN
  • *
  • Сообщений: 6
  • Карма: 0
Re: Производная деталь-зеркало
« Ответ #2 : 01-02-2017, 13:28:20 »
Спасибо. Вышеописанным способом удается определить, является ли деталь зеркальной.
Можно ли воспользоваться свойством Mirror объекта DerivedPartUniformScaleDef (описание в документации API не удалось найти)?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Производная деталь-зеркало
« Ответ #3 : 01-02-2017, 17:00:02 »
Mirror объекта DerivedPartUniformScaleDef (описание в документации API не удалось найти)?
Это свойство по всей видимости с атрибутом "Hidden", поэтому его нет в хэлпе и в интелектуальной подсказке при наборе кода в VBA.
Это, скорее всего, связано с тем, что свойство является устаревшим и осталось для совместимости с давно написанным кодом. Но юзать его не рекомендуется, потому как в любой момент его могут выкинуть из API в следующей версии Инвентора.