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

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

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

Ответ
Поиск в этой теме
Непрочитано 07.04.2016, 18:42 #1
Как узнать количество строк многострочного атрибута?
Сет
 
Регистрация: 19.11.2014
Сообщений: 2,435

Многострочный атрибут пытается вписаться в заданную рамку. Он всегда должен быть в одну строчку, но если текст слишком длинный - появляется вторая строчка. Я бы хотел отловить этот момент и уменьшить степень сжатия текста, чтобы он вписался одной строкой в исходную рамку.

Один из вариантов как это сделать - определение факта перехода на вторую строку, соответственно вопрос - как это можно сделать?

Второй вариант - определить координаты описывающего прямоугольника. Если высота этого прямоугольника больше высоты текста - значит текст перешел на вторую строку. Вроде бы заявлено, что с объектом Attribute работает метод vla-GetBoundingBox, но у меня почему-то все время на этой функции идет ошибка, как будто бы она не применима к объектам такого типа. Я что-то не так делаю или эта функция действительно не работает с атрибутами?
Просмотров: 1204
 
Непрочитано 07.04.2016, 21:04
#2
Кулик Алексей aka kpblc
Moderator

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


А если использовать однострочный атрибут (раз уж все равно в одну строку должно быть)?
В принципе можно попробовать создавать временный многострочный текст, назначать ему соответствующие свойства и смотреть габариты. Когда текст "влезет" в указанные пределы - с него все и заберешь, удалив потом объект.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 07.04.2016, 23:10
#3
Сет


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А если использовать однострочный атрибут (раз уж все равно в одну строку должно быть)?
Дроби нужны.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В принципе можно попробовать создавать временный многострочный текст, назначать ему соответствующие свойства и смотреть габариты. Когда текст "влезет" в указанные пределы - с него все и заберешь, удалив потом объект.
Пока так и делаю, но решение корявое. Думал может есть какие-то штатные методы.
Сет вне форума  
 
Непрочитано 08.04.2016, 00:04
#4
Кулик Алексей aka kpblc
Moderator

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


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

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Лире 2013. Возможно ли узнать количество бетона в м3 по файлу модели .lir? Глеб1621 Лира / Лира-САПР 2 01.02.2016 17:03
VBA Как узнать общее количество блоков ? maratovich Программирование 20 28.02.2013 12:10
Где узнать на какое количество машин расчитан гараж? sima Прочее. Архитектура и строительство 77 15.01.2009 13:43
Как уменьшить количество строк в COMMAND LINE (ADT 2006)??? Колян Прочее. Программное обеспечение 6 12.01.2009 10:27
Как программно узнать координаты отдельных строк Мтекста? kp+ Программирование 9 24.05.2006 10:38