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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Замена текстового стиля

LISP. Замена текстового стиля

Ответ
Поиск в этой теме
Непрочитано 18.09.2008, 17:53 15 | 1
LISP. Замена текстового стиля
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

По мотивам Замена текстового стиля
Команды CTS и CTSU подверглись косметическим улучшением.
Добавлена команда TSUP - изменение начертания текстов, атрибутов на основе установок выбранного стиля (начертание, сжатие, угол наклона).
Использована функция ru-textstyle-update любезно предоставленная ShaggyDoc
Описание команд:
Как это работает - см пост #12
CTS - замена текстовых стилей у всех объектов на выбранный
CTSU - замена текстовых стилей у всех объектов на выбранный с очисткой форматирования многострочных текстов
TSUP - Для выбранного стиля изменяется начертания всех существующих ТЕКСТОВ, АТРИБУТОВ во ВСЕХ примитивах, включая блоки в соответствии с установками стиля (начертание, сжатие, угол наклона). Сначала с помощью команды _style задаем необходимые установки стиля (шрифт, наклон, сжатие/растяжение). Затем командой TSUP для всех текстов и атрибутов, вычерченных этим стилем, устанавливается наклон, сжатие/растяжение такой же как и в определении стиля.
UNF-MTEXT - Убрать форматирование мтекста
Допустим у Вас текст, вычерченный стилем Стиль1 с углом наклона 15 градусов. Вызываем команду _style и выставляем в стиле Стиль1 угол 0. В тексте угол остался прежним 15 градусов. Чтобы синхронизировать параметры текста с параметрами стиля (наклон, сжатие/растяжение) и вызываем команду TSUP.

Возможный вариант макроса для пунктов 3-5
Код:
[Выделить все]
(if (null C:CTS)(load "change text styles (cts)"));CTS;(cts:layer-status-save);(ru-textstyle-update "*");_.PURGE;
***Изменения
22.10.2008 Добавлена обработка форматирования МТЕКСТОВ для Автокада с 2008 версии (выравнивание влево, вправо, посередине, по ширине, распределенное)
02.12.2008 Изменена ф-ция cts:msg-yes в соответствии с постом #46 Диалог строится не VBA, а лиспом (dcl)
26.02.2009 Версия 1.3 Исключена обработка блоков внешних ссылок (Спасибо Sleekka). Добавлен выбор игнорируемых стилей
16.03.2009 В версии 1.3 CTSU исправлена ошибка с разным количеством аргументов
05.02.2010 Добавлена обработка дополнительного форматирования в ф-цию mip_MTEXT_Unformat (см. сообщение wetr)
09.03.2010 В версии 1.4 в TSUP исправлена ошибка обработки примитивов только на текущем листе
03.06.2010 Отдельная команда для удаления форматирования мтекста
23.12.2011 UNF-MTEXT (vla-SetCellState item row col acCellStateNone) Снятие блокировки ячейки
21.11.2013 Добавлена обработка MLEADER. Команда CTS
20.04.2016 Добавлена функция CTS:GET-TEXTSTRING (как замена vla-get-textstring. Т.к. неверно возвращает строку при наличии юникод символов)
http://forums.autodesk.com/t5/visual...s/td-p/4365165


Описание
Цитата:
DESCRIPTION

StripMtext v5.0b Copyright© Steve Doman and Joe Burke 2010

StripMtext is an AutoLISP program that runs inside AutoCAD 2000 or above and enables the AutoCAD user to quickly remove unwanted Mtext formatting embedded in Mtext, Mleaders, Dimensions, Tables, and Multiline Attributes objects.
Оригинальный пост (требуется регистрация)





В версии 1.5 добавлена отдельная команда UNF-MTEXT для удаления форматирования MTEXTa
В версии 1.6 добавлено снятие блокировки ячейки таблицы при установке связи Datalink
Важно!!! Начиная с 2021 Автокада может не срабатывать команда stripmtext. Решение - установить системную переменную LISPSYS=0
См пост #281 и #282 или гугл

Вложения
Тип файла: lsp StripMtext v5-0c.lsp (60.1 Кб, 22808 просмотров)
Тип файла: lsp change text styles (cts) 2.0c.LSP (44.3 Кб, 7090 просмотров)

