Здравствуйте.
Подскажите пожалуйста есть фантомная сборка Assembly1. В ней размещены 2 цилиндра Part, и в этой СБОРКЕ!одной грани цилиндра присвоен атрибут (получается этот атрибут принадлежит FaceProxy). Потом я создаю новую сборку Assembly, вставляю туда Assembly1 с двумя цилиндрами и просто цилиндр Part.
Т.е. теперь сборка Assembly состоит из Assembly1 и Part.
Я накладываю зависимость в сборке Assembly между Assembly1(торцем одного из цилиндров там где присвоен атрибут) и Part(торцем цилиндра).
Через AttribManager в компоненте Assembly1 я без проблем нахожу этот атрибут (он принадлежит FaceProxy)
Set oAttribManager = oCompOcc1.Definition.Document.AttributeManager Set oObjects = oAttribManager.FindObjects(, , "Attribute") Dim oFace as Faceproxy Set oFace = oObjects.Item(1) Debug.Print oFace.AttributeSets.Count 'Дает 1
Но я никак не могу найти этот атрибут через oCompOcc1.Constraints
For Each oAConstr In oCompOcc1.constraints If oAConstr.OccurrenceOne.Name = oCompOcc1.Name Or oAConstr.OccurrenceOne.Name = oCompOcc2.Name Then Set oEntity = oAConstr.EntityOne ElseIf oAConstr.OccurrenceTwo.Name = oCompOcc1.Name Or oAConstr.OccurrenceTwo.Name = oCompOcc2.Name Then Set oEntity = oAConstr.EntityTwo End If Set oFace1 = oEntity.NativeObject 'так я получаю грань самой детали Set oFace1Proxy = oEntity 'так я получаю прокси грань в контексте сборки Assembly Next
Естественно
Debug.Print oFace1.AttributeSets.Count 'Дает 0 Debug.Print oFaceProxy.AttributeSets.Count 'Дает то же 0
Так вот вопрос как мне получить необходимую грань с атрибутом в контексте сборки Assembly1?
Все это нужно чтобы выполнить условие. Если на грани полученной через oEntity есть атрибут, то использовать грань с другим атрибутом.
Буду благодарен за любую помощь. Спасибо.
Can't find what you're looking for? Ask the community or share your knowledge.