Forge, API и программирование – Русский – только для чтения
Задавайте вопросы и делитесь знаниями по Autodesk Forge и программированию на API программного обеспечения Autodesk
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Attribute на FaceProxy в подсборке. Inventor API

2 REPLIES 2
Reply
Message 1 of 3
_Captain_
703 Views, 2 Replies

Attribute на FaceProxy в подсборке. Inventor API

Здравствуйте.

Подскажите пожалуйста есть фантомная сборка 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 есть атрибут, то использовать грань с другим атрибутом.

Буду благодарен за любую помощь. Спасибо.

2 REPLIES 2
Message 2 of 3
_Captain_
in reply to: _Captain_

Неужели никто не подскажет?

Message 3 of 3
_Captain_
in reply to: _Captain_

Вопрос снят

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report