__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 03.11.2023 в 14:28. Причина: см пост #290
Просмотров: 583824
 
Непрочитано 01.06.2015, 17:23
#181
freese

ingénieur
 
Регистрация: 21.07.2008
Сообщений: 762


что вы хотите от change text styles? Чтобы изменить стиль, лиспов не надо, достаточно выбрать фрагмент и выбрать стиль
freese вне форума  
 
Автор темы   Непрочитано 01.06.2015, 18:01
#182
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от posetitel Посмотреть сообщение
существует ли возможность обрабатывать только выделенные объекты с текстом,
Теоретически такая возможность есть. В программе - нет. Как вариант: вырезать выделенные объекты с текстом и вставить в новый файл, обработать CTS, затем вернуть обратно
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 01.06.2015, 19:25
#183
posetitel


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


freese, change text styles меняет стили и в блоках и на размерах, простым выбором фрагмента и выбором стиля этого не добьешься.
VVA, а планируется ли доработка лиспа до появления такой возможности?
posetitel вне форума  
 
Непрочитано 09.10.2015, 11:08
#184
CHILD_11


 
Регистрация: 10.03.2011
СПб
Сообщений: 101


команда TSUP не изменила текст внутри блоков в соответствии с текущим описанием стиля...
если захожу в блок, выбираю МТекст и "изменяю" его стиль вручную (в кавычках написал, потому что на самом-то деле стиль не меняю, просто еще раз выбираю тот же, что и был), то он обновляется в соответствии с новым описанием.
а вот через TSUP - нет.

----- добавлено через 18 сек. -----
2015 автокад
CHILD_11 вне форума  
 
Автор темы   Непрочитано 09.10.2015, 21:26
#185
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


CHILD_11, выложи файл с примером
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.10.2015, 10:20
#186
CHILD_11


 
Регистрация: 10.03.2011
СПб
Сообщений: 101


VVA, поправка информации: команда не меняет даже текст вне блока. Когда запускал команду в прошлый раз, то уже вручную поменял весь внеблоковый МТекст (поэтому не заметил, что не сработало).

Может, дело в том, что текст аннотативный? Файл прикладываю.
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (77.1 Кб, 894 просмотров)
CHILD_11 вне форума  
 
Непрочитано 16.10.2015, 11:40 VVA
#187
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Возможно ли модифицировать UNF-MTEXT для работы в том числе с многострочными атрибутами?

P.S. Для исключения непечатаемых символов форматирования мтекста.
Вложения
Тип файла: dwg
DWG 2010
как-применить-UNF-MTEXT-к-многострочным-атрибутам---.dwg (127.8 Кб, 835 просмотров)
__________________
tc71
perpetule вне форума  
 
Непрочитано 30.10.2015, 15:05 StripMtext
#188
fillbear


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


Подскажите, почему не работает команда StripMtext?
Файл загружается, команда запущена, идет выбор объектов, настройка параметров, а результат выдает ошибку:

Command: _smt
StripMtext v5.0c
Select objects: Specify opposite corner: 4 found

Select objects:

StripMtext Error: bad argument type: VLA-OBJECT nil


Команды файла "change text styles (cts) 1.7.LSP" работают все, включая реактор.
Спасибо.
fillbear вне форума  
 
Непрочитано 04.12.2015, 09:35
#189
nitc


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


Спасибо автору, это гениально!
nitc вне форума  
 
Непрочитано 27.01.2016, 10:14
#190
EVgen2015


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


Здравствуйте, зашел в тупик при использовании lisp. У меня стоит autocad 2014, при попытке поменять текст с помощью CTSU - загружается lisp, но при этом ничего не меняется. В 2008 все работает. Если нужно могу скинуть файл.
EVgen2015 вне форума  
 
Непрочитано 27.01.2016, 14:06
#191
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


Цитата:
Сообщение от EVgen2015 Посмотреть сообщение
Если нужно могу скинуть файл.
Приложите файл. Пока это все голословно.
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 28.01.2016, 10:34
#192
EVgen2015


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


