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

Вернуться   Форум 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
Просмотров: 583832
 
Автор темы   Непрочитано 06.05.2009, 14:32
#81
VVA

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


Hans667, Это подойдет? Взято здесь
Код:
[Выделить все]
;; Author unknown, modifications by CAB
;;
;;;********************************************************************; 
;;; Change Mtext width                                                 ; 
;;;--------------------------------------------------------------------; 
;;; This function will allow you to change the Mtext width of selected ; 
;;; text. I use this to help in my drafting duties. I hate having to   ; 
;;; do things repetitavly, so this helps me eliaviate some of that.    ; 
;;;********************************************************************; 
(defun C:ChangeTW (/ Obj-list Obj NewWidth ssget->vla-list)
  (vl-load-com)
  ;;===================================================================; 
  ;; SSGET->VLA-LIST                                                   ; 
  ;;-------------------------------------------------------------------; 
  (defun ssget->vla-list (selection-set / index vla-list)
    (setq index (if selection-set (1- (sslength selection-set)) -1))
    (while (>= index 0)
      (setq vla-list (cons (vlax-ename->vla-object
                             (ssname selection-set index)) vla-list)
            index    (1- index)
      )
    )
    vla-list
  )
;;;===================================================================; 

  (vla-StartUndoMark (vla-Get-ActiveDocument (vlax-Get-Acad-Object)))
  (setq Obj-list (ssget->vla-list (ssget '((0 . "MTEXT")))))
  (setq NewWidth (getdist ">>:Enter new Mtext width: "))
  (mapcar
    '(lambda (obj)
       (if (vlax-property-available-p Obj 'Width)
         (vlax-put-property Obj 'Width NewWidth)
         (vlax-Release-Object Obj)
       )
     )
    Obj-list
  )
  (prompt "\>>:Objects Changed, program complete.")
  (vla-EndUndoMark (vla-Get-ActiveDocument (vlax-Get-Acad-Object)))
  (princ)
)
(prompt "\n***  Mtext width change loaded, Enter ChangeTW to run.  ***")
(princ)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.05.2009, 15:01
#82
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


так это надо в код добавить или отделиным лиспом?
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Автор темы   Непрочитано 06.05.2009, 16:57
#83
VVA

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


Можно и так и так. Как больше нравится
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.06.2009, 21:01
#84
Рyslan


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


Всем привет. Такой вопрос. Работаем с иностранцами, у них под автокад есть свой профиль, там блоки слои много чего. Русский текст печатается с английской раскладкой. когда чертеж открываешь в их профиле все нормально, текст читается, но он был только под 2006 акад. а в русском 2008 вместо русского текста абракадабра из латинских букв. может есть какие то методы борьбы с этим? text- ntrcn, а должно быть текст
Рyslan вне форума  
 
Автор темы   Непрочитано 04.06.2009, 10:43
#85
VVA

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


Рyslan,
1. Профиль можно экспортировать/ импортировать
2. Твой вариант похож на этот
Цитата:
Чтобы не создавать тему: возможен-ли лисп (а может, уже где-то есть) для перевода текста с английской раскладки клавиатуры на русскую. Т.е. имеется куча файлов, в которых как-бы набирали по-русски текст, забыв переключить язык.
Решение в посте #10
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 04.06.2009, 12:18
#86
Рyslan


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


я пробовал экспортировать, пока не получается. за лисп спасибо, буду пробовать
Рyslan вне форума  
 
Непрочитано 06.10.2009, 12:04
#87
vovan981


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


Всем привет. У меня проблема со шрифтом, много говорить не буду, кидаю файл и скриншоты в формате .doc. Верхний файл с ужирненным текстом, как справиться с этой проблемой?
Вложения
Тип файла: dwg
DWG 2007
Шрифт.dwg (266.6 Кб, 5484 просмотров)
Тип файла: doc Шрифт.doc (233.5 Кб, 232 просмотров)
vovan981 вне форума  
 
Непрочитано 04.02.2010, 09:26
#88
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


VVA, после "утюжки" файла с помощью CTSU местами не стираются куски из форматирования. И если до проходки элементы форматирования не видны, то после - становятся видны.
Прикладываю проблемный файл с мультитекстом.
Вложения
Тип файла: dwg
DWG 2004
Пример.dwg (43.6 Кб, 5498 просмотров)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 05.02.2010, 11:09
#89
VVA

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


Обновил версию 1.3 Не помню, для чего оставил 1.2 Наверное нужно удалить?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.02.2010, 13:58
#90
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


VVA, спасибо! В понедельник буду массированно тестировать!
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 05.02.2010, 17:45
#91
VVA

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


Чтобы в понедельник не было скучно добавил в #1 StripMtext v5
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.02.2010, 20:46
#92
dextron3

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


VVA, поясните для чего новый лисп в двух словах, а то я пропустил все...(
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 05.02.2010, 20:51
#93
VVA

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


Ну так вроде на картинке все показано. В двух словах StripMtext так же убирает форматирование мтекста, но можно выбирать какой тип форматирования убирать.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 22.02.2010, 18:29
#94
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Я как то опоздал к раздаче. И имеется несколько вопросов. Первый вопрос работает ли Лисп в 2000. И чем отличаются файлы 1,2 и1,3.
Valery Brelovsky вне форума  
 
Автор темы   Непрочитано 22.02.2010, 19:12
#95
VVA

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


Valery Brelovsky, Никаких специальных мер, чтобы он не работал в 2000 не предпринималось. Проще всего попробовать. По поводу версий я написал в #89. Наверное версию 1.2 нужно удалить.

*** Добавлено. Про версию 1.2 нашел ответ в #72
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.02.2010, 08:20
#96
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Но почему то вчера на работе не сработал в 2000. Делал глобальную замену всех стилей на один и результат нулевой. Вечером выложу файл на котором пробовал.

" CTS - замена текстовых стилей у всех объектов на выбранный
CSTU - замена текстовых стилей у всех объектов на выбранный с деформатирование мтексов
TSUP - изменение начертания всех существующих ТЕКСТОВ, АТРИБУТОВ во ВСЕХ примитивах, включая блоки, выбранного стиля.
Устанавливается по определению стиля начертание, сжатие, угол наклона"

Перечитал форум и понял что не правильно использовал Лисп. Посчитал что CTS не изменяет тексты атрибутов и использовал TSUP. Соответственно результат был нулевой. Т.е. CTS он меняет стили в блоках и атрибутах?

Последний раз редактировалось Valery Brelovsky, 24.02.2010 в 07:31.
Valery Brelovsky вне форума  
 
Автор темы   Непрочитано 24.02.2010, 16:56
1 | #97
VVA

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


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
Т.е. CTS он меняет стили в блоках и атрибутах?
Должен менять стиль везде (в модели, листе, описании блока) и во всем, что его (стиль) имеет в своих свойствах: тексты, мтексты, атрибуты, определения атрибутов, размеры, таблицы.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 24.02.2010 в 18:07. Причина: орфография
VVA вне форума  
 
Непрочитано 24.02.2010, 17:41
#98
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Спасибо. Уже вроде разобрался.
Valery Brelovsky вне форума  
 
Непрочитано 03.03.2010, 07:14
#99
Voltos

проектировщик РЗА
 
Регистрация: 21.02.2009
Кемерово
Сообщений: 67


А у меня выходит следующее, что не так?
http://forum.dwg.ru/attachment.php?a...1&d=1267589625
Миниатюры
Нажмите на изображение для увеличения
Название: 1111.jpg
Просмотров: 541
Размер:	17.2 Кб
ID:	34571  
__________________
Сделать лужу - одно,.. а вот наступить в чужую - совсем другое!
Voltos вне форума  
 
Автор темы   Непрочитано 03.03.2010, 22:55
#100
VVA

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


по картинке мне, например, не понятно в чем проблема. Лучше приложи файлик посмотреть
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум 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