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

ADN Club => Inventor API => Тема начата: R.I.Chernov от 03-03-2020, 16:10:23

Название: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 03-03-2020, 16:10:23
Доброго времени суток, уважаемые форумчане! Хотел обсудить с вами вышеуказанную тему.

Когда-то давно,как и многие, я задался целью разобраться, как с помощью программы я могу помочь своей работе.
Изначально все сводилось к тому, что есть типовая параметрическая модель, максимально завязанная на несколько основных величин.
Эти величины менялись программно, отчего модель перестраивалась. Модели были небольшими, ключевых параметров было с десяток, и все было просто.
Но с ростом опыта, и сложности выполняемых задач, все чаще я начал сталкивался с тем, что модели содержат десятки, иногда сотни определяющих геометрию параметров.
Например сегодня, для определения небольшого куска модели мне надо где-то сохранить 64 пары значений (byte). Отчего я задумался, может быть хранение данных в параметрах моделей не самый лучший / эффективный способ решения задачи? Но лично я знаю лишь один альтернативный вариант - внедрение файла эксель, но считывание данных с него вроде бы не очень удобно, и если не ошибаюсь, медленнее. Кто-то может что либо посоветовать, или дать какие-то комментарии по данному вопросу?

Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 03-03-2020, 16:12:13
Отдельный вопрос хранения данных возникает, если я, например, хочу создать на чертеже свою спецификацию, вот отрисовать, прям как мне это надо. Где хранить ее данные, которые графически отображены пользователю на теле чертежа?
Название: Re: Хранение данных в файлах Inventor.
Отправлено: mikazakov от 03-03-2020, 18:21:15
Атрибуты на многих объектах есть можно там складывать, плюс в атрибутах поиск автоматизирован через атрибутмэнеджер.
Об атрибутах в хэлпе есть мануал.

Есть еще в каждом документе функции
Document.GetPrivateStorage
Document.GetPrivateStream
Они позволяют получать доступ к инвенторовскому файлу через "Сишный" интерфейс IStorage
Но это немного сложно без привычки.
Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 04-03-2020, 13:32:24
Атрибуты на многих объектах есть можно там складывать, плюс в атрибутах поиск автоматизирован через атрибутмэнеджер.

Вы имеете ввиду Document.PropertySets["Inventor User Defined Properties"] ?

Document.GetPrivateStorage
Document.GetPrivateStream

Вообще ни одного примера не смог нагуглить, пока не понятно, что это. В любом случае, спасибо большое за наводку, хотя бы ясно, что искать
Название: Re: Хранение данных в файлах Inventor.
Отправлено: mikazakov от 04-03-2020, 17:38:33
Вы имеете ввиду Document.PropertySets["Inventor User Defined Properties"] ?
Нет  property это свойства, в них тоже можно хранить, но атрибуты удобнее
Почитать можно в хэлпе, где найти смотри скрин:
(https://i.postimg.cc/yDkLv185/image.png) (https://postimg.cc/yDkLv185)
Иерархия атрибутов похожа на иерархию свойств. С атрибутами работать немного поудобнее для поиска есть объект Document.AttributeManager

Вообще ни одного примера не смог нагуглить, пока не понятно, что это.
Неудивительно, для NET-программистов это очень непривычная вещь, работает через интерфейс IStorage
https://docs.microsoft.com/en-us/windows/win32/api/objidl/nn-objidl-istorage

, но может оно вам и не нужно и хватит атрибутов
Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 05-03-2020, 12:13:15
Спасибо, Михаил!
Название: Re: Хранение данных в файлах Inventor.
Отправлено: anton.gorschnev от 17-04-2020, 08:11:58
Доброго времени суток,  хотел вставить свои пять копеек. Как я понял Вы добрались до чертежей, говорили про спецификацию. Я сам новичок но недавно ковырял Интермеховскую надстройку ЕСКД, там довольно широко используются атрибуты возможно Вам будет полезно в качестве примера. то что мне удалось понять смотри мой пост "Костыли для надстройки ЕСКД".
Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 17-04-2020, 17:24:45
Ок, спасибо!
Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 17-04-2020, 17:26:28
смотри мой пост "Костыли для надстройки ЕСКД".
Дайте ссылочку, если не сложно, а то я что-то не нашел
Название: Re: Хранение данных в файлах Inventor.
Отправлено: anton.gorschnev от 18-04-2020, 13:01:33
https://adn-cis.org/forum/index.php?topic=9735.0  (https://adn-cis.org/forum/index.php?topic=9735.0)
Название: Re: Хранение данных в файлах Inventor.
Отправлено: anton.gorschnev от 18-04-2020, 13:06:20
Обратите внимание как у них ТТ сделано для спецификации на чертеже самое то. Если ещё событие на выбор с фильтрации по сигнатуре атрибуто и вызовом своей формы подвязать будет по-моему хорошо.
Название: Re: Хранение данных в файлах Inventor.
Отправлено: R.I.Chernov от 19-04-2020, 15:49:56
Еще раз спасибо!