Вот, прошу. Может это проблема 2014?
Вложения
Тип файла: dwg
DWG 2004
Пример.dwg (44.7 Кб, 199 просмотров)
EVgen2015 вне форума  
 
Непрочитано 28.01.2016, 10:49
#193
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 893


Цитата:
Сообщение от EVgen2015 Посмотреть сообщение
Может это проблема 2014?
Работает нормально и в 2014 и в 2015
kacugu вне форума  
 
Непрочитано 28.01.2016, 13:09
#194
EVgen2015


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


Спасибо, значит проблемы у меня.
EVgen2015 вне форума  
 
Непрочитано 19.04.2016, 16:40
#195
LKiNg


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


Здравствуйте!
Спасибо за замечательную программку!

Есть одна проблемка - текст неизвестно как был создан - но при применении СTSU диаметры, знак Фи и верхний индекс превращаются в вопросы...

99* - (320 кгс/м\U+00B2);
принят {\Fspds|c0;\U+03B3}n=1,2.
-0,3°С.
78 \U+2205325х8мм, \U+2205159х8мм

Если бы они были сделаны %%d - проблем бы не было... А вот квадратный (верхний индекс 2) - тоже вопросом
Вложения
Тип файла: dwg
DWG 2013
Чертеж2.dwg (30.7 Кб, 35 просмотров)

Последний раз редактировалось LKiNg, 19.04.2016 в 18:02.
LKiNg вне форума  
 
Автор темы   Непрочитано 20.04.2016, 18:33
#196
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


LKiNg, Текст нормальный. Проблема известная, у Автодеска никак руки не дойдут пофиксить
Цитата:
20.04.2016 Добавлена функция CTS:GET-TEXTSTRING (как замена vla-get-textstring. Т.к. неверно возвращает строку при наличии юникод символов)
http://forums.autodesk.com/t5/visual...s/td-p/4365165
Обновил #1 до версии 1.8
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.01.2017, 10:31
#197
Tamara_N


 
Регистрация: 20.10.2016
Москва
Сообщений: 13


А у меня при применении команд CTSU и UNF-MTEXT в начале деформатированного текста вылезает примерно такая строчка: xl1,sm0.8,t8;
Думала, коды форматирования, посмотрела - вроде не так они выглядят, да и команды эти их убирать должны.
Подскажите, что это и как от него избавиться.

P.S. Strip M-Text попробовала, хорошо работает, никаких лишних символов.

Последний раз редактировалось Tamara_N, 12.01.2017 в 13:26.
Tamara_N вне форума  
 
Непрочитано 12.01.2017, 16:14
#198
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Tamara_N, прикрепите к посту файл, в котором происходят указанные события. Достаточно оставить в нем только "больные" текстовые объекты до применения команд.
UnFormat String от Lee Mac пробовали?
skkkk вне форума  
 
Непрочитано 12.01.2017, 17:33
#199
Tamara_N


 
Регистрация: 20.10.2016
Москва
Сообщений: 13


UnFormat String не пробовала. StripMtext хорошо сработал, но, с одной стороны, change text styles мне кажется очень удобным, а с другой - интересно, в чем все-таки дело))
Файл с текстом прилагается.
Вложения
Тип файла: dwg
DWG 2010
Текст.dwg (73.9 Кб, 34 просмотров)
Tamara_N вне форума  
 
Непрочитано 16.01.2017, 09:06
#200
Tamara_N


 
Регистрация: 20.10.2016
Москва
Сообщений: 13


А вот так текст выглядит после применения команды UNF-MTEXT
Миниатюры
Нажмите на изображение для увеличения
Название: Text.JPG
Просмотров: 159
Размер:	50.0 Кб
ID:	182125  
Tamara_N вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Замена текстового стиля

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена текстого стиля Shoorup Программирование 43 19.05.2015 09:22
Есть ли замена текстового редактора MtmdEdit 2.4.0 beta for AutoCAD 2007 dextron3 Программирование 16 23.06.2008 20:54
Библиотека доступа к содержимому растров из LISP - существуе kp+ LISP 6 16.10.2007 21:45
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19
Настройка "Стандартного" текстового стиля. Кулик Алексей aka kpblc AutoCAD 6 23.10.2003 22:49