[Inventor 2016, C#] Импорт эскиза из файла DXF/DWG

Автор Тема: [Inventor 2016, C#] Импорт эскиза из файла DXF/DWG  (Прочитано 4122 раз)

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

Оффлайн ragmanАвтор темы

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
В продолжении этой темы.

Пытаюсь осуществить импорт данных эскиза из файла DXF/DWG через API Inventor.
В самом Inventor есть команда в режиме редактирования эскиза:


По аналогии с предыдущим обсуждением решил сделать так:
Код - C# [Выбрать]
  1. WorkPlane wp = doc.ComponentDefinition.WorkPlanes[1];
  2. PlanarSketch psk = doc.ComponentDefinition.Sketches.Add(wp);
  3. DataIO pskIO = psk.DataIO;
  4. pskIO.ReadDataFromFile("DXF", System.IO.Path.Combine(pathSaveDoc, sketchFileName));
На последней строке получаю ошибку
Цитировать
System.NotImplementedException не обработано
  HResult=-2147467263
  Message=Не поддерживается (Исключение из HRESULT: 0x80004001 (E_NOTIMPL))
  ...
Тогда пробую посмотреть что же поддерживает метод ReadDataFromFile
Код - C# [Выбрать]
  1. string[] formats = new string[100];
  2. StorageTypeEnum[] s = new StorageTypeEnum[100];
  3. pskIO.GetInputFormats(ref formats, ref s);
и вижу, что он ничего не поддерживает (в массивах одни null).  :o

Пробовал войти в режим редактирования эскиза:
Код - C# [Выбрать]
  1. WorkPlane wp = doc.ComponentDefinition.WorkPlanes[1];
  2. PlanarSketch psk = doc.ComponentDefinition.Sketches.Add(wp);
  3. psk.Edit();
  4. DataIO pskIO = psk.DataIO;
  5. pskIO.ReadDataFromFile("DXF", System.IO.Path.Combine(pathSaveDoc, sketchFileName));
результат тот же.

Тогда зачем нужен этот метод?
И как реализовать импорт DXF файла в эскиз?

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
И как реализовать импорт DXF файла в эскиз?
Ну видимо в API (еще) не реализовали.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение