Оно?Спасибо, Михаил. Я уже пробовал, но что-то не выходит. Быть может вы поможете мне найти ошибку.
ModelParameter.Units
Не могу разобраться в чем дело. По идее "get_Units" возвращает значение в формате string, и не должно быть никаких проблем. В общем буду признателен за любую идею.В сообщении об ошибке говорится, что такого метода нет.
Разве что oParam может быть null?Да в том то и дело, что все ок. Если написать, например, "Debug.WriteLine(oParam.Name)" - имя параметра определяется корректно, то есть ссылка на параметр верная. В любом случае спасибо!
Идея такая назначить опцию библиотеки инвентора "внедрить типы взаимодействия=false"Спасибо, Михаил. Когда я меняю вышеуказанное значение на "false", перестает работать половина ранее написанного кода. :) Так что я даже не смог проверить, работает в принципе ваше решение или нет. Не могли бы пояснить, что мы делаем, меня данное значение?
перестает работать половина ранее написанного кода.так быть не должно. Наоборот когда True многие вещи могут не работать, например часть событий отваливается.
так быть не должно.Ну так как бы есть ))
потребовалось привидение типов в местах, где раньше не требовалось?Дак собственно C# язык строго типизированный, и это правильно когда он требует от программиста приведение типов при использовании объектов типа Object или при расширяющем преобразовании при наследовании (например из Document в PartDocument) так что приведение типов это как раз корректная работа, а раньше просто С# глючил из-за внедренных COM-овских типов и не не требовал преобразований.
Ок, спасибо. А что насчет разного названия библиотек: "Inventor" и "Autodesk.Inventor.Interop"? Есть какие-то комментарии?COM-овская библиотека типов находится в фале RxInventor.tlb в папки с там где инвентор. Это все зарегестрированно в реестре винды. А Autodesk.Inventor.Interop - это NET-овская обертка этой COM-овской библиотеки типов. Autodesk.Inventor.Interop регистрации в реестре не подлежит и её можно просто переносить со своим проектом.
Использование ссылки на COM-овскую библиотеку в чистом виде, для инвентор считается устаревшим.означает, что вы рекомендуете использовать Autodesk.Inventor.Interop.dll из папки инвентора.
что вы рекомендуете использовать Autodesk.Inventor.Interop.dll из папки инвентора.Это Автодеск рекомендует, а я рекомендую книжку хорошую почитать 8).