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

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

Выполнить команду после _dimbaseline в кнопке

Ответ
Поиск в этой теме
Непрочитано 20.09.2021, 10:41 #1
Выполнить команду после _dimbaseline в кнопке
peshkoff
 
Юбутово@Москва
Регистрация: 11.06.2014
Сообщений: 78

Не знаю с какой стороны подойти.
Возможно вы по другому решаете вопрос.

Лет 18 назад создал способ создания размерной цепи по ГОСТ (на кртинке ниже) следующи образом:
В шаблоне хранятся стили размеров

GOST (ISO)
GOST (Begin of Continue)
GOST (Continue)


Первый стиль самый обычный, для всех размеров, установлен по умолчанию.
Второй и третий строят размерную цепь.
GOST (Begin of Continue) - линейный размер и ставит "0" над первой линией
GOST (Continue) - Уже сама размерная цепь, ставит размер над остальными линиями.

Чтобы не рыскать между стилями и не грузиться лишний раз, создана следующая кнопка:

^C^C_dimcontinuemode;0;_-dimstyle;r;"GOST (Begin of Continue)" _dimlinear;'graphscr;\\\_-dimstyle;r;"GOST (Continue)";_dimbaseline;

В целом я так работал, меня более чем устраивало.
Но вот возник вопрос, как прибавить автоматизации еще пару баллов и вернуться к первому стилю, GOST (ISO)?
dimbaseline выполняется до тех пор, пока ENTER или ESC не нажмешь. На любой другой бы размер можно поставить ожидание одного-двух нажатий и прописать новую команду. А как здесь выполнить после всего _-dimstyle;r;"GOST (ISO)";
Просто прописав в конце не получится, он будет пытаться их выполнить при каждом клике во время простановки базового размера...

Шаблон прикладываю
AutoCAD LT 2018+
---------
P.S. Может быть я вообще все не так делаю (и делал до этого), возможно есть попроще способы решения задачи
P.P.S. Никто не знает, как _быстро_ отредактировать текст кнопки?
В старых автокадах скразу открывались свойства кнопок. А сейчас Customaizze\CСверху стреклу вниз чтоб развернуть панели\Снизу стрелку вправо, чтоб размернуть свойства...
Ну или как окно Customize развернуть сразу все свернутые панели???

Миниатюры
Нажмите на изображение для увеличения
Название: dwg01.png
Просмотров: 45
Размер:	43.4 Кб
ID:	240888  

Вложения
Тип файла: zip Main (GOST Type A).zip (58.2 Кб, 6 просмотров)

Просмотров: 6314
 
Непрочитано 20.09.2021, 11:03
#2
AlexCondor

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


Я как-то попробовал сделать простенький лисп. Он создает новый стиль, проставляет цепочку, а по выходу возвращает текущий стиль. Попробуйте, меня в принципе устраивает.
PS. Да там с 0 проблемка. Нельзя дважды привязаться к исходной точке. Приходится сначала ставить хотя бы один размер, а потом указывать первую выносную от этого размера. Тогда ставиться и 0.
Вложения
Тип файла: zip DimNet.zip (1.1 Кб, 4 просмотров)
AlexCondor вне форума  
 
Автор темы   Непрочитано 20.09.2021, 11:17
#3
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Я как-то попробовал сделать простенький лисп. Он создает новый стиль, проставляет цепочку, а по выходу возвращает текущий стиль. Попробуйте, меня в принципе устраивает.
PS. Да там с 0 проблемка. Нельзя дважды привязаться к исходной точке. Приходится сначала ставить хотя бы один размер, а потом указывать первую выносную от этого размера. Тогда ставиться и 0.
У меня AutoCAD LT, не смогу применить, нужно решить командной строкой или максимум дизелем
С нулем решается, установив округление до 1000000
peshkoff вне форума  
 
Непрочитано 21.09.2021, 23:35
#4
engngr

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


Цитата:
Сообщение от peshkoff Посмотреть сообщение
Ну или как окно Customize развернуть сразу все свернутые панели?
На палитру инструментов для тестов кнопку затащить (сделать).
engngr вне форума  
 
Непрочитано 22.09.2021, 05:33
#5
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Сделай кнопку на палитре инструментов, там есть спецкнопки для размеров, в свойствах которых можно указать стиль. При нажатии этой кнопки будет использоваться выбранный стиль, по завершению команды будет восстанавливать прежний.
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 23
Размер:	17.0 Кб
ID:	240982  
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Автор темы   Непрочитано 22.09.2021, 14:00
#6
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от engngr Посмотреть сообщение
На палитру инструментов для тестов кнопку затащить (сделать).
Ага. командой CUI действительно открывается в полный размер.
Но нужна кнопка. Но уже лучше, спасибо!

----- добавлено через ~20 мин. -----
Цитата:
Сообщение от Krieger Посмотреть сообщение
Сделай кнопку на палитре инструментов, там есть спецкнопки для размеров, в свойствах которых можно указать стиль. При нажатии этой кнопки будет использоваться выбранный стиль, по завершению команды будет восстанавливать прежний.
Обычно палитру использую для блоков, ни разу кнопки туда не размещал.
Да, работет прикольно, но одна проблема: мне нужно два раза стиль сменить, а это получается две кнопки...
peshkoff вне форума  
 
Непрочитано 22.09.2021, 15:04
#7
AlexCondor

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


Цитата:
Сообщение от peshkoff Посмотреть сообщение
Да, работет прикольно, но одна проблема: мне нужно два раза стиль сменить, а это получается две кнопки...
Цитата:
Сообщение от peshkoff Посмотреть сообщение
GOST (Begin of Continue) - линейный размер и ставит "0" над первой линией
А зачем 2 стиля, я это делаю одним, конечно с учетом P.S. к #2.
Вложения
Тип файла: dwg
DWG 2013
Style dimbaseline.dwg (92.2 Кб, 7 просмотров)
AlexCondor вне форума  
 
Автор темы   Непрочитано 22.09.2021, 16:27
#8
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
А зачем 2 стиля, я это делаю одним, конечно с учетом P.S. к #2.
п.2 рассматривается, конечно.
У меня два стиля, т.к. я не знал как как скрыть стрелку при размере = 0.
Вот теперь обнаружил, что это делает Suppres Arrow if they don't fit...., спасибо за науку.

Но какая в итоге последовательность действий? Все равно два раза лазить до кнопки получается.

Сейчас у меня один раз нажал на кнопку, поставил первый размер, автоматом переключение на новый стиль (ну теперь получается можно и не переключать) и сразу срабатывает _dimbaseline и предлагает пощелкать по точкам. по ентеру закончили упражнение.
Вот если бы после всего этого он вернулся с изначальному стилю
peshkoff вне форума  
 
Непрочитано 23.09.2021, 09:59
#9
AlexCondor

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


Я хотел сказать, что проблема тут действительно в команде _dimbaseline. По окончании команды возникает повторный запрос на выбор базового размера.
Т.е. непонятно как используя только скрипт, выполнить команду, содержащую заранее не известное количество указываемых точек, и еще отказаться от повторного выбора, и далее выполнить следующую команду...
AlexCondor вне форума  
 
Автор темы   Непрочитано 23.09.2021, 15:51
#10
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Я хотел сказать, что проблема тут действительно в команде _dimbaseline. По окончании команды возникает повторный запрос на выбор базового размера.
Т.е. непонятно как используя только скрипт, выполнить команду, содержащую заранее не известное количество указываемых точек, и еще отказаться от повторного выбора, и далее выполнить следующую команду...
Абсолютно точно.
Я рассчитывал, что может есть какой нибудь управляющий символ. Например "\" ждет одного нажатия, а вдруг есть какой-нибудь, который ждет окончания команды...
Все перерыл, не нашел.

Еще один путь пытаюсь попробовать: DIESEL.
Можно ли в дизеле выполнить команду? Очень скудная информация по дизелю.
Я рассчитываю написать что-то наподобие $M=$(_текст с моей кнопки_),$(_поменять стиль_)
Ну т.е. выражение в первой скобке будет выполняться пока ентером не закончу, а потом следующее выражение, как будто это другая кнопка.
Не знаю. понятно ли изъясняюсь...

В общем если кто подскажет учебник с дизелем на русском или английском буду благодарен.
peshkoff вне форума  
 
Непрочитано 23.09.2021, 16:09
#11
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от peshkoff Посмотреть сообщение
В общем если кто подскажет учебник с дизелем на русском или английском буду благодарен.
В Download книга В.Света "AutoCAD язык макрокоманд"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2021, 18:45
1 | #12
engngr

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В Download книга В.Света "AutoCAD язык макрокоманд"
Как-то сканировал её, отправлял Vova - не помню, чем дело закончилось. На всякий случай линк: https://cloud.mail.ru/public/P9YD/bDSLtGYLv
engngr вне форума  
 
Непрочитано 23.09.2021, 20:51
#13
Кулик Алексей aka kpblc
Moderator

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


https://dwg.ru/dnl/3480
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2021, 23:58
#14
engngr

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


Сравни сканы.
engngr вне форума  
 
Непрочитано 24.09.2021, 06:05
#15
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Цитата:
Сообщение от peshkoff Посмотреть сообщение
Абсолютно точно.
Я рассчитывал, что может есть какой нибудь управляющий символ. Например "\" ждет одного нажатия, а вдруг есть какой-нибудь, который ждет окончания команды...
Все перерыл, не нашел.

Еще один путь пытаюсь попробовать: DIESEL.
Можно ли в дизеле выполнить команду? Очень скудная информация по дизелю.
Я рассчитываю написать что-то наподобие $M=$(_текст с моей кнопки_),$(_поменять стиль_)
Ну т.е. выражение в первой скобке будет выполняться пока ентером не закончу, а потом следующее выражение, как будто это другая кнопка.
Не знаю. понятно ли изъясняюсь...

В общем если кто подскажет учебник с дизелем на русском или английском буду благодарен.
Думаю дизель не поможет.
Просто сделай еще одну кнопку для рядового стиля.
Еще раз посмотри на палитру, пропиши там макрос и назначь в свойствах кнопки стиль. Если стиль будет один как у
AlexCondor, то макрос простейший получается, см. картинку.
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок2.PNG
Просмотров: 11
Размер:	29.5 Кб
ID:	241043  
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Автор темы   Непрочитано 24.09.2021, 23:59
#16
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от Krieger Посмотреть сообщение
Еще раз посмотри на палитру, пропиши там макрос и назначь в свойствах кнопки стиль. Если стиль будет один как у
AlexCondor, то макрос простейший получается, см. картинку.
Да, использую теперь один стиль, спасибо AlexCondor. Хотелось бы обойтись одной кнопкой на обычной панели инструментов.
Попробовал с палитрой ради интереса. Примерно такой макрос у меня и получился.
НО! Стиль предыдущий не возвращает!..
Т.е.
Цитата:
Сообщение от Krieger Посмотреть сообщение
по завершению команды будет восстанавливать прежний
не работает.
Короче, все вообще непонятно. На 2020 версии на работе не сработало, не возвращает изначальный стиль.
Попробовал дома на 2017 и ура! сработало!
Но! Один раз дал на кнопке стиль поменять, теперь не дает.... см. картинку ниже.


