Ошибка при вызове Document.SaveAs в плагине для Inventor

Автор Тема: Ошибка при вызове Document.SaveAs в плагине для Inventor  (Прочитано 6546 раз)

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

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

Оффлайн МарияАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Добрый день.
 
В плагине для Inventor 2017 есть команда, по которой предполагается сохранить открытую сборку по новому пути. Примерно так:
 
Код - C# [Выбрать]
  1. global::Inventor.Document document = GetApp().ActiveDocument;
  2. if (document == null)
  3. return;
  4. document.SaveAs(@"C:\123\Корпус.iam", true);

Inventor падает с ошибкой:
System.InvalidCastException: 'Не удалось привести тип объекта "Autodesk.Inventor.InvAIRLookContent.DocTab" к типу "System.Windows.UIElement".'
 
Подскажите, в чем может быть проблема?
« Последнее редактирование: 13-12-2017, 01:36:22 от Александр Ривилис »

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
В плагине для Inventor 2017 есть команда
Я бы так сказал в API инвентора есть метод.

Теперь по существу:
System.InvalidCastException: 'Не удалось привести тип объекта "Autodesk.Inventor.InvAIRLookContent.DocTab" к типу "System.Windows.UIElement".'

На винде 7 в инвенторе 2018 у меня это проблем не вызвало.
Судя по сообщению, проблемы с WPF технологией. Что за винда стоит? 10? Нужно почитать на какую винду инвентор 2017 рассчитан.

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Мария,
Приветствую на форуме! Обратите внимание как следует форматировать код у нас на форуме (у меня в подписи).
Что касается ошибки, то было бы полезно увидеть всю трассировку. Ну и если стоят не все обновления на Inventor, то установите их.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн МарияАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Что за винда стоит? 10? Нужно почитать на какую винду инвентор 2017 рассчитан.

Windows 10. В списке системных требований Inventor 2017 она указана

Что касается ошибки, то было бы полезно увидеть всю трассировку. Ну и если стоят не все обновления на Inventor, то установите их.

Насчет обновлений - попробую. Насчет трассировки - вот все что есть:
System.InvalidCastException occurred
  HResult=0x80004002
  Message=Не удалось привести тип объекта "Autodesk.Inventor.InvAIRLookContent.DocTab" к типу "System.Windows.UIElement".
  Source=InvAIRLookContent
  StackTrace:
   at Autodesk.Inventor.InvAIRLookContent.DocTabBar.FindByTag(Object obj)

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
1. Это происходит с любым файлом или с каким-то конкретным?
2. Если установлена версия .NET Framework 4.7, то откатить её до версии 4.6.2 или обновить до 4.7.1:
https://knowledge.autodesk.com/ru/search-result/caas/sfdcarticles/sfdcarticles/RUS/Autodesk-products-not-working-after-installing-NET-Framework-4-7.html
3. Нужен тестовый проект, на котором эта ошибка воспроизводится. Откуда уверенность, что ошибка происходит именно на Document.SaveAs? Нигде в интернете ничего подобного не встречалось.
4. Та ли версия сборок Inventor используется, что и в самом Inventor?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Александр Ривилис 19-12-2017, 19:29:02

Оффлайн МарияАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Разобралась. Ошибка возникала из-за того, что вызов метода SaveAs производился из другого домена.
Спасибо всем за помощь и участие!

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
вызов метода SaveAs производился из другого домена
интересно, что за задачи такие что нужно домены юзать?

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Разобралась. Ошибка возникала из-за того, что вызов метода SaveAs производился из другого домена.
Спасибо всем за помощь и участие!
Ну до этого бы мы пожалуй не додумались сами. :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн МарияАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
интересно, что за задачи такие что нужно домены юзать?
Задача интеграции с PDM-системой. Зачем используется отдельный домен я пока не разобралась, код достался в наследство)

Оффлайн МарияАвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Ну до этого бы мы пожалуй не додумались сами.
Я начала делать тестовый проект, чтобы в нем не было ничего лишнего, и он заработал..) А пока удаляла лишнее увидела что там домен создается...