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

Вернуться   Форум 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 Кб, 22809 просмотров)
Тип файла: lsp change text styles (cts) 2.0c.LSP (44.3 Кб, 7091 просмотров)

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

Последний раз редактировалось VVA, 03.11.2023 в 14:28. Причина: см пост #290
Просмотров: 583853
 
Автор темы   Непрочитано 07.07.2014, 10:56
#161
VVA

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


Alexander88,
1. Файл где?
2. Не факт что они должны удалиться. Например - прокси объеты Там речь идет про блоки и типы линий, но это справедливо и для текстовых стилей
3. Поэтому файл где?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.07.2014, 11:11
#162
Alexander88


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


Файл в два раз больше допустимого, архитектура не автокаде сделана...REMOVEALLPROXY не особо помогло, больше помогли overkill, aectocad.
Alexander88 вне форума  
 
Непрочитано 07.07.2014, 11:34
#163
Alexander88


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


Прошелся еще раз по прокси - не хотят удаляться...
Вложения
Тип файла: dwg
DWG 2007
Сводный план - 1105.dwg (9.02 Мб, 2934 просмотров)
Alexander88 вне форума  
 
Непрочитано 07.07.2014, 11:56
#164
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Alexander88, во-первых, в файле полно ошибок. Во-вторых, в файле есть следы СПДС GraphiCS. В третьих, после нормальной очистки файл "худеет" в полтора раза
Вложения
Тип файла: dwg
DWG 2007
Сводный план - 1105(CAD2009).dwg (6.10 Мб, 2921 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.07.2014, 12:04
#165
Alexander88


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


Проверял
Код:
[Выделить все]
Команда: _audit
Исправить все обнаруженные ошибки? [Да/Нет] <Н>: Д
Проверка заголовка
Проверка таблиц
Проверка объектов, проход 1
Проход 1: проверено объектов: 131000
Проверка объектов, проход 2
Проход 2: проверено объектов: 131000
Проверка блоков
 Проверено блоков: 332
Проверка AcDsRecords
Всего найдено ошибок: 0, исправлено: 0
Стерто 0 объектов
Выполнял все рекомендации (изначально было 40 МБ)
Как Вы еще в 1,5 сжали?
Кстати текстовые стили по-прежнему остались..
Alexander88 вне форума  
 
Непрочитано 07.07.2014, 12:26
#166
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Если остались - значит, они где-то используются. Учитывая, сколько в файле блоков копирования-вставки, ничего удивительного. Кстати, блоки вида *X тоже надо бы вычищать
А чистил я стандартно...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.07.2014, 12:29
#167
Alexander88


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


То есть "CTS - замена текстовых стилей у всех объектов на выбранный" - мне не поможет? Нужно ручками работать?
Alexander88 вне форума  
 
Непрочитано 07.07.2014, 12:35
#168
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от Alexander88 Посмотреть сообщение
То есть "CTS - замена текстовых стилей у всех объектов на выбранный" - мне не поможет? Нужно ручками работать?
Чего не знаю, того не знаю.
P.S. Может быть, толику порядка добавит команда _.attsync
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 07.07.2014, 13:01
#169
VVA

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


Команда _-wblock с режимом * уменьшила размер на 30%
Команда CTS заменила текстовые стили
Вложения
Тип файла: dwg
DWG 2007
556644.dwg (5.93 Мб, 2875 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.01.2015, 09:57
#170
BIKE-off


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


Файл экспортирован из Компаса. Весь многострочный текст содержит внутреннее форматирование вида "\H3.5;\W0.965;\Q15;\Q15;\H5.0" и подобное. При использовании команды CTSU (TSUP для блоков и атрибутов) внутреннее форматирование сбрасывается и высота текста берётся из свойств текстового объекта. Значения высоты не совпадают. Приходится всё править руками. Дело осложняется тем, что при экспорте создаётся большое количество блоков, содержащих текст, а туда так просто не доберёшься.

Есть ли возможность быстрого редактирования файла с сохранением значения высоты текста из внутреннего форматирования?
Файл примера прикладываю.
Вложения
Тип файла: dwg
DWG 2000
Текст.dwg (113.5 Кб, 2060 просмотров)
BIKE-off вне форума  
 
Непрочитано 07.04.2015, 15:37
#171
A.Hillys


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


Столкнулся со следующим - для некоторых мультивыносок не сбрасывается форматирование текста, а именно цвет. Для каких-то - сбрасывается.
Чем эти два типа отличаются - не пойму, прилагаю пример и прошу помощи. Сбрасывал как вручную, через контекстное меню в редакторе текста , так и с помощью StripMtext.
Вложения
Тип файла: dwg
DWG 2010
Фоматирование выносок.dwg (33.9 Кб, 1675 просмотров)
A.Hillys вне форума  
 
Автор темы   Непрочитано 07.04.2015, 23:02
#172
VVA

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


Цитата:
Сообщение от A.Hillys Посмотреть сообщение
Чем эти два типа отличаются - не пойму
Я так же не могу понять в чем разница.
Пока заметил, что если кисточкой ( _matchprop ) наследовать свойства, то он становится нормальным
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.04.2015, 10:26
#173
A.Hillys


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


Да, это я тоже заметил.
Вдруг (возможно, после применения unnormalize (переопределение свойств объектов, здесь же, на форуме, найденном) все мультивыноски в черетеже стали такими, как мы видим.
С другой стороны, в испытуемом файле при применении unnormalize нормальная выноска остается нормальной.
A.Hillys вне форума  
 
Непрочитано 01.06.2015, 12:51
#174
posetitel


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


скажите, существует ли возможность обрабатывать только выделенные объекты с текстом, а не весь текст во всем файле?
posetitel вне форума  
 
Непрочитано 01.06.2015, 16:21
#175
freese

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


Цитата:
Сообщение от posetitel Посмотреть сообщение
скажите, существует ли возможность обрабатывать только выделенные объекты с текстом, а не весь текст во всем файле?
так и работает, после вызова просит выбрать объекты... или у вас иначе?
freese вне форума  
 
Непрочитано 01.06.2015, 16:27
#176
posetitel


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


иначе. предлагается выбрать игнорируемые стили, про выбор объектов ничего не спрашивают.
posetitel вне форума  
 
Непрочитано 01.06.2015, 16:34
#177
freese

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


Цитата:
Сообщение от posetitel Посмотреть сообщение
иначе. предлагается выбрать игнорируемые стили, про выбор объектов ничего не спрашивают.
а вы пробовали запускать файл StripMtext v5-0c.lsp , а не change text styles
freese вне форума  
 
Непрочитано 01.06.2015, 16:50
#178
posetitel


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


по демонстрирующей картинке я понял, что эта прога для работы с мультитекстом, причем для мультитекстов сначала надо будет выставить стиль, а потом внутреннее редактирование программа уже приведет к стилю, а у меня в чертежах есть и просто текст и мультитекст.
posetitel вне форума  
 
Непрочитано 01.06.2015, 17:01
#179
freese

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


Цитата:
Сообщение от posetitel Посмотреть сообщение
по демонстрирующей картинке я понял, что эта прога для работы с мультитекстом
правильно поняли, т.к. в автокаде обычно только мтекст имеет еще внутреннее форматирование (это форматирование программа и исправляет), а однострочный текстдостаточно выбрать и выбрать стиль

Последний раз редактировалось freese, 01.06.2015 в 17:07.
freese вне форума  
 
Непрочитано 01.06.2015, 17:20
#180
posetitel


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


вот и хочется, чтобы change text styles (cts) 1.7.LSP мог менять не только сразу весь текст во всем чертеже, но и отдельно в выделенном фрагменте чертежа
posetitel вне форума  
Ответ
Вернуться   Форум 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