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

ADN Club => Revit API => Тема начата: Vladislav от 23-01-2019, 17:45:39

Название: Триангуляция текста в Revit API
Отправлено: Vladislav от 23-01-2019, 17:45:39
Здравствуйте. Можно ли как-то триангулировать текст средствами Revit API?
То есть превратить его в сетку из треугольников, наподобие той, что дает метод Face.Triangulate(). Или получить набор вершин и их индексов.
В частности нужно триангулировать названия координационных осей.
Спасибо за ответы.
Название: Re: Триангуляция текста в Revit API
Отправлено: Александр Пекшев aka Modis от 23-01-2019, 17:47:43
Очень сильно в этом сомневаюсь. На 95% уверен, что нельзя
В частности нужно триангулировать названия координационных осей.
А зачем?
Название: Re: Триангуляция текста в Revit API
Отправлено: Vladislav от 24-01-2019, 10:53:48
Я разрабатываю конвертер из Revit в формат продукта нашей компании.
А там вся графика представлена в виде сетки из треугольников. И текст, к сожалению, тоже.
Поэтому, чтобы его отобразить мне необходимо получить триангулированную сетку для символов текста.
Название: Re: Триангуляция текста в Revit API
Отправлено: Александр Ривилис от 24-01-2019, 12:14:51
Vladislav,
Ну в Revit API такого точно нет. Поскольку Revit использует TrueType шрифты, то их векторизацию можно попытаться сделать при помощи Win32 API:
https://docs.microsoft.com/ru-ru/windows/desktop/api/wingdi/nf-wingdi-getglyphoutlinea
Возможно только понадобится масштабирование.
Название: Re: Триангуляция текста в Revit API
Отправлено: trir от 24-01-2019, 13:26:59
посмотри https://github.com/LayoutFarm/Typography
GetGlyphOutline даёт только контур, по нему нужно делать триангуляцию - для этого есть куча готовых библиотек