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

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

Как изменить цвет текста мультивыноски?

Ответ
Поиск в этой теме
Непрочитано 29.11.2024, 10:50 #1
Как изменить цвет текста мультивыноски?
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 627

Всем привет!

Этот вопрос время от времени пробегает и "затухает" по разным
обсуждалкам в интернете.

Вот и я до него добрался, раньше просто не нужно было.

Как я понял, у МУЛЬТИвыноски (той, которая "MULTILEADER") есть три цвета:

"общий" - меняется легко, но на что он влияет, пока непонятно
"цвет линий" - в принципе доступен, но мне его менять пока не нужно
"цвет текста" - его как раз и нужно поменять

Пока - для простоты - будем считать, что МУЛЬТИвыноска состоит из
линий и примитива MTEXT, который и нужно перекрасить.

Ничего лучше, чем добавить или заменить установленный ему "\\Cxxx;"
в голову не приходит. Но ведь где-то "родной" цвет для текста задан же...
Как до него добраться/заменить ?
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 29.11.2024 в 11:20.
Просмотров: 871
 
Непрочитано 29.11.2024, 11:09
#2
Кулик Алексей aka kpblc
Moderator

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


Для начала - разговор про LEADER или MLEADER?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.11.2024, 11:19
#3
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Сорри, поспешил. Исправил название темы и по тексту тоже.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 29.11.2024, 11:30
#4
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Но ведь где-то "родной" цвет для текста задан же...
ИМХО в описании стиля мультивыноски.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.11.2024, 11:45
#5
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Вот реальный (entget) элемента:

Цитата:
((-1 . #<Имя примитива: 000001EAA1167010>) (0 . "MULTILEADER") (5 . "988") (330 . #<Имя примитива: 000001EAAFD6DAA0>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "ВЫНОСКА") (62 . 4) (100 . "AcDbMLeader") (270 . 2) (300 . "CONTEXT_DATA{") (40 . 1.0) (10 451.377 -14.5202 0.0) (41 . 3.0) (140 . 4.0) (145 . 0.0) (174 . 6) (175 . 6) (176 . 0) (177 . 0) (290 . 1) (304 . "СПА L=2400, шаг 700х700") (11 0.0 0.0 1.0) (340 . #<Имя примитива: 000001EAAFD7D260>) (12 451.377 -10.9172 0.0) (13 1.0 0.0 0.0) (42 . 0.0) (43 . 29.7056) (44 . 0.0) (45 . 0.912) (170 . 1) (90 . -1023410175) (171 . 1) (172 . 5) (91 . -1073741824) (141 . 1.5) (92 . 0) (291 . 0) (292 . 0) (173 . 0) (293 . 0) (142 . 0.0) (143 . 0.0) (294 . 0) (295 . 0) (296 . 0) (110 464.049 -4.73421 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (297 . 0) (302 . "LEADER{") (290 . 1) (291 . 1) (10 449.64 -14.5202 0.0) (11 1.0 0.0 0.0) (90 . 0) (40 . 1.73711) (304 . "LEADER_LINE{") (10 430.929 -22.4058 0.0) (91 . 0) (92 . -1056964608) (305 . "}") (304 . "LEADER_LINE{") (10 451.284 -40.3678 0.0) (91 . 1) (92 . -1056964608) (305 . "}") (271 . 0) (303 . "}") (272 . 9) (273 . 9) (301 . "}") (340 . #<Имя примитива: 000001EAAFD7E120>) (90 . 380064) (170 . 1) (91 . -1023410173) (341 . #<Имя примитива: 000001EAAFD6E060>) (171 . -2) (290 . 1) (291 . 1) (41 . 8.0) (342 . #<Имя примитива: 000001EAAFD70E20>) (42 . 4.0) (172 . 2) (343 . #<Имя примитива: 000001EAAFD7D260>) (173 . 6) (95 . 6) (174 . 1) (175 . 0) (92 . -1023410175) (292 . 0) (93 . -1056964608) (10 1.0 1.0 1.0) (43 . 0.0) (176 . 0) (293 . 0) (294 . 0) (178 . 0) (179 . 1) (45 . 1.0) (271 . 0) (272 . 9) (273 . 9) (295 . 1))
Я уже почти все указанные в нем примитивы и субпримитивы посмотрел... и как-то не получается вычислить. :-(
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 29.11.2024, 11:47
#6
Кулик Алексей aka kpblc
Moderator

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


Я тебе говорю про описание стиля мультивыноски, а не про вхождение конкретной мультивыноски
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.11.2024, 12:02
#7
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


А где это самое "описание стиля мультивыноски" живёт?
Как до неё добраться (таблица, словарь - чего там?).
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 29.11.2024, 12:23
#8
Кулик Алексей aka kpblc
Moderator

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


Словарь "ACAD_MLEADERSTYLE" вроде бы
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.11.2024, 12:37
#9
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Да, это он. Ну хорошо:

(setq a1 (dictsearch (namedobjdict) "ACAD_MLEADERSTYLE"))

Получаем:

Цитата:
((-1 . #<Имя примитива: 000001EAAFD70B20>) (0 . "DICTIONARY") (5 . "5B") (102 . "{ACAD_REACTORS") (330 . #<Имя примитива: 000001EAAFD6D720>) (102 . "}") (330 . #<Имя примитива: 000001EAAFD6D720>) (100 . "AcDbDictionary") (281 . 1) (3 . "1") (350 . #<Имя примитива: 000001EAB0493470>) (3 . "otm") (350 . #<Имя примитива: 000001EAB0493D70>) (3 . "Standard") (350 . #<Имя примитива: 000001EAAFD70620>) (3 . "ФИРМА") (350 . #<Имя примитива: 000001EAAFD7E120>))
"ФМРМА" - это мой. Ищем дальше:

(setq a2 (car (reverse a1)))

Цитата:
(350 . #<Имя примитива: 000001EAAFD7E120>)
(entget (cdr a2))

Цитата:
((-1 . #<Имя примитива: 000001EAAFD7E120>) (0 . "MLEADERSTYLE") (5 . "256") (102 . "{ACAD_REACTORS") (330 . #<Имя примитива: 000001EAA1180A90>) (330 . #<Имя примитива: 000001EAA1167010>) (330 . #<Имя примитива: 000001EAAFD70B20>) (102 . "}") (330 . #<Имя примитива: 000001EAAFD70B20>) (100 . "AcDbMLeaderStyle") (179 . 2) (170 . 2) (171 . 1) (172 . 0) (90 . 2) (40 . 0.0) (41 . 0.0) (173 . 1) (91 . -1023410173) (340 . #<Имя примитива: 000001EAAFD6E060>) (92 . -2) (290 . 1) (42 . 2.0) (291 . 1) (43 . 8.0) (3 . "Standard") (341 . #<Имя примитива: 000001EAAFD70E20>) (44 . 4.0) (300 . "") (342 . #<Имя примитива: 000001EAAFD7D260>) (174 . 6) (178 . 6) (175 . 1) (176 . 0) (93 . -1023410175) (45 . 2.5) (292 . 0) (297 . 1) (46 . 4.0) (343 . #<Имя примитива: 0000000000000000>) (94 . -1056964608) (47 . 1.0) (49 . 1.0) (140 . 1.0) (293 . 1) (141 . 0.0) (294 . 1) (177 . 0) (142 . 1.0) (295 . 0) (296 . 0) (143 . 3.75) (271 . 0) (272 . 9) (273 . 9) (298 . 1))
Осталось в этом списке увидеть "Красный" (именно так выглядит текст) цвет.
Какой код-то?
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 29.11.2024, 13:04
#10
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,418


Предлагаю поменять цвет на другой. А потом сравнить два списка.
AlexCondor на форуме  
 
Автор темы   Непрочитано 29.11.2024, 13:34
#11
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Меняется группа 93. Если я не запутался в вариантах изменений, то получается:

красный - (93 . -1023410175)
голубой - (93 . -1023410172)
фиолетовый - (93 . -1023410170)

Да, это цвет. И информация о нём имеется для каждого вхождения мультивыноски.
И для каждого вхождения её можно менять - см. группу (90 . -1023410175) из
моего поста #5.

Меняем эту группу - меняется цвет текста мультивыноски. Индивидуально для каждой.

В принципе - этого достаточно, какому цвету соответствует какой код можно узнать
экспериментально за несколько минут.

Впрочем, если кто знает, как перевести "голубой цвет" №4 в -1023410172 - скажите,
плиз. Запишу эту функцию себе в копилку. :-)

И да - конечно нужно ещё смотреть, а не был ли цвет текста мультивыноски
"перекрашен вручную". И править уже там через "\\Cxxx;"
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 29.11.2024 в 14:11.
===AAA=== вне форума  
 
Непрочитано 29.11.2024, 14:06
1 | #12
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,817


заглянуть в dxf не вариант?
Нажмите на изображение для увеличения
Название: MLS_93.jpg
Просмотров: 44
Размер:	73.9 Кб
ID:	265700

----- добавлено через ~36 мин. -----
Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Впрочем, если кто знает, как перевести "голубой цвет" №4 в -1023410172
(boole 1 -1023410172 255) -> 4
(logand -1023410172 255) -> 4
упс
(boole 7 -1023410176 4) -> -1023410172
(logior -1023410176 4) -> -1023410172
__________________
K Lisp

Последний раз редактировалось koMon, 06.12.2024 в 14:13.
koMon вне форума  
 
Автор темы   Непрочитано 29.11.2024, 15:50
#13
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627


Примечание №1.

nanoCAD-23.1 вполне позволяет менять цвет текста мультивыноски
таким образом и спокойно работать дальше.

Но если открыть такой файл в старой версии AutoCAD (проверено
на AutoCAD-2016, -2020), то изменённый цвет мультивыноски
вернётся к цвету, определённому стилем мультивыноски.

Не критично, но имейте это в виду.

Под рукой других версий AutoCAD нет - кому не лень, проверьте,
плиз, как этот метод работает (и работает ли?) в более новых его
версиях.
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 02.12.2024 в 06:49.
===AAA=== вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как изменить цвет текста мультивыноски?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование текста и линий в мультивыноски (чохом) casaatik Программирование 4 24.07.2025 11:31
Цвет курсора при редактировании текста. Как поменять? Умка AutoCAD 12 14.06.2022 11:35
LISP. Префикс, суффикс , замена текста мультивыноски gizmo_zx LISP 2 30.12.2021 15:36
Как изменить цвет для будущих объектов на слое? iskatel111 .NET 7 09.07.2019 08:13
Как задать цвет для многострочного текста группой sergey12 AutoCAD 5 09.02.2018 12:17