ADN Open CIS
Сообщество программистов Autodesk в СНГ

30/05/2013

Хранение 64-битного целого в ResultBuffer

Вопрос:

Я не смог найти DXF код для хранения 64-битного целого в Расширенных данных (Extended Data). Есть ли такой?

Ответ:

Нет. Такого кода для хранения 64-битного значения в Расширенных данных (XData) нет. Это сделано специально, так как в противном случае предыдущие версии AutoCAD не смогли бы прочитать такой файл.

Одним из методов обхода является разделение 64-разрядного целого на две части по 32 бита (старшие 32 бита и младшие 32 бита) и предшествующий код для того, чтобы вы знали что их следует объединить для получения 64-разрядного целого.

Второй обходной путь заключается в использовании XRecords вместо of XData, так как они поддерживают kDxfInt64. При этом при сохранении XRecords в формате 2007 и предыдущих 64-битный код в XRecord преобразуется в XData, которая прицепляется к объектам XRecord.

Источник: http://adndevblog.typepad.com/autocad/2012/10/storing-64-bit-integer-in-result-buffer.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=90.0

Опубликовано 30.05.2013
Отредактировано 08.06.2013 в 02:44:15