• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Регистрация будет доступна с 8:00 (мск) 12 января.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Компас API7. Получить отношения объекта (исходные и производные объекты)

Автор KlimTV1987, 08.05.26, 15:53:34

« назад - далее »

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

KlimTV1987

Добрый день.

Подскажите, как получить отношения объекта (исходные и производные объекты)?

Смотрел IFeature7.SubFeatures, IFeature7.ModelObjects, IFeature7.ResultBodies и некоторые другие варианты из производных от них объектов. SubFeatures возвращает подчиненные объекты из дерева построения, но не их взаимоотношения. ModelObjects возвращает связанные с объектом элементы модели (грани, ребра, вершины). ResultBodies возвращает тела с которыми связан объект дерева построения.

Но это не то что нужно, хочется пройтись примерно по такой цепочке объектов системы "Начало координат->Плоскость XY->Эскиз:1->Элемент выдавливания:1"

p3452

Ваша "цепочка", как таковой, не является.., т.е связь "звеньев" косвенная...

Объектная модель API Компас (мягко скажем) - необычная, и надо приложить определенные усилия, чтобы ее освоить.
Есть несколько подходов, два основных:
- можно работать через "коллекции объектов" (например берем ModelObjects и шуруем по всем ее элементам)
- можно работать через "дерево"
  - дерево компонент (работаете с Part)
  - дерево построения (работаете с Feature).

Судя по Вашей "цепочке" Вам надо "плясать" от Дерева построения т.е. от головного компонента получаете TopPart, от него - Features и(или) SubFeatures, каждый из них анализируете по типу (нужен ли он Вам, если нужен - обрабатываете) и так до конца Дерева.
+ Благодарностей: 2

KlimTV1987

Спасибо за ответ. Я хотел убедиться, что не упустил что-то неочевидное - какой-то интерфейс или коллекцию, которая отвечает за представление области "Отношения" в нижней части области "Дерево". Если придется каждую взаимосвязь раскуривать вручную - это, конечно, печально, но что поделать.

lavgirb

Цитата: KlimTV1987 от 12.05.26, 16:23:55Если придется каждую взаимосвязь раскуривать вручную - это, конечно, печально, но что поделать.
Может быть КОМПАС сам делает так же)
Только быстрее

KlimTV1987

Как оказалось, всё достаточно просто. Есть интерфейс "IModelObject1" у которого есть свойство "Childrens". Через него как раз можно получить те самые связи вниз, которые я искал.
+ Благодарностей: 2