Всем привет. У меня нет опыта в проектировании, поэтому многие вопросы могут быть простыми. Мне необходимо написать программу для анализа файлов сборок. Описать требования к программе лучше на примере, программа должна работать следующим образом
"Пользователь выбирает 1ю сборку, программа анализирует все детали этой сборки и сохраняет их в БД, затем пользователь выбирает какую-то одну деталь из БД, открывает 2ю сборку и программа предоставляет результат, есть ли данная деталь во 2й сборке или нет". То есть нужно собрать такую информацию о детали, чтобы эту деталь потом можно было идентифицировать в другой сборке.
По этой теме есть несколько вопросов:
1)Не совсем понимаю иерархию объектов в Inventor API. Если перебирать циклом ComponentOccurrences в сборке из нескольких разных деталей, то все ComponentOccurrences.Parent возвращают один и тот же объект ComponentDefinion. Что означает объект ComponentDefinion? как можно получить информацию о каждой отдельной детали? я нашёл в интернете следующий способ
foreach (Document docin assembly.AllReferencedDocuments)
{
}
Это правильный подход?
2) Какая информация о детали нужна для построения такой системы?
3) Я предполагаю, что нужная информация есть в объекте Document.PropertySets, там довольно много свойств. В Справке к API в моём инвенторе указан метод PropertySets.Item, но коде я воспользоваться им не могу(нет такого метода). Примеры я брал отсюда
https://modthemachine.typepad.com/my_weblog/2010/02/accessing-iproperties.html . Как обрабатывать в таком случае?
4) Так же нашёл статью
https://ru.wikibooks.org/wiki/Autodesk_Inventor_API._Первые_шаги/Спецификация. В ней работают с объектом BOM с помощью тех же PropertySets. Там доступны уже другие свойства или те же самые?
У меня установлен Inventor 2017.
Надеюсь читать не устанете) буду рад любому ответу