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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как поменять цвет всех выносок на "По слою" в редакторе?

Как поменять цвет всех выносок на "По слою" в редакторе?

Ответ
Поиск в этой теме
Непрочитано 20.01.2024, 01:10 #1
Как поменять цвет всех выносок на "По слою" в редакторе?
Hofrin
 
помощник инженера ПТО
 
Сочи
Регистрация: 25.11.2023
Сообщений: 2

Здравствуйте. Проблема заключается в том, что у выносок, которым задали цвет в редакторе, этот самый цвет невозможно поменять через свойства. Я знаю, что его можно поменять вручную, но что делать если таких выносок несколько десятков или сотен? Хотелось-бы оптимизировать данный процесс. Может кто знает Lisp или способ сбросить/изменить цвет всех выносок на чертеже? Буду признателен если поможете.
Просмотров: 797
 
Непрочитано 20.01.2024, 08:54
#2
Кулик Алексей aka kpblc
Moderator

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


Поиск по форуму - StripMText. Скорее всего, поможет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.01.2024, 11:17
#3
Ingpro


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


https://forum.dwg.ru/showthread.php?t=167952
оптом текст/мтекст (в том числе с принудительной колоризацией) в цвет bylayer можно этим, автор koMon
Код:
[Выделить все]
 (defun c:de_color_m_text_bylayer (/ mtext_list mtext_string coloring_found color_pos)
	(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
	(setq mtext_list (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget ":L" '((0 . "*text")))))))
	(foreach mtext mtext_list 
		(setq mtext_string (cdr (assoc 1 (entget mtext)))
			  coloring_found nil
		)
		(while (or 
					(setq color_pos (vl-string-search "\c" mtext_string))
					(setq color_pos (vl-string-search "\C" mtext_string))
			   )
					(setq mtext_string (strcat (substr mtext_string 1 (1- color_pos))
											   (substr mtext_string (+ 2 (vl-string-search ";" mtext_string color_pos)))
									   )
					      coloring_found (if (null coloring_found) t) 
					)
		)
		(if coloring_found 
			(vla-put-textstring (vlax-ename->vla-object mtext) mtext_string)
		)
		(if (/= 256 (vla-get-color (vlax-ename->vla-object mtext))) (vla-put-color (vlax-ename->vla-object mtext) 256))  
	)
	(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
	(princ)
)
Может, кто-нибудь из профи посоветует, как добавить в выбор лиспа и мвыноски...
Если StripMtext не поможет. Как вариант (плохой, конечно), мвыноски разнести, а текст "послою" с помощью de_color_m_text_bylayer
Но StripMtext v5-0c.lsp хорошо справляется с задачей
Миниатюры
Нажмите на изображение для увеличения
Название: Image 1.png
Просмотров: 36
Размер:	21.7 Кб
ID:	261061  Нажмите на изображение для увеличения
Название: Image 2.png
Просмотров: 39
Размер:	8.8 Кб
ID:	261062  
Вложения
Тип файла: lsp StripMtext v5-0c.lsp (60.1 Кб, 15 просмотров)

Последний раз редактировалось Ingpro, 20.01.2024 в 16:09.
Ingpro вне форума  
 
Автор темы   Непрочитано 20.01.2024, 17:00
#4
Hofrin

помощник инженера ПТО
 
Регистрация: 25.11.2023
Сочи
Сообщений: 2


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Поиск по форуму - StripMText. Скорее всего, поможет.
К сожалению не помагает

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Ingpro Посмотреть сообщение
https://forum.dwg.ru/showthread.php?t=167952
оптом текст/мтекст (в том числе с принудительной колоризацией) в цвет bylayer можно этим, автор koMon
Код:
[Выделить все]
 (defun c:de_color_m_text_bylayer (/ mtext_list mtext_string coloring_found color_pos)
	(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
	(setq mtext_list (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget ":L" '((0 . "*text")))))))
	(foreach mtext mtext_list 
		(setq mtext_string (cdr (assoc 1 (entget mtext)))
			  coloring_found nil
		)
		(while (or 
					(setq color_pos (vl-string-search "\c" mtext_string))
					(setq color_pos (vl-string-search "\C" mtext_string))
			   )
					(setq mtext_string (strcat (substr mtext_string 1 (1- color_pos))
											   (substr mtext_string (+ 2 (vl-string-search ";" mtext_string color_pos)))
									   )
					      coloring_found (if (null coloring_found) t) 
					)
		)
		(if coloring_found 
			(vla-put-textstring (vlax-ename->vla-object mtext) mtext_string)
		)
		(if (/= 256 (vla-get-color (vlax-ename->vla-object mtext))) (vla-put-color (vlax-ename->vla-object mtext) 256))  
	)
	(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
	(princ)
)
Может, кто-нибудь из профи посоветует, как добавить в выбор лиспа и мвыноски...
Если StripMtext не поможет. Как вариант (плохой, конечно), мвыноски разнести, а текст "послою" с помощью de_color_m_text_bylayer
Но StripMtext v5-0c.lsp хорошо справляется с задачей
StripMtext v5-0c.lsp не помогает, а код выделяет текст, а на выноски
Hofrin вне форума  
 
Непрочитано 20.01.2024, 17:43
#5
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Hofrin Посмотреть сообщение
К сожалению не помагает
Ты б образец такого файла показал - что изначально, и к какому виду приводить. Может, кто-то чего дельного и подскажет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.01.2024, 17:46
#6
Ingpro


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


Цитата:
Сообщение от Hofrin Посмотреть сообщение
StripMtext v5-0c.lsp не помогает, а код выделяет текст, а не выноски
Если не собираетесь мвыноски редактировать, а так, чтобы лучше смотрелось, мвыноски взорвите и получившийся мтекст перекрасьте с помощью de_color_m_text_bylayer...
А лучше выложите dwg с мвыносками, посмотрим, что можно сделать...
Ingpro вне форума  
 
Непрочитано 20.01.2024, 17:54
#7
affandy

Проекты, экспертиза, технадзор
 
Регистрация: 10.09.2011
Московская область
Сообщений: 139


в ModPlus есть такая функция (в бесплатной версии работает).
Нажмите на изображение для увеличения
Название: 01.jpg
Просмотров: 62
Размер:	63.1 Кб
ID:	261069
Нажмите на изображение для увеличения
Название: 02.jpg
Просмотров: 61
Размер:	51.1 Кб
ID:	261070
__________________
Ничто так не сближает как разногласия...

Последний раз редактировалось affandy, 20.01.2024 в 18:06.
affandy вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как поменять цвет всех выносок на "По слою" в редакторе?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять стиль текста в редакторе блоков РТО4 AutoCAD 5 17.07.2015 06:05
Как поменять цвет линий в VBA Linkor Программирование 4 02.07.2014 10:44
Как поменять цвет атрибутов уже вставленных в чертёж блоков? МишаИнженер Программирование 5 09.10.2012 20:55
acad 2010 где цвет поменять в двух местах ? mvart AutoCAD 2 03.10.2011 12:28
Возможно ли поменять цвет вкладки листа при его выделении? hudozhnik AutoCAD 2 31.03.2011 20:35