Коллеги, добрый день!
Безуспешно попытав удачу на форуме разработчиков решил задать вопрос тут. Вдруг под Новый год действительно случаются чудеса.
Если у нас стоит задача вставить в ячейку формата СПДС не текст, а блок (растровую/векторную подпись, лого компании и т.д.), и потом немного отредактировать её, то руками это делается тривиально:
- Берём наш блок.

- В формате СПДС открываем окно редактирования основной подписи и выбираем “Внедрить объект”.

- Выбираем наш блок. Как результат в поле наименования организации появляется гордая надпись “Геометрия”.

- При этом наш блок появляется в формате.

- Выбираем формат и появляется возможность повозить блок по полю.

Внимание, вопрос! Даже два.
**Вопрос первый - как программно вставить данный блок? **
Сами данные формата можно получить через MultiCAD следующим образом:

Свойство “Enterprise” объекта McDbEntity будет хранить введённые нами данные в поле наименования организации. Если бы мы ввели текстовые данные, то там был бы просто текст. Для внедрённого блока геометрии там будет примерно такая запись в формате RTF:

Если мы этот текст вставим в другое поле в формате СПДС - в данном поле также будет нарисован наш блок. Это круто, если мы изначально знаем, как наш блок выглядит в виде потока. Вот эту самую строчку @06BgAAAAIAAQAAAQAAHAAAAOMEAAAA…
Но как получить этот поток для произвольного блока - я не понимаю. Пробовал различные типы вывода потока из Entity, из McObject и т.д.:

Всё не то. Поэтому прошу совета - как получить подобный поток из блока? Либо есть какой-то другой способ программно вставлять блоки в поля формата СПДС?
**Вопрос второй - как потом его можно перемещать по полю? При этом не ломая сам формат СПДС. **
Со вторым вопросом тоже труба. Руками поредактировать блок в формате мы можем - задать ему цвет, перемещать в поле и т.д. Как это сделать программно - загадка. Через свойства, как описано в первом вопросе, мы можем получить лишь само значение в поле, но не само поле с его свойствами.
Тем не менее в MultiCAD объект формата СПДС является McFormat - расширение класса McEntity. Если мы взорвём его геометрию, то легко дойдём до нужного элемента типа DBText, который можно легко редактировать, перемещать и т.д.:

Но взрывать и портить формат не хотелось бы. А как без этого получить доступ к параметрам данного поля - не понятно.

