|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
17.05.2016, 15:18 | #1 | |
Вставить текст в центр прямоугольника
газо- нефтепереработка
Уфа
Регистрация: 22.07.2015
Сообщений: 98
|
||
Просмотров: 7090
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Получи границы созданного текста через vla-getboundingbox и выполняй соответствующие вычисления.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
В лиспе есть ф-ция textbox
Почитай тему Автоматический подбор высоты текста Там рассматривали, что точнее определяет габарит текста (мтекста): textbox, boundingbox, ACET-GEOM-OBJECT-POINT-LIST, ACET-GEOM-TXTBOX,
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Насколько я помню, textbox и acet-* могут работать только с объектом текста, который лежит в текущем пространстве. Могу ошибаться.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Сними дамп объекта - увидишь свойство ScaleFactor. С ним и работай.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
protorgovec, ты сначала расскажи, что в твоем понимании "длина текста". Количество символов?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Количество символов мне наверное не поможет. Мне нужна длина в мм. А можно ли определив координаты описанного прямоугольника вокруг текста
Код:
----- добавлено через ~1 мин. ----- Длина мне нужна в мм |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Можно. Вытаскивай.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Гидрит вашу перекись марганца за ногу! Получили minp, maxp, а дальше кто будет преобразования делать?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
----- добавлено через ~21 мин. ----- Цитата:
----- добавлено через ~60 мин. ----- Цитата:
----- добавлено через ~2 ч. ----- Цитата:
Код:
|
||||
|
||||
vla-getboundingbox не пойдет. Нарисуй один текст горизонтальный, второй - под углом (например 45 градусов)
Выполни код и посмотри, какие габариты возвращает vla-getboundingbox Код:
На картинке черным - результат vla-getboundingbox, красным - код из поста #14 по ссылке (ACET-GEOM-OBJECT-POINT-LIST ) ----- добавлено через ~10 мин. ----- Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 18.05.2016 в 19:37. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Цитата:
VVA, я же говорю, что предложенные тобою функции работают только с примитивами, лежащими в текущем пространстве (единственное исключение, кажется - это textbox, но в какой СК он возвращает значения, я не знаю). ----- добавлено через 35 сек. ----- Добавлю: предварительно получить нормаль объекта и углы его поворота - не вопрос.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
|
|||
|
||||
command чертит полилинию вокруг текста, это для наглядности.
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
Спасибо большое за ваши подсказки. Спасибо что вы есть!!!!!!! ----- добавлено через ~3 ч. ----- Цитата:
Код:
----- добавлено через ~7 ч. ----- Люди помогите, не могу понять как выравнить текст по центру понимаю что нужно задать параметр тексту bottomcenter, но как не могу понять. Пробывал так же как и с фактором ширины, но он вообще не принимаем данное словосочетание |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Добрый день. Подскажите. Пытаюсь определить координаты точки привязки текста
Код:
У меня автокад 2015 |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
... Или TextAlignmentPoint (если не ошибаюсь)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Да, уже после понял что это не для текста. Просто времени на это мало, читаю в попыхах. Книжка не тонкая, еще не все выучил что где примерно. Спасибо за подсказку
----- добавлено через ~1 мин. ----- Спасибо за подсказку, надеюсь в понедельник выйду на работы заставлю текст вставать как надо Алексей, а какие лучше переменные вводить, если не желательно глобальные? Глобальные чем то плохи? Как опытный программист скажешь? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Глобальные плохи тем, что их начинаешь использовать даже когда они явно не объявлены. Меняются они тоже глобально. В одной функции у тебя D1 - диаметр внешний, во второй - внутренний. При этом в первой он целый, во второй - с плавающей точкой. В первой ты ее используешь в запросе типа:
(defun f1() (if (not d1) (setq d1 10)) (getint (strcat "\nВведите значение внешнего диаметра <" (itoa d1) "> : "))) ) Во второй: (defun f2() (if (not d1) (setq d1 12.5)) (getint (strcat "\nВведите значение внутреннего диаметра <" (rtos d1 2 4) "> : ")) ) В принципе, оба запроса верные. Только вызывать их один за другим не рекомендую: получишь ошибку на втором вызове.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
----- добавлено через ~10 ч. ----- Пробывал: Код:
InsertionPoint-точка вставки, мне нужна точка выравнивания. TextAlignmentPoint - тоже самое что и при Alignment. Почему так? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Некоторые вещи разбирал тут: http://autolisp.ru/2010/04/06/text-and-attrib-entities/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ох, как же с тобой тяжело... Поменяй выравнивание, потом TextAlignmentPoint, потом InsertionPoint - в чем трудность-то?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.12.2007
Сообщений: 19
|
|
|||
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Как вставить текст в AutoCad? | Александр36 | Программирование | 20 | 01.12.2010 22:24 |
Как вывести текст в model из приложения написанного на lisp? | paradoxvaha | AutoCAD | 3 | 16.04.2007 03:54 |
Многострочный текст в атрибутах | медвежонок | AutoCAD | 1 | 09.06.2006 12:05 |
Вставить текст программно | Flint | Программирование | 13 | 03.10.2003 10:24 |