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

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

Как определить размер MTEXT в nanoCAD'е 23.1 ?

Ответ
Поиск в этой теме
Непрочитано 09.07.2025, 09:31 #1
Как определить размер MTEXT в nanoCAD'е 23.1 ?
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 621

Всем привет!

Столкнулся с такой вот разницей в обработке MTEXT в AC и NC-23.1.

Имеем MTEXT на несколько столбцов (проблема именно в "многостолбцовости").

В первый столбец пишем текст в две строки:

Строка 1
Строка 2


а второй столбец пусть остаётся пустым /не хватило текста для него пока/.

Смотрим DXF-коды:

АС /всегда/ и NС /для ОДНОстолбцового MTEXT/:
DXF-40 - Высота единичной тестовой строки (по стилю)
DXF-43 - Высота MTEXT'а (реальная, по изображению текста на экране)
DXF-46 - Высота "рамки" MTEXT'а (т.е. то, что мы растянули мышкой в редакторе MTEXT)

Поделив DXF-43 на DXF-40 можно понять, сколько строк текста отображается на экране.
Всё замечательно.

NС /для МНОГОстолбцового MTEXT/:
DXF-40 - Высота единичной тестовой строки (по стилю)
DXF-43 = DXF-46 - Высота "рамки" MTEXT'а (т.е. то, что мы растянули мышкой в редакторе MTEXT)

А в других версиях NC то же самое?

И как теперь понять, сколько строк текста реально отображается на экране
в "рамочке MTEXT" для NC при МНОГОстолбцовом варианте?
__________________
Счастливо, Алексей!
Просмотров: 276
 
Непрочитано 09.07.2025, 09:42
#2
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
NС /для МНОГОстолбцового MTEXT/:
DXF-40 - Высота единичной тестовой строки (по стилю)
DXF-43 = DXF-46 - Высота "рамки" MTEXT'а (т.е. то, что мы растянули мышкой в редакторе MTEXT)
Откуда информация?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.07.2025, 09:48
#3
===AAA===


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


Сам проверял/сравнивал/разбирался.

Там и другие "приколы" по поведению DXF-кодов имеются...

Например, в редакторе MTEXT для NC можно уменьшить
высоту "рамки", сделав её МЕНЬШЕ, чем текст, написанный
на экране. Зрительно ничего не произойдёт, но DXF-46
станет соответствующим. Редактор MTEXT в АС такой фокус
провернуть не даст - рамка просто не будет уменьшаться,
"налезая на текст". Она "упрётся" в него.
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 09.07.2025 в 10:14.
===AAA=== вне форума  
 
Автор темы   Непрочитано 09.07.2025, 13:51
#4
===AAA===


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


И метод (vla-GetBoundingBox ...) тоже использовать не получается.

Он покажет углы "рамки" для ввода MTEXT'а, причём только для
1-го столбца, даже если текст "распределился" уже по нескольким
столбцам. :-(

Поправка.

Так произойдёт только в случае ДВУХ статических столбцов.

Если столбцов больше двух или они динамические, то метод отработает,
как в АС, т.е. покажет углы области, занимаемой всеми столбцами.
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 10.07.2025 в 14:32.
===AAA=== вне форума  
 
Непрочитано 09.07.2025, 15:03
#5
Кулик Алексей aka kpblc
Moderator

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


Смотрю DXF Reference по MTEXT:
40 : Nominal (initial) text height
41 : Reference rectangle width
42 : Horizontal width of the characters that make up the mtext entity. This value will always be equal to or less than the value of group code 41 (read-only, ignored if supplied)
43 : Vertical height of the mtext entity (read-only, ignored if supplied)
Может, в эту сторону еще посмотреть?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.07.2025, 15:14
#6
===AAA===


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


Дык в том-то и дело, что в АС коды 40/43 (этого достаточно) корректные
во всех случаях, а в NC - только в случае ОДНОстолбцового MTEXT'а.

Пока лучшее, что приходит в голову (не реализовывал) - это скормить
функции (textbox) список, составленный на основании данных MTEXT,
получить длину этого "как бы текста" и посмотреть, насколько он
влезет/не_влезет в размеры DXF-41.

Мне и надо-то немного (частный случай) - узнать, одна строка видна
или их несколько.

Ох, и глюкодром же ...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Автор темы   Непрочитано 10.07.2025, 05:41
#7
===AAA===


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


Ещё одно наблюдение.

Высотой "рамки текста", т.е. DXF-46 что в AC, что в NC управляет только
встроенный редактор MTEXT'а.

Поэтому, если изменить его значение через (entmod), то текст на экране
будет выглядеть правильно, хотя DXF-46 не изменится.

Но это только до 1-й попытки ещё раз отредактировать этот MTEXT через
встроенный редактор.

Допустим, начальное значение MTEXT было

Короткая строка

а стало:

Очень длинная
длинная длинная
длинная длинная
строка


Вызываем редактор и дописываем один символ.

АС - сразу же САМ приведёт DXF-46 в норму.
NC - проигнорирует. Как налазила "рамка" на текст - так и будет налазить.

Может быть, где-то во (vla- ...) глубинах есть данные о размерах
МНОГОстолбцового MTEXT'а на экране? Как до них добраться?
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 10.07.2025 в 07:44.
===AAA=== вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как определить размер MTEXT в nanoCAD'е 23.1 ?

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер в формате "NхШаг" sam_n Программирование 32 30.06.2019 17:50
Как определить (назначить, задать) размер катета К1 в сварных швах У7 и Т7 по ГОСТ 5264-80 rus_h Машиностроение 5 17.06.2014 10:02
Как определить размер катета К1 в сварных швах У7 и Т7 по ГОСТ 5264-80 rus_h Металлические конструкции 2 30.05.2014 19:49
помогите определить состояние здания по результатам обследования myp3uk Обследование зданий и сооружений 2 30.12.2012 01:44
Размер в листе показывает не размер детали! Witalij AutoCAD 6 24.06.2008 07:56