Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: glebShev от 12-04-2021, 17:19:44

Название: С# обращение к имени грани
Отправлено: glebShev от 12-04-2021, 17:19:44
Всем доброго времени суток! На данный момент я делаю сборку, и обращаюсь к граням деталей как в коде ниже.
Код - C# [Выбрать]
  1. Face oFace1, oFace2, oFace3, oFace4;
  2.             oFace1 = Model_flanес1.SurfaceBodies[1].Faces[13];
  3.             oFace2 = Model_proc.SurfaceBodies[1].Faces[2];
  4.             oFace3 = Model_flanес1.SurfaceBodies[1].Faces[19];
  5.             oFace4 = Model_proc.SurfaceBodies[1].Faces[6];
Ниже представлена сборка.
Код - C# [Выбрать]
  1. MateConstraint surf1, surf2, surf3, surf4, surf5, surf6, surf7, surf8;
  2.             surf1 = oAssCompDef.Constraints.AddMateConstraint(oFace1, oFace2, 0,
  3.             InferredTypeEnum.kNoInference, InferredTypeEnum.kNoInference);
  4.             surf2 = oAssCompDef.Constraints.AddMateConstraint(oFace3, oFace4, 0,
  5.             InferredTypeEnum.kNoInference, InferredTypeEnum.kNoInference);

Номер грани я подбираю перебором. Проблема заключается в том, что при смене исполнения параметрической детали номер грани меняется, из-за этого сборка возможна только с первым исполнением для которого искали номер грани.
Также я обнаружил что в Inventor можно назначать имя грани. Подскажите, пожалуйста, как можно обращаться к имени грани или как можно исправить проблему с изменением номера грани.
Название: Re: С# обращение к имени грани
Отправлено: mikazakov от 12-04-2021, 17:49:00
вопрос: зачем нужно это?
Название: Re: С# обращение к имени грани
Отправлено: glebShev от 12-04-2021, 21:54:03
Для того чтобы реализовать параметрическую сборку.
Название: Re: С# обращение к имени грани
Отправлено: mikazakov от 13-04-2021, 04:38:12
В том плане, что бы зависимости наложить в сборке?
Название: Re: С# обращение к имени грани
Отправлено: glebShev от 14-04-2021, 12:33:09
Да, для зависимости.
Название: Re: С# обращение к имени грани
Отправлено: mikazakov от 14-04-2021, 17:28:51
Можно за ранее определить места присоединения через iMate, а потом по именам их привязывать программно:

Название: Re: С# обращение к имени грани
Отправлено: glebShev от 21-04-2021, 13:07:28
Благодарю