Как изменить стиль текста во всем чертеже? - Страница 2
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как изменить стиль текста во всем чертеже?

Как изменить стиль текста во всем чертеже?

Ответ
Поиск в этой теме
Непрочитано 11.12.2009, 19:12
Как изменить стиль текста во всем чертеже?
Albino
 
Регистрация: 27.05.2009
Сообщений: 153

Доброго времени суток!

Подскажите, пожалуйста, как можно изменить стиль текста сразу во всем чертеже? Пробовал изменять параметры в Текстовых стилях (команда стиль), но параметры текста изменились только для новых элементов, а элементы, которые уже были начерчены так и остались не тронутыми..
Просмотров: 68268
 
Непрочитано 12.12.2009, 21:57
#21
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Цитата:
Сообщение от cancercat Посмотреть сообщение
sbi, для Мтекста - не пойдёт
Согласен! У Albino Мтекст только в штампе. А в чертеже все меняется сразу ( там просто однострочный текст).
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 12.12.2009, 23:40
#22
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от cancercat Посмотреть сообщение
А в размерных стилях цвет текста установлен "по блоку". Желательно, всё-таки, или "по слою" или задавать какой-нибудь.
Не рекомендую - последствия могут быть "не очень". Все же лучше оставлять "ПоБлоку" и не искать приключений.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.12.2009, 15:58
#23
wetr

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


Цитата:
Сообщение от cancercat Посмотреть сообщение
sbi, для Мтекста - не пойдёт. См. мой пост выше и попробуй в Автокаде. Я сам на это напоролся не так давно, что стиль Мтекста - текущий, а шрифт не по стилю, а как поставил кто-то умный в редакторе Мтекста...
все так. В этом случае должен помочь лисп VVA
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 13.12.2009, 17:20
#24
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Кулик Алексей aka kpblc, а почему? Что может быть нехорошего? "По блоку" - цвет размерного текста какой будет и чем будет определяться?
cancercat вне форума  
 
Автор темы   Непрочитано 13.12.2009, 18:28
#25
Albino


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


Цитата:
все так. В этом случае должен помочь лисп VVA
Команда CTS из его программы тоже не работает, все остальные работают нормально.
Albino вне форума  
 
Непрочитано 14.12.2009, 00:00
#26
Кулик Алексей aka kpblc
Moderator

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


cancercat, если грубо - то размер (в представлении AutoCAD) есть не что иное, как блок. И работать с ним надо соответствующим образом
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.12.2009, 00:22
#27
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Кулик Алексей aka kpblc, ну, не знаю. Что-то как-то не похожи они... Ты не ответил про цвет. Кстати, с прошедшим!
cancercat вне форума  
 
Непрочитано 14.12.2009, 01:40
#28
Кулик Алексей aka kpblc
Moderator

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


Так я про то, что слой элементам размера можно поменять (правда, программно, но сути дела это не меняет). А если настройки установлены "послою", то в результате в лучшем случае получим размер, раскрашенный как новогодняя елка. А если размер вставлен в блок или внешнюю ссылку, результат вообще лично для меня становится малопредсказуемым. Сугубо ИМХО, ибо я сейчас пьян и проверять что бы то ни было силенков не хватат
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.12.2009, 12:57
#29
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Albino Посмотреть сообщение
Команда CTS из его программы тоже не работает, все остальные работают нормально.
Читай внимательно. Твоя команда CTSU
Цитата:
CTSU - замена текстовых стилей у всех объектов на выбранный с очисткой форматирования многострочных текстов
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 16.12.2009, 19:53
#30
Albino


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


Скажите, пожалуйста, а существует ли программа, подобная change text styles, только для "слоев"? То есть чтобы у всех элементов определенного типа можно было бы изменять слой?
Albino вне форума  
 
Непрочитано 16.12.2009, 21:36
#31
Кулик Алексей aka kpblc
Moderator

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


"Определенного типа" - это какого? Обрабатывать объекты такого типа внутри блоков или нет?
Задачу ставь яснее...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.12.2009, 22:46
#32
Albino


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


Нет. К примеру, мне необходимо поменять слой у всего текста в чертеже. Если менять стандартными средствами, то опять же ничего не выходит..
Albino вне форума  
 
Непрочитано 17.12.2009, 00:28
#33
Кулик Алексей aka kpblc
Moderator

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


