Сохранение представления Solid3d

Автор Тема: Сохранение представления Solid3d  (Прочитано 5222 раз)

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

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Добрый день! Возможно ли решить такую задачу:  сохранить представление(геометрию) типа Solid3d произвольной формы и потом восстановить его. Я надеялся, что Solid3d поддаётся бинарной сериализации, после чего расчитывал записать поток в какое-нибудь хранилище. но класс Solid3d не помечен как сериализуемый. Далее, я решил попробовать сериализовать BREP(boundary representation) - тоже не сериализуемый. Возможно есть другие способы сохранить данные геометрии и потом  восстановить геометрию  по данным. Буду благодарен, если натолкнте на какую-нибудь мысль, что искать, заранее всем спасибо!

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Re: Сохранение представления Solid3d
« Ответ #1 : 23-02-2015, 12:07:37 »
Ну судя по тому, что на уровне dxf данное описание зашифровано - то вряд-ли. Посмотреть формат можно здесь http://dwg.ru/dnl/4451, а Вашу задачу, в том виде что описана, проще всего решить записью примитива в файл и двоичным чтением его куда следует.

Отмечено как Решение andy_pu 23-02-2015, 17:00:15

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Сохранение представления Solid3d
« Ответ #2 : 23-02-2015, 12:17:42 »
Вариантов несколько. Но все они сводятся к работе с DXF. Например, чтение Solid3d через P/Invoke при помощи acedEntGet и в обратную сторону P/Invoke acedEntMake (или acedEntMod, если Solid3d уже создан).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Re: Сохранение представления Solid3d
« Ответ #3 : 23-02-2015, 17:01:27 »
Вариантов несколько. Но все они сводятся к работе с DXF. Например, чтение Solid3d через P/Invoke при помощи acedEntGet и в обратную сторону P/Invoke acedEntMake (или acedEntMod, если Solid3d уже создан).
Спасибо!