Как определить версию Proxy объектов в NET

Автор Тема: Как определить версию Proxy объектов в NET  (Прочитано 5755 раз)

0 Пользователей и 4 Гостей просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Привалов ДмитрийАвтор темы

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Смысл такой
есть ProjectStudio под автокад 2008, есть ObjectEnabler под 2014.
ObjectEnabler  предупреждает что необходимо переделать объекты.
Т.е. ObjectEnabler  как-то определяет версию и заменяет объекты более новыми.

Можно ли получить версию у прокси объектов с помощью .NET API?

Пытался получить версию так, но похоже это DWG_VERSION .
Код - C# [Выбрать]
  1. Editor editor = document.Editor;
  2.  PromptEntityResult promptEntityResult = editor.GetEntity("\nУкажите графический объект");
  3.  if (promptEntityResult.Status == PromptStatus.OK)
  4. {
  5.    ObjectId objId = promptEntityResult.ObjectId;
  6.    RXClass objectClass = objId.ObjectClass;
  7.    System.Version objectVersion = objectClass.ClassVersion;
  8. }
« Последнее редактирование: 22-09-2015, 15:44:41 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Привалов Дмитрий.
Напоминаю про правила форматирования кода на форуме.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно ли получить версию у прокси объектов с помощью .NET API?
Нет. Потому что когда объекты находятся в состоянии Proxy у них нет информации о версии приложения. Только при наличии Object Enabler'а или самого приложения есть информация о версии приложения. И то её можно получить только если приложение само разработано так, что возвращает эту версию каким либо способом. В противном случае это лишь внутренняя информация приложения.
Можешь в документации ObjectARX SDK глянуть два примера:
Sample Code for dwgInFields()
Sample Code for dwgOutFields()
И это описание: Class Data or Xdata Version Numbers
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Александр Ривилис 05-10-2015, 18:05:26

Оффлайн Привалов ДмитрийАвтор темы

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
...когда объекты находятся в состоянии Proxy у них нет информации о версии приложения. Только при наличии Object Enabler'а или самого приложения есть информация о версии приложения
Есть приложение под 2008
и Object Enabler под 2014.

Sample Code for dwgInFields()
Sample Code for dwgOutFields()
Спасибо буду смотреть.
Видимо что-то подобное искал Андрей)
http://adn-cis.org/forum/index.php?topic=530.0