Тема: Поворот текста в 3d

Вычерчен тект. После команды 3dorbit (установлена новая UCS) текст естественно поворачивается и становится нечитаемым. Как программно повернуть текст "обратно". Наверное все решается установкой вектора нормали, но у меня никак не получается :(, не хватает знаний.

Re: Поворот текста в 3d

В ряде случаев _просто_необходимо_ явно установить стиль текста - Acad::ErrorStatus setTextStyle(AcDbObjectId styleId);
Особенно, если текст отрисовывается в функции worldDraw как вложенный объект или просто через geometry()->text(...);

virtual Adesk::Boolean text(
    const AcGePoint3d& position,
    const AcGeVector3d& normal,
    const AcGeVector3d& direction,
    const char* pMsg,
    const Adesk::Int32 length,
    const Adesk::Boolean raw,
    const AcGiTextStyle& pTextStyle) const = 0;

position    Input the start or insertion point for the text
normal    Input the normal for the plane to contain the text
direction    Input the direction the text will go
pMsg    Input the text string to display
length    Input length
raw    Input Boolean informing AutoCAD whether to interpret escape codes
pTextStyle    Input a AcGiTextStyle object describing the desired text characteristics
Вообще, не до конца понятно, что надо. Поподробнее бы проблему описал(а).

Re: Поворот текста в 3d

Задачу решил с помощью acedcommand. Но проблема осталась. Суть ее в следующем:
Изначально UCS совпадает с WCS. Вычерчиваем текст в заданной точке. После выполнения команды 3dorbit устанавливаем новую систему координат (она не совпадает естественно с WCS, и текст при этом может не читаться, например расположен горизонтально). Как вычертить текcт в той же точке, чтобы он читался или повернуть его в 3d?

Re: Поворот текста в 3d

Всё просто - имея матрицу перехода WCS->DCS, надо применить её к тексту в функции AcDbText->transformBy(matrix).