Сохранение ExtendedDataBinaryChunk в ResultBuffer

Автор Тема: Сохранение ExtendedDataBinaryChunk в ResultBuffer  (Прочитано 1902 раз)

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

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Для удобства дальнейшей работы решил сохранить свой класс в Xrecord в виде byte[].
Сериализую свой класс и получаю байтовый массив. Далее этот массив запихиваю в ResultBuffer и в Xrecord соответственно:
Код - C# [Выбрать]
  1. ResultBuffer rb = new ResultBuffer();
  2. rb.Add(new TypedValue((int)DxfCode.ExtendedDataBinaryChunk, bs));
В результате в Xrecord эти данные отсутствуют:


Если заменить свои данные на тестовые:
Код - C# [Выбрать]
  1. rb.Add(new TypedValue((int)DxfCode.ExtendedDataBinaryChunk, new byte[] { 0, 1, 2, 3, 4 }));
то все сохраняется. Есть ли у ExtendedDataBinaryChunk какой-то лимит?

PS. Можно разбить этот массив на отдельные байты и сохранить в качестве отдельных строк в ResultBuffer. В этом случае все работает, но очень долго. Так что получаемый байтовый массив рабочий.

Отмечено как Решение Алексей Терно 18-08-2019, 14:27:58

Оффлайн Алексей ТерноАвтор темы

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Сохранение ExtendedDataBinaryChunk в ResultBuffer
« Ответ #1 : 18-08-2019, 14:27:28 »
Вот тут подробно расписано, как сохранить сериализованный класс в ExtensionDictionary:
https://adndevblog.typepad.com/autocad/2012/05/serialize-a-net-class-into-an-autocad-drawing-database.html