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

ADN Club => Inventor API => Тема начата: Алексей123456789 от 28-04-2016, 15:42:20

Название: Массив компонента в сборке
Отправлено: Алексей123456789 от 28-04-2016, 15:42:20
Подскажите пожалуйста, мне нужно размножить деталь относительно оси поверхности вращения другой детали в сборке(То есть нужна не центральная ось, а ось другой детали, которая круговая): Вот как делал я:
Код - C# [Выбрать]
  1.             oFace = oAssCompDef.Occurrences[7].SurfaceBodies[1].Faces[21];
  2.             WorkAxis Axis1 = oAssCompDef.WorkAxes.AddByRevolvedFace(oFace, false);
  3.             ObjectCollection Features6 = ThisApplication.TransientObjects.CreateObjectCollection();
  4.             Features6.Add(oAssCompDef.Occurrences[20]);
  5.             oAssCompDef.OccurrencePatterns.AddCircularPattern(Features6, Axis1, false, "90 degree", 4);

Но к сожалению, выдает ошибку в строке:
Код - C# [Выбрать]
  1.             WorkAxis Axis1 = oAssCompDef.WorkAxes.AddByRevolvedFace(oFace, false);

Код - C# [Выбрать]
  1. oAssCompDef
- обращение к компоненту сборки
Код - C# [Выбрать]
  1. Occurrences[7]
- порядковый номер круговой детали в сборке, относительно которой хочу размножить деталь:
Код - C# [Выбрать]
  1. Occurrences[20]
Подскажите, пожалуйста, что я делаю не так?



Название: Re: Массив компонента в сборке
Отправлено: mikazakov от 12-05-2016, 13:23:45
Подскажите пожалуйста, мне нужно размножить деталь относительно оси поверхности вращения другой детали в сборке(То есть нужна не центральная ось, а ось другой детали, которая круговая)
Дело в том, что в сборке для работы через API нельзя использовать объекты подсборок или деталей. Сначала нужно сделать прокси объекты и только потом их использовать. Среди статей в хэлпе есть Work In Proxes- это как раз по этой теме.