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

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

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

Последний раз редактировалось VVA, 03.11.2023 в 14:28. Причина: см пост #290
Просмотров: 583781
 
Непрочитано 22.10.2008, 22:18
#41
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, поясните на видеоролике для чего нужно выравнивание если выполняется все по стилю с теми настройками текста которые он имел до использования макроса
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 22.10.2008, 22:57
#42
VVA

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


Выравнивание - это просто дополнительные коды форматирования, которые появились в 2008 Автокаде. И их нужно обрабатывать, что и было добавлено в ф-цию, снимающую форматирование.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.10.2008, 14:11
#43
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 356
<phrase 1=


Что то нехочет работать TSUP..автокад выдает следующее-

Command: TSUP
_vbastmt
Expression: ThisDrawing.SetVariable "USERI1", MsgBox ("
Производится изменение начертания всех существующих
ТЕКСТОВ, АТРИБУТОВ
во ВСЕХ примитивах, включая блоки,
выбранного стиля!

Устанавливается по определению стиля
начертание, сжатие, угол наклона
Пользоваться осторожно!
Будем делать?",4,"ИЗМЕНЕНИЕ СТИЛЕЙ!!!!")
Syntax Error

Работаю на Автокад 2005(eng).
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Непрочитано 11.11.2008, 13:55
#44
Builder_Drew

Строительство, проектирование, IT, документооборот
 
Регистрация: 12.03.2007
Урал - опорный край державы
Сообщений: 44
<phrase 1=


Коллеги, имеется ли возможность деформатирования не всех текстовых стилей? то есть делать исключение для некоторых постоянно заданных стилей и не трогать их?
Builder_Drew вне форума  
 
Автор темы   Непрочитано 11.11.2008, 16:55
#45
VVA

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


Имеется, но нужно править код
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.11.2008, 09:15
#46
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 356
<phrase 1=


Так что же там за Syntax Error такой,может кто-нибудь прояснить ситуацию?
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Автор темы   Непрочитано 12.11.2008, 11:20
#47
VVA

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


getr, Потерпи немного, разгребусь, переделаю на dcl окно.
Пока как временная замена TSUP
Код:
[Выделить все]
(defun C:TSUP1 ( / *error* ret )
  (defun *error* (msg)(princ msg)(cts:layer-status-restore)(princ))
  (cts:layer-status-save)
  (initget "Да Нет Yes No _ Yes No Yes No")
  (setq ret (getkword "\nБудем обновлять? [Да/Нет] <Да>:"))
  (if (or (null ret)(= ret "Yes"))
  (progn
    (foreach style (_DWGRU-GET-USER-DCL (if (= (getvar "DWGCODEPAGE") "ANSI_1251") "Выберите стиль" "Select style") (vl-remove "" (ACAD_STRLSORT(tablelist "STYLE"))) t)
      (ru-textstyle-update style)
       ) ;_ end of foreach
    )
  )
  (cts:layer-status-restore)
  (princ)
  )
Можешь добавить эту команду в лисп из#1 и пока вызывать ее. Запрос будет идти в командной строке.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.11.2008, 16:35
#48
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 356
<phrase 1=


Хорошо,подождем...просто вопрос как то висел в воздухе.
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Автор темы   Непрочитано 02.12.2008, 18:33
#49
VVA

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


Цитата:
Сообщение от getr Посмотреть сообщение
Хорошо,подождем...просто вопрос как то висел в воздухе.
Еще ждешь? Обновил #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.12.2008, 14:59
#50
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 356
<phrase 1=


Ага ...жду,пока работаю по варианту как ты советовал выше.
После запуска обновленного лиспа автокад выдал-
no function definition: VECTOR_LINE
Опять незадача...
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Автор темы   Непрочитано 04.12.2008, 12:44
#51
VVA

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


getr, Вечная проблема с библиотечными функциями. Исправил #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.12.2008, 14:24
#52
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 356
<phrase 1=


А вот теперь все океюшки...Спасибо.
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Непрочитано 09.12.2008, 10:59
#53
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Странно, а у меня вылезает такая вот ошибка:
Цитата:
Команда: (ru-textstyle-update "*")
Ждите, привожу стиль
'*' к определению...
; ошибка: неверный тип аргумента: lentityp nil
И со стилем ничего не делается...

Может быть потому что автокад 2006 рус?
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Автор темы   Непрочитано 09.12.2008, 16:41
#54
VVA

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


Volodich, Выложи или скинь файл на почту. Со стилем в ru-textstyle-update ничего делаться и не будет.Тексты будут приводиться к установкам стиля. Почитай про TSUP и чуть ниже в #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 11.01.2009, 08:34
#55
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, А существует лисп который Мульти тексты превращает в обычные тексты?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.01.2009, 08:40
#56
Кулик Алексей aka kpblc
Moderator

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


Ага. _explode называется.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.01.2009, 09:08
#57
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Кулик Алексей aka kpblc, это опасно можно взорвать лишнего, я вот подумал, может в этот лисп интегрировать опцию такую, чтобы работала только с м-текстами, опционально, а то существуют люди которые до сих пор пользуются м-текстами
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.01.2009, 09:18
#58
Кулик Алексей aka kpblc
Moderator

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


Ага, а _qselect придуман просто так, получается?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.01.2009, 09:32
#59
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Кулик Алексей aka kpblc, так когда взрываешь м-тексты ведут себя не адекватно, утолщаются расширяются, глаз до глаз нужен...
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 11.01.2009, 09:34
#60
Кулик Алексей aka kpblc
Moderator

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


А что ж ты хочешь-то, для принудительно сформатированного текста такое и будет!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум 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