Вы пробовали использовать AcGiWorldGeometry
и AcGiWorldDraw
? Я не использовал ObjectArx, но я использовал DwgDirect (теперь он называется Teigha для DWG - доступен из http://www.opendesign.com/),, части которого, как предполагается, являются своего рода клоном ObjectArx. Из того, что я могу сказать, кратко читая документы ObjectArx Похоже, вы могли бы реализовать свой собственный объект AcGiWorldGeometry
и передать его методу worldDraw
вашего текста.
AcGiGeometry
определяет много, какое количество для функций обратного вызова. Когда геометрия «рисует» себя в объекте «рисование мира», будут вызваны различные функции обратного вызова.
То, как я использовал DwgDirect, вы можете переопределить некоторые из обратных вызовов, в зависимости от того, как вы хотите получить результаты. По сути, вы будете реализовывать объект для захвата «векторизации» или «взрыва» геометрии (текст в вашем случае). В DwgDirect, в простейшем случае, я мог реализовать только функцию «полилинии». Любой элемент, когда он «визуализируется», в конечном итоге распадается на одну или несколько полилиний В моем проекте, если бы я не хотел, например, получить «круг», моя реализация обратного вызова «круг» состояла бы в простом вызове базовой реализации (или я бы вообще не отменял этот обратный вызов - я не могу вспомнить ). Это приведет к следующему уровню «упрощения» и вызову моего «многоугольного» обратного вызова. Затем я мог бы захватить круг как «штриховой» многоугольник.
Существует также класс 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, и вы можете возможность получить желаемый результат.
Удачи!