ADN Club > Inventor API

Изменение исполнения параметрической модели, C#

(1/2) > >>

glebShev:
Всем доброго времени суток! Я пишу плагин, осуществляющий параметрическю сборку.
Ниже представлен код вставки параметрической детали в сборку.

--- Код - C# [Выбрать] --- string proc = "C:/Users/mrily/OneDrive/Рабочий стол/Диплом/28919 прокладка.ipt";            ThisApplication.CommandManager.PostPrivateEvent(Inventor.PrivateEventTypeEnum.kFileNameEvent, proc);            ComponentOccurrence Model_proc = oAssDoc.ComponentDefinition.Occurrences.Add(proc, oPositionMatrix);            Inventor.ControlDefinition ctrlDeffff = ThisApplication.CommandManager.ControlDefinitions["AssemblyPlaceComponentCmd"];            ctrlDefff.Execute(); У меня получилось менять исполнение у параметрической детали открытой отдельным файлом.

--- Код - C# [Выбрать] ---PartDocument PartDoc = ThisApplication.ActiveDocument as Inventor.PartDocument;PartComponentDefinition PartCompDef;PartCompDef = PartDoc.ComponentDefinition as PartComponentDefinition;Parameters Params = PartCompDef.Parameters; iPartFactory partFactory = PartCompDef.iPartFactory;public void changeIsp(iPartFactory partFactory, string nameIsp){iPartTableRows rows = partFactory.TableRows;Console.WriteLine("iPart");foreach (iPartTableRow row in rows){if (row[1].Value == nameIsp){partFactory.DefaultRow = row;}Console.WriteLine(row[1].Value);}Console.WriteLine("iPart end");} Но не получается обратиться к детали в  файле сборки. Кто-нибудь знает как можно менять исполнение параметрической детали в сборе?

mikazakov:
AssemblyComponentDefinition.Occurrences(1).ChangeRowOfiPartMember( NewRow As Variant, [CustomInput] As Variant )

glebShev:
Что значит единица в Occurrences(1)? При такой записи выдается ошибка о том, что данный член не может использоваться как метод.
И как в таком случае обратиться к модели?

Александр Ривилис:
glebShev,
Так как это C#, то вместо круглых скобок используй квадратные.

mikazakov:

--- Цитата: Александр Ривилис от 09-04-2021, 00:55:17 ---Что значит единица в Occurrences(1)? При такой записи выдается ошибка о том, что данный член не может использоваться как метод.
И как в таком случае обратиться к модели?
--- Конец цитаты ---
Я же просто путь по объектной модели написал.  Occurrences(1) -это первый компонент в коллекции компонентов в сборке, в вашем случае это индекс не обязательно равен единице, там должен быть номер вашего иПарта.
Более менее опытный программист меня бы понял, если совсем не понятно, я могу макрос сделать с простеньким примером.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии