URSA  Библиотека материалов  Архитекторам и проектиров­щикам
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

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

Как написать текст в две строки на мультивыноске используя макрос?

Ответ
Поиск в этой теме
Непрочитано 12.08.2020, 17:37 #1
Как написать текст в две строки на мультивыноске используя макрос?
BYNC
 
Инженер-конструктор
 
Москва
Регистрация: 08.09.2015
Сообщений: 40

Добрый день!
Есть код макроса

^C^Cмвыноска;\\Выноска;

Соответственно создается выноска с содержимым "Выноска"

Как (и возможно ли) сделать такой же макрос, но чтобы текст был над и под полкой, т.е. в 2 строки?
Просмотров: 3002
 
Непрочитано 12.08.2020, 18:59
#2
Yuriy Petrovich

Конструктор
 
Регистрация: 11.03.2010
Сообщений: 106


В Autodesk SPDS (уже и для 2021 есть) это все решено уже. Удобно, настраиваемо.
Yuriy Petrovich вне форума  
 
Автор темы   Непрочитано 12.08.2020, 19:47
#3
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от Yuriy Petrovich Посмотреть сообщение
Autodesk SPDS
Как раз недавно обновился и теперь стоит 21 автокад с спдс (как по мне кривой), подскажите куда рыть, где это реализовано и чем?
BYNC вне форума  
 
Непрочитано 13.08.2020, 01:11
#4
Yuriy Petrovich

Конструктор
 
Регистрация: 11.03.2010
Сообщений: 106


Реализовано это готовыми динамическими блоками. В чем "кривость" SPDS?
Сами выноски здесь:
SPDS-Leaders-Creat Stage Construction Ltader.
Настройка выносок "под себя" здесь:
Stele Palette-Multi Text Leader.
Я бы только сначала создал копию "родной" выноски, а потом уже эту копию настраивал под себя.
Yuriy Petrovich вне форума  
 
Непрочитано 13.08.2020, 04:22
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Днепройт
Сообщений: 4,358


Если аннотация у выноски нужна именно текстовая, а не блок с атрибутами, то в самом тексте надо вводить знак абзаца - \p. Ну и в стиле выставить вариант размещения текста "подчеркивание первой строки".
__________________
Одно меня лишь радует - я это вижу сам! (С)
kp+ вне форума  
 
Автор темы   Непрочитано 13.08.2020, 09:22
#6
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от Yuriy Petrovich Посмотреть сообщение
Реализовано это готовыми динамическими блоками.
Тогда вы меня не так поняли. Мне нужны кнопки-макросы на палитре, которые будут создавать 10-15 готовых, часто мною используемых выносок, текст которых должен располагаться над и под полкой.

Цитата:
Сообщение от Yuriy Petrovich Посмотреть сообщение
В чем "кривость" SPDS?
Чертишь линию обрыва - маскировка слетает далеко от объекта, отметки уровня ведут себя произвольно при размещении, выравнивание не работает, благо хоть пересчет отметки срабатывает, если бы не modplus, работать бы пришлось по старинке, вручную..или с блоками долбаться.


Цитата:
Сообщение от kp+ Посмотреть сообщение
в самом тексте надо вводить знак абзаца - \p
Пробовал, но в макросе обратный слэш останавливает выполнение и просит меня ввести данные.

Последний раз редактировалось BYNC, 13.08.2020 в 09:42.
BYNC вне форума  
 
Непрочитано 13.08.2020, 09:48
#7
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 4,970


Из палитры можно вставить блок с его расчленением при вставке?
engngr вне форума  
 
Непрочитано 13.08.2020, 09:50
#8
Кулик Алексей aka kpblc
Moderator

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


BYNC, на форуме Autodesk вроде как есть ветка по SPDS Ext.
engngr, конечно!
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.08.2020, 12:06
#9
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от engngr Посмотреть сообщение
Из палитры можно вставить блок с его расчленением при вставке?
Можно.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
на форуме Autodesk вроде как есть ветка по SPDS Ext.
Да, но мне не это нужно, мне нужен макрос для кнопок, по типу того, что я привел в первом посте. Нажал кнопку создал выноску "Кронштейн", нажал кнопку - создал выноску "Профиль" и т.д.
BYNC вне форума  
 
Непрочитано 13.08.2020, 12:51
#10
azmt


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


Если так попробовать
*^C^C_mleader;\\ ВЕ$M=$(getvar,USERI1)Лист$M=$(getvar,USERI2);ТЕКСТРЕД П;USERI1;

Не совсем то, что вы просили, необходимо дополнительно переносить соответствующий текст клавишей Enter на следующую строку. Можно переделать под свою задачу.

Цитата:
Сообщение от Yuriy Petrovich Посмотреть сообщение
В Autodesk SPDS (уже и для 2021 есть) это все решено уже. Удобно, настраиваемо.
А если в LT человек работает.
azmt вне форума  
 
Автор темы   Непрочитано 13.08.2020, 13:18
#11
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от azmt Посмотреть сообщение
*^C^C_mleader;\\ ВЕ$M=$(getvar,USERI1)Лист$M=$(getvar,USERI2);ТЕКСТРЕД П;USERI1;
Создается выноска, нужно вписывать текст, а потом еще и запрос на изменение переменной USERI (что это?)
BYNC вне форума  
 
Непрочитано 13.08.2020, 13:23
#12
azmt


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


Вписывать ничего не надо. Пишу же "необходимо дополнительно переносить соответствующий текст клавишей Enter на следующую строку."
В моём примере создаётся выноска ВЕ№/Лист№.
Переделайте под себя, переменные USER можете не использовать.
Как вариант, можно использовать текст по умолчанию в две строки в стиле выноски.

Последний раз редактировалось azmt, 13.08.2020 в 13:41.
azmt вне форума  
 
Автор темы   Непрочитано 13.08.2020, 14:15
#13
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от azmt Посмотреть сообщение
Вписывать ничего не надо.
У меня никакого текста нет, просто создается пустая выноска и мигающий курсор, если нажать энтер то просто спускаюсь на строку вниз..

З.Ы. Попробовал еще раз, на выноске теперь (почему то) появляется текст ВЕ0Лист0, и мигающий курсор в конце, я думал он хотя бы между словами будет. Так-то моя простая команда делает тоже самое. Если не трудно можете пояснить что у вас написано в коде?
BYNC вне форума  
 
Непрочитано 13.08.2020, 14:41
#14
azmt


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


Нет, ваша команда даже не зациклена на самом деле.
Если у вас содержимое не меняется при простановке выносок, попробуйте использовать текст по умолчанию в стиле мультивыноски.
В моем примере проставляется номер системы ВЕ и номер листа на котором помещена данная система. За номера как раз отвечают переменные USER.
azmt вне форума  
 
Непрочитано 13.08.2020, 19:53
#15
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 4,970


Цитата:
Сообщение от BYNC Посмотреть сообщение
Мне нужны кнопки-макросы на палитре, которые будут создавать 10-15 готовых, часто мною используемых выносок
Цитата:
Сообщение от BYNC Посмотреть сообщение
Можно.
Если они "готовы", так загони их в блоки, блоки на палитру, и вставляй с разбивкой.
engngr вне форума  
 
Автор темы   Непрочитано 13.08.2020, 20:42
#16
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от azmt Посмотреть сообщение
ваша команда даже не зациклена на самом деле.
Да, я в курсе, мне этого как раз и не нужно.
Поясню: я хочу повесить на кнопки 10 разных выносок, чтобы брать их из палитры и ставить.

Цитата:
Сообщение от engngr Посмотреть сообщение
блоки на палитру, и вставляй с разбивкой.
Да, вероятно только так и можно решить вопрос, однако интересно, все же, неужели всемогучий программируемый автокад не может сделать подобное..
BYNC вне форума  
 
Непрочитано 13.08.2020, 22:17
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,350


Цитата:
Сообщение от BYNC Посмотреть сообщение
неужели всемогучий программируемый автокад не может сделать подобное
может, но Вы макрос хотели, а не программирование, это разные вещи и разные возможности.
__________________
_бложиг
Boxa вне форума  
 
Автор темы   Непрочитано 14.08.2020, 09:27
#18
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от Boxa Посмотреть сообщение
но Вы макрос хотели, а не программирование
Я готов с помощью макроса запускать кусок какого-либо кода, но конечно, в идеале, я думал, что это можно решить правильной записью макроса и, если это сделать невозможно, то жаль, вещь вроде как элементарная.
BYNC вне форума  
 
Непрочитано 14.08.2020, 09:42
#19
koMon


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


Цитата:
Сообщение от BYNC Посмотреть сообщение
Как написать текст в две строки на мультивыноске используя макрос?
так что нужно в финале? в автокаде у мтекстовой мультивыноски нет 2х-этажной выноски с полкой разделителем и как указал kp+ можно создать стилевым решением, но макрос никак не сможет помочь с вводом текстов для 1 и 2 этажей, так же как и не сможет это сделать например лисп, потому что в выноске просто несвязанный с произвольным вводом текст с двумя параграфами. соответсвенно можно попробовать решить эту задачу макросом с куском кода так. строится мвыноска (с правильным стилем) с текстами для этажей разделёнными например пробелом, а кусок кода на выходе заменяет пробел спецсимволом параграфа. имхо.

----- добавлено через ~2 ч. -----
это ужасно! проще написать кастомную команду построения мвыноски с аргументами этажей и навставлять её для построения фиксированных мультивыносок в кастомную же палитру.
koMon вне форума  
 
Автор темы   Непрочитано 14.08.2020, 11:23
#20
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от koMon Посмотреть сообщение
так что нужно в финале?
Как я это видел:

У меня есть макрос-кнопка которая строит мне выноску
^C^Cмвыноска;\\Выноска;

Для некоторых этого достаточно, например Кронштейн B1, а для некоторых нет, выноска длинная и в ручном режиме я энтером переношу строку, и пишу, к примеру - Профиль *энтер* горизонтальный. Так вот я хотел сделать кнопки заготовки на палитре чтобы оттуда брать эти выноски, но оказалось что никаких спец символов в тексте макроса нет, чтобы перенести строку.
BYNC вне форума  
 
Непрочитано 14.08.2020, 14:24
2 | #21
azmt


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


Если при помощи простого Лиспа:
(setq a (getpoint ))(command "_mleader" a pause (strcat "ВЕ1" (chr 10) "Лист3"))
Добавляется также на палитру как и макрос.

Последний раз редактировалось azmt, 14.08.2020 в 15:26.
azmt вне форума  
 
Автор темы   Непрочитано 14.08.2020, 20:23
#22
BYNC

Инженер-конструктор
 
Регистрация: 08.09.2015
Москва
Сообщений: 40


Цитата:
Сообщение от azmt Посмотреть сообщение
(setq a (getpoint ))(command "_mleader" a pause (strcat "ВЕ1" (chr 10) "Лист3"))
Спасибо! Это то что нужно!
BYNC вне форума  
 
Непрочитано 23.08.2020, 20:56
#23
zloy1653


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


Может быть, я чего не понимаю, но для чего столько танцев с бубнами вокруг обычной мультивыноски? Нельзя просто поставить \X перед переносимым текстом в мультивыноске? вся проблема решится автоматически. Не нужно забивать палитру ненужным хламом.
zloy1653 вне форума  
 
Непрочитано 24.08.2020, 07:38
#24
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,350


Цитата:
Сообщение от zloy1653 Посмотреть сообщение
Может быть, я чего не понимаю, но для чего столько танцев с бубнами вокруг обычной мультивыноски? Нельзя просто поставить \X перед переносимым текстом в мультивыноске? вся проблема решится автоматически. Не нужно забивать палитру ненужным хламом.
Очевидно, что не понимаете. Вы бы прежде чем писать свой коммент, попробовали то, что советуете.
__________________
_бложиг
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как написать текст в две строки на мультивыноске используя макрос?

CAD БИБЛИОТЕКА
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в "Компасе" вставлять текст без форматирования HYPERBALLOiD Компас 4 31.03.2016 12:28
Помогите написать макрос для разрыва отрезков и полилиний в AutoCad Green4x Программирование 2 01.12.2013 21:03
Как перебрать все текстовые строки в открытом Автокадовском файле используя AutoLISP? lexluther LISP 9 26.08.2009 17:37
текст командной строки под курсором Autocad 2008 aaronman AutoCAD 16 20.08.2007 00:45
Макрос и текст plaz Программирование 25 09.02.2004 12:35