Архитектору и проектировщику|Тепло- и звукоизоляция URSA.RU
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как графически рисовать текст и вставлять его в DXF с помощью C# (.NET)?

Как графически рисовать текст и вставлять его в DXF с помощью C# (.NET)?

Ответ
Поиск в этой теме
Непрочитано 17.07.2018, 15:31 #1
Как графически рисовать текст и вставлять его в DXF с помощью C# (.NET)?
twilightrus
 
Регистрация: 17.07.2018
Сообщений: 3

Мне необходимо рисовать определенную (вложенную) геометрию и текст с помощью C#.
Важное замечание - текст должен идти не как MText (т.к. он может по разному отображаться), а рисоваться с помощью геометрических фигур (полилиний, к примеру. В Express Tools есть TXTEXP, хотелось бы иметь какой-нибудь аналог).

Пока что для геометрии и DXF в целом мне приглянулась библиотека netDxf, но я не могу догнать - как реализовать в ней текст геометрическими фигурами.
Скорее всего может понадобиться какой-нибудь тайп-конвертер, потому что в любом случае сначала нужно будет делать текст, подгонять размеры и шрифты, и только потом его преобразовывать в фигуры. И желательно что бы это было в каком-нибудь bounding box.
Просмотров: 3800
 
Непрочитано 17.07.2018, 16:09
#2
румата


 
Регистрация: 06.04.2015
Сообщений: 781


Цитата:
Сообщение от twilightrus Посмотреть сообщение
Мне необходимо рисовать определенную (вложенную) геометрию и текст с помощью C#.
Важное замечание - текст должен идти не как MText (т.к. он может по разному отображаться), а рисоваться с помощью геометрических фигур (полилиний, к примеру. В Express Tools есть TXTEXP, хотелось бы иметь какой-нибудь аналог).
Создайте библиотеку функций отрисовки геометрическими примитивами каждой буквы. Затем создайте функцию(метод) который ставит каждую из ранее созданных функций отрисовки букв в соответствие с каждым из символов алфавита и выводите нужный текст, рисованный примитивами, в dxf.
румата вне форума  
 
Автор темы   Непрочитано 17.07.2018, 16:24
#3
twilightrus


 
Регистрация: 17.07.2018
Сообщений: 3


Цитата:
Сообщение от румата Посмотреть сообщение
Создайте библиотеку функций отрисовки геометрическими примитивами каждой буквы. Затем создайте функцию(метод) который ставит каждую из ранее созданных функций отрисовки букв в соответствие с каждым из символов алфавита и выводите нужный текст, рисованный примитивами, в dxf.
Неужели по другому это невозможно? Просто на это может уйти много времени, да и шрифты + размеры у каждой буквы/знака может быть разной. Разве нет готовых реализаций просто? Или с помощью какой-нибудь либы нарисовать это дело и написать небольшой type-converter в netDxf.Entity, или еще что-нибудь. К примеру, если посмотреть на FormattedText из System.Windows.Media , никаких вытекающих вариантов по его преобразованию в DXF нет?
twilightrus вне форума  
 
Непрочитано 17.07.2018, 17:27
#4
румата


 
Регистрация: 06.04.2015
Сообщений: 781


Цитата:
Сообщение от twilightrus Посмотреть сообщение
Неужели по другому это невозможно?
Не знаю, может возможно и кто-то подскажет как это сделать.
румата вне форума  
 
Непрочитано 17.07.2018, 18:10
#5
trir


 
Регистрация: 18.12.2010
Сообщений: 3,422


Цитата:
Неужели по другому это невозможно?
можно вытащить геометрию букв из windows
посмотри

Последний раз редактировалось trir, 17.07.2018 в 18:16.
trir вне форума  
 
Непрочитано 18.07.2018, 14:52
#6
valerik88


 
Регистрация: 02.07.2016
Сообщений: 187


Цитата:
Сообщение от twilightrus Посмотреть сообщение
MText (т.к. он может по разному отображаться)
почему он может по разному отображаться?
valerik88 вне форума  
 
Непрочитано 18.07.2018, 18:18
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,785


Цитата:
Сообщение от valerik88 Посмотреть сообщение
почему он может по разному отображаться?
человек не ищет легких путей) Судя по документации, netDxf и TextStyle поддерживает.
Сергей812 вне форума  
 
Непрочитано 18.07.2018, 18:29
#8
trir


 
Регистрация: 18.12.2010
Сообщений: 3,422


Цитата:
почему он может по разному отображаться?
потому что может не быть нужного шрифта
trir вне форума  
 
Непрочитано 18.07.2018, 20:22
#9
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 6,785


если не вообще какой-нибудь станок
Сергей812 вне форума  
 
Автор темы   Непрочитано 08.08.2018, 16:48
#10
twilightrus


 
Регистрация: 17.07.2018
Сообщений: 3


Проблема решилась использованием FormattedText и netDxf. У FormattedText есть волшебный метод BuildGeometry(), из которого можно получить точки. Пример получения точек и генерации SVG - https://github.com/ForNeVeR/wpf-math...VGConverter.cs , несложно переделать получение точек под себя и генерировать полилинии
twilightrus вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как графически рисовать текст и вставлять его в DXF с помощью C# (.NET)?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как распечатать наклонный текст с помощью встроенного виртуального принтера DWG to PDF Малюк AutoCAD 1 09.01.2017 16:01
Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD JZY Готовые программы 8 14.07.2016 06:31
Перестаёт редактироваться текст. Behemoth AutoCAD 2 10.06.2009 08:04
как с помощью vba сохранить текст vasyavip Программирование 2 06.11.2008 18:53
как с помощью vba скопировать текст vasyavip Программирование 13 30.10.2008 13:11