Производный компонент (наследование)

Автор Тема: Производный компонент (наследование)  (Прочитано 4292 раз)

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

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Доброго времени суток, уважаемые форумчане! Снова ищу у Вас помощи!
У меня есть деталь "A", которая построена на основе детали "B" с помощью команды "производный компонент (наследование)". Деталь "A" помещена в сборку. Могу ли я обратиться из этой сборки к детали "B"?
П.С. Зная свое нередкое кривословие, прикрепляю файл пример :)
В программировании я новичок...но ненадолго! ;)

Отмечено как Решение R.I.Chernov 13-01-2015, 11:54:09

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Вот рабочий пример на VBA:

Код - Visual Basic [Выбрать]
  1. Sub GetMasterPart()
  2.  
  3.     Dim oAsmDoc As AssemblyDocument
  4.     Set oAsmDoc = ThisApplication.ActiveDocument
  5.     Dim oAsmDef As AssemblyComponentDefinition
  6.     Set oAsmDef = oAsmDoc.ComponentDefinition
  7.     'ссылка по имени на конкретный компонент (деталь А)
  8.    Dim oOcc As ComponentOccurrence
  9.     Set oOcc = oAsmDef.Occurrences.ItemByName("Деталь А")
  10.    
  11.     ' Через производный компонент в компоненте А
  12.    ' найдем ссылку на документ детали B
  13.    Dim oRefComps As ReferenceComponents
  14.     Set oRefComps = oOcc.Definition.ReferenceComponents
  15.    
  16.     'здесь полагаем, что искомый производный компонент
  17.    'является первым у детали А
  18.    Dim oDerPartComp As DerivedPartComponent
  19.     Set oDerPartComp = oRefComps.DerivedPartComponents.Item(1)
  20.    
  21.     ' дескриптор документа в производном компоненте
  22.    ' дает ссылку на документ мастер-детали B
  23.    Dim oMasterDocDescriptor As DocumentDescriptor
  24.     Set oMasterDocDescriptor = oDerPartComp.ReferencedDocumentDescriptor
  25.     Dim oMasterDoc As PartDocument
  26.     Set oMasterDoc = oMasterDocDescriptor.ReferencedDocument
  27.    
  28.     Debug.Print oMasterDoc.FullFileName
  29.    
  30.     Beep
  31. End Sub

С Новым Годом!  :)
« Последнее редактирование: 12-01-2015, 19:21:49 от Александр Ривилис »

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Спасибо, Владимир Николаевич! Это именно то, что нужно! Вас также с новым годом... старым новым годом, рождеством, ну и всеми прочими наступившими праздниками! :)
В программировании я новичок...но ненадолго! ;)