Цитата:
Сообщение от Krieger Посмотреть сообщение
Просто сделай еще одну кнопку для рядового стиля.
С двумя то кнопками и тема эта бы не возникла

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от engngr Посмотреть сообщение
Как-то сканировал её, отправлял Vova - не помню, чем дело закончилось. На всякий случай линк: https://cloud.mail.ru/public/P9YD/bDSLtGYLv
Да этот скан получше, чем гуляющий по сети, спасибо!
Миниатюры
Нажмите на изображение для увеличения
Название: tool.png
Просмотров: 14
Размер:	17.8 Кб
ID:	241075  

Последний раз редактировалось peshkoff, 25.09.2021 в 00:13.
peshkoff вне форума  
 
Непрочитано 25.09.2021, 04:23
#17
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Цитата:
Сообщение от peshkoff Посмотреть сообщение
С двумя то кнопками и тема эта бы не возникла
Ну у тебя ведь и так две кнопки? На одной твой макрос, а по другой ты простые размеры ставишь, вот ей и накинь стиль.

Цитата:
НО! Стиль предыдущий не возвращает!..
Оказывается, да. Не возвращает. Слои возвращает, а стиль нет. Тогда кнопки можно хоть где делать.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Автор темы   Непрочитано 25.09.2021, 16:21
#18
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от Krieger Посмотреть сообщение
Оказывается, да. Не возвращает. Слои возвращает, а стиль нет. Тогда кнопки можно хоть где делать.
в 2017 возвращает! Удалось создать кнопку на палитре, которая работает как надо.

(картинка ниже)

Получается в 2020 баг. Ну да ладно, все равно нужно как то на панель кнопку вынести.

Цитата:
Сообщение от Krieger Посмотреть сообщение
Ну у тебя ведь и так две кнопки? На одной твой макрос, а по другой ты простые размеры ставишь, вот ей и накинь стиль.
Нууу.. все равно костыль. Там же еще есть кнопки размеров то полно.

Ну в любом случае у меня уже есть варианты. У нас есть те, ко работает с палитрой, предложу вариант такой.
Там на разных версиях сидят, у кого то уже 21 автокад, может там корректно сработает
Миниатюры
Нажмите на изображение для увеличения
Название: dimbase.gif
Просмотров: 19
Размер:	576.8 Кб
ID:	241081  
peshkoff вне форума  
 
Непрочитано 25.09.2021, 16:36
#19
AlexCondor

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


Цитата:
Сообщение от peshkoff Посмотреть сообщение
Удалось создать кнопку на палитре, которая работает как надо.
А сам макрос (командную строку) можете выложить?
AlexCondor вне форума  
 
Автор темы   Непрочитано 27.09.2021, 12:00
#20
peshkoff


 
Регистрация: 11.06.2014
Юбутово@Москва
Сообщений: 78


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
А сам макрос (командную строку) можете выложить?
Для палитры командная строка не меняется, такая же, как указал выше Krieger:

Код:
[Выделить все]
 ^C^C_dimlinear;\@;\_dimbaseline;
А подмену стиля прописываем в Tool Properties. так же выше картинка приведена.

Для кнопки на панели инструментов необходимо в код засунуть смену стиля:

Код:
[Выделить все]
 ^C^C-dimstyle;r;"DimBaseLine";_dimlinear;\@;\_dimbaseline;
peshkoff вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Выполнить команду после _dimbaseline в кнопке

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместная обработка деталей после сборки exp777 Машиностроение 0 18.12.2018 23:07
После сварочная термическая обработка шва из материалов группы М01. Насколько поздно можно выполнить? majnun Организация проектирования и оформление документации 6 06.11.2018 06:43
Как автоматически выполнить команду после полной инициализации интерфейса AutoCAD 2012? lexluther Программирование 6 13.04.2018 12:41
Как правильно выполнить перекрытие с большими пролетами и неправильной формы RustamM Железобетонные конструкции 4 15.07.2015 15:33
ACAD2006. Знаки после запятой в окне Viewport Scale Control =mik= AutoCAD 2 16.06.2005 10:57