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

ADN Club => AutoCAD .NET API => Тема начата: qst от 08-11-2018, 11:57:13

Название: Конвертация MText в DBText построчно
Отправлено: qst от 08-11-2018, 11:57:13
Всем доброго времени суток!

В редакторе можно сделать Explode для MText и получить DBText. В таком случаем MText разбивается построчно.
Как получить такой же результат программно?

Как я понял, метод ExplodeFragments разбивает текст на фрагменты, объединенные одним управляющим кодом.
Т.е. если в одной строчке будет два слова с разными управляющими кодами, то ExplodeFragments разобьет такую строку на 2 элемента DBText?


Заранее спасибо за ответ!

Название: Re: Конвертация MText в DBText построчно
Отправлено: Александр Пекшев aka Modis от 08-11-2018, 12:09:10
Так используйте метод Entity.Explode()
Название: Re: Конвертация MText в DBText построчно
Отправлено: trir от 09-11-2018, 07:02:48
Цитировать
Так используйте метод Entity.Explode()
он не всегда работает как надо...  :-[
Название: Re: Конвертация MText в DBText построчно
Отправлено: Александр Пекшев aka Modis от 09-11-2018, 09:45:50
Цитировать
Так используйте метод Entity.Explode()
он не всегда работает как надо...  :-[
Ну есть еще вариант вызвать команду _EXPLODE для предварительно выбранных примитивов
Название: Re: Конвертация MText в DBText построчно
Отправлено: trir от 09-11-2018, 09:49:36
без разницы
после импорта из .tab
Текст: "фундамен.Рп №4"
Содержимое: "{\\rtf1\\ansi{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset204 Txt;}}\r\n{\\colortbl\\red1\\green0\\blue0;}\r\n\\pard\\plain\\f0\\cf0\\fs48 \\u1092?\\u1091?\\u1085?\\u1076?\\u1072?\\u1084?\\u1077?\\u1085? . \\u1056?\\u1087? \\u8470? 4 \\par }"
после Explode точка и цифра оказывались отделным текстом
Название: Re: Конвертация MText в DBText построчно
Отправлено: Александр Пекшев aka Modis от 09-11-2018, 09:53:51
после Explode точка и цифра оказывались отделным текстом
Так все зависит от контекста задачи и условий!
Вот если вручную вызвать команду "расчленить", то результат будет такой-же? Значит, возможно, исходные данные не удовлитворительны
Также можно предварительно очистить форматирование текста (https://through-the-interface.typepad.com/through_the_interface/2010/06/stripping-mtext-formatting-using-autocads-in-place-editor-from-net.html). Но опять-же - зависит от контекста задачи
Название: Re: Конвертация MText в DBText построчно
Отправлено: trir от 09-11-2018, 10:05:24
Цитировать
результат будет такой-же?
да
Название: Re: Конвертация MText в DBText построчно
Отправлено: Александр Ривилис от 09-11-2018, 13:47:38
без разницы
после импорта из .tab
Текст: "фундамен.Рп №4"
Содержимое: "{\\rtf1\\ansi{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset204 Txt;}}\r\n{\\colortbl\\red1\\green0\\blue0;}\r\n\\pard\\plain\\f0\\cf0\\fs48 \\u1092?\\u1091?\\u1085?\\u1076?\\u1072?\\u1084?\\u1077?\\u1085? . \\u1056?\\u1087? \\u8470? 4 \\par }"
после Explode точка и цифра оказывались отделным текстом
Это RTF-текст, а не стандартный MTEXT. С ним возможны и не такие проблемы.