Вы пытались использовать AcGiWorldGeometry
и AcGiWorldDraw
? Я не использовал ObjectArx, но я использовал DwgDirect (теперь называемый Teigha для DWG), доступный от http://www.opendesign.com/), части которого предполагается быть своего рода клоном ObjectArx. Из того, что я могу сказать, кратко прочитав документы ObjectArx, кажется, что вы можете реализовать свой собственный объект AcGiWorldGeometry
и передать его методу worldDraw
вашего текста.
AcGiGeometry
определяет много количества функций обратного вызова. Когда геометрия «втягивается» в объект «world draw», будут вызваны различные функции обратного вызова.
В способе, которым я использовал DwgDirect, вы можете переопределить некоторые обратные вызовы, в зависимости от того, как вы хотите получать результаты. По сути, вы бы использовали объект для захвата «векторизации» или «взрыва» геометрии (текст в вашем случае). В DwgDirect в простейшем случае я мог реализовать только функцию «полилинии». Любой элемент, когда «вынесенный» в конечном итоге разбивается на одну или несколько полилиний. В моем проекте, если бы я не хотел получать «круг», например, моя реализация обратного вызова «круг» состояла бы в том, чтобы просто вызвать базовую реализацию (или я бы не стал переопределять этот обратный вызов вообще - я не могу вспомнить). Это приведет к следующему уровню «упрощения», и мой callback-запрос «polygon» будет вызван. Затем я мог бы захватить круг как «поглаженный» многоугольник.
Существует также класс AcGiTextEngine, который может помочь. Обратите внимание, что его методы отмечены «только для внутреннего использования». Сказав это, существует метод tesellate (перегруженный), который, по-видимому, обеспечивает возможность поглаживания/разведения/tesellation. Из подписи кажется, что вы даете ему текстовый стиль, некоторый текст (строка) и «PolylineCallback», и, я думаю, он будет вызывать обратный вызов в соответствии с параметрами.
Прошу прощения, что у меня нет хорошего примера кода для вас, но проект, в котором я использовал DwgDirect, был давным-давно, и теперь у меня нет простого доступа к этому коду. Я не использовал ObjectArx напрямую, поэтому у меня также нет примеров этого кода.
Оглянувшись на мой ответ и присмотревшись к документации (которую я нашел здесь: http://docs.autodesk.com/ACDMAC/2011/ENU/ObjectARX%20Reference/index.html), похоже, что я смотрел документы C++.Я не знаю, существует ли эквивалентная функциональность в интерфейсе .NET.
[EDIT]
Согласно файлу справки, что я нашел здесь (http://www.codeproject.com/KB/dotnet/arxref.aspx), это выглядит есть подобные классы в. NET, которая может позволить вам попытаться сделать то, что я описал выше. Начните с WorldGeometry и WorldDraw, и вы сможете получить желаемый результат.
Удачи вам!
Да, я не могу использовать команду TxtExp, в основном потому, что я делаю все за кадром. Хотя TxtExp является частью дополнения Express Tools, он дает мне надежду, что это можно сделать. Мне просто нужен источник! – Kratz