Что "нет"? Конкретно слой - пожалуйста. Только имя слоя придется вводить руками (на диалог сейчас силенков нема):
Код:
[Выделить все]
(vl-load-com)

(defun c:change-text-layer (/ *error* fun_restore-layers adoc new_layer layer_lst)

  (defun fun_restore-layers ()
    (foreach item layer_lst
      (foreach sub (cdr item)
        (vl-catch-all-apply
          (function
            (lambda ()
              (vlax-put-property (car item) (car sub) (cdr item))
              ) ;_ end of lambda
            ) ;_ end of function
          ) ;_ end of vl-catch-all-apply
        ) ;_ end of foreach
      ) ;_ end of foreach
    ) ;_ end of defun

  (defun *error* (msg)
    (fun_restore-layers)
    (vla-endundomark adoc)
    (princ msg)
    (princ)
    ) ;_ end of defun

  (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
  (if (and (= (type (setq new_layer (vl-catch-all-apply
                                      (function
                                        (lambda ()
                                          (getstring t "\nВведите имя слоя для объектов текстов <Отмена> : ")
                                          ) ;_ end of lambda
                                        ) ;_ end of function
                                      ) ;_ end of vl-catch-all-apply
                          ) ;_ end of setq
                    ) ;_ end of type
              'str
              ) ;_ end of =
           (not (vl-catch-all-error-p
                  (vl-catch-all-apply
                    (function
                      (lambda ()
                        (vla-item (vla-get-layers adoc) new_layer)
                        ) ;_ end of lambda
                      ) ;_ end of function
                    ) ;_ end of vl-catch-all-apply
                  ) ;_ end of vl-catch-all-error-p
                ) ;_ end of not
           ) ;_ end of and
    (progn
      (vlax-for item (vla-get-layers adoc)
        (setq layer_lst (cons (cons item
                                    (mapcar (function (lambda (x / tmp)
                                                        (setq tmp (vlax-get-property item x))
                                                        (vl-catch-all-apply
                                                          (function
                                                            (lambda ()
                                                              (vlax-put-property item x :vlax-false)
                                                              ) ;_ end of lambda
                                                            ) ;_ end of function
                                                          ) ;_ end of vl-catch-all-apply
                                                        (cons x tmp)
                                                        ) ;_ end of lambda
                                                      ) ;_ end of function
                                            '("freeze" "lock")
                                            ) ;_ end of mapcar
                                    ) ;_ end of list
                              layer_lst
                              ) ;_ end of cons
              ) ;_ end of setq
        ) ;_ end of vlax-for
      (vlax-for blk_def (vla-get-blocks adoc)
        (if (equal (vla-get-isxref blk_def) :vlax-false)
          (vlax-for ent blk_def
            (if (wcmatch (strcase (vla-get-objectname ent)) "*TEXT*")
              (vla-put-layer ent new_layer)
              ) ;_ end of if
            ) ;_ end of vlax-for
          ) ;_ end of if
        ) ;_ end of vlax-for
      ) ;_ end of progn
    ) ;_ end of if
  (fun_restore-layers)
  (vla-regen adoc acallviewports)
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun

(princ "\nДля запуска наберите change-text-layer")
(princ)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.12.2009, 10:15
#34
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638


Чтобы поменять слой у всего текста, попробуй выделить всё, вызвать свойства, из раскрывающегося списка выбери текст и меняй слой.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 397
Размер:	24.5 Кб
ID:	30700  
__________________
Нерешаемых проблем не бывает.
KronSerg вне форума  
 
Непрочитано 17.12.2009, 10:55
#35
Кулик Алексей aka kpblc
Moderator

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


KronSerg, такой подход не обработает тексты в других пространствах. Да и внутрь блоков не зайдет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как изменить стиль текста во всем чертеже?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить рабочую область а автокаде 2007? hikkikamori AutoCAD 5 04.05.2009 00:15
Редактор однострочного текста в 2008-м ... неудобно однако, как исправить. Conan_w AutoCAD 9 14.05.2008 16:28
Как у текста изменить Width factor ? inst2005 Программирование 2 05.05.2008 01:19
Как найти определенный объект в чертеже? Shoorup Программирование 7 27.03.2008 09:11
Как программно удалить Стиль Текста Led AutoCAD 2 12.01.2004 14:35