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

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

Как добавить команду (или цепочку команд) в инструментальную палитру?

Ответ
Поиск в этой теме
Непрочитано 27.12.2015, 01:54 #1
Как добавить команду (или цепочку команд) в инструментальную палитру?
dorogi-dorogi
 
Проектирование дорог
 
Регистрация: 01.03.2012
Сообщений: 600

Здравствуйте!
Использую палитры, как каталог блоков, реже для вызова черчения полилиний с заданными линиями.
В примерах палитр есть вкладки с командами, мне хотелось прописать то же самое, но не найду, как это сделать. Более того, запихнуть хотелось бы не просто команду, а уточненную

Пример 1:
в модели начерчена полилиния, щелкаю по иконке в палитре (которую надо создать), запускается команда разметка, задается блок и шаг, т.е. остается только щелкнуть по полинии, она разметится как надо..

Пример 2:
что-то вроде команды "копировать свойства". Есть в модели полилиния, щелкаю по иконке в палитре, запускается команда, выбираю полилнию, она уходит в нужный слой, цвет, тип и т.п.

Всем добра!
Просмотров: 3873
 
Непрочитано 27.12.2015, 03:21
#2
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


По первому примеру можно попробовать Action recorder, если задача решается вручную автокадовскими командами и даже с применением лиспа.
По второму это типичная кисточка
Vova вне форума  
 
Непрочитано 27.12.2015, 10:42
#3
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от dorogi-dorogi Посмотреть сообщение
Пример 2:
^C^C_-Linetype;_Load;"DASHDOTX2" "acad.lin"; ^C^C_-layer New SBG_CL; ^C^C_-layer Color 3 SBG_CL; ^C^C_-layer Ltype DASHDOTX2 SBG_CL;C^C(if (not C:SBG_CL) (LOAD "DP.lsp")) SBG_CL \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

(vl-load-com)
(defun c:SBG_CL()
(setq theobj (car (entsel "\nSelect Object: ")))
(setq theobj (vlax-ename->vla-object theobj))
(vla-put-Layer theobj "SBG_CL")
(vla-put-color theobj "BLayer")
(vla-put-ConstantWidth theobj 0.0)
(vla-put-Linetype theobj "BLayer")
(vla-put-LinetypeGeneration theobj 1)
(vla-put-LinetypeScale theobj 1.0)
)

За качество и правильность Лиспа не отвечаю, но у меня он работает в сочетаниии с макросом.
Но прицип такой.
Я всё организовол по такому принципу. И темплет файлом не пользуюсь. Нужные слои образуются по ходу обращения.


Цитата:
Сообщение от dorogi-dorogi Посмотреть сообщение
Пример 1:

^C^C_-layer New SBG_KV_819;^C^C_-layer Color 9 SBG_KV_819;^C^C_-layer Set SBG_KV_819;C^C-insert D:/AutoDesk_14/T14/S819_D ^C^C^P(command "_measure" pause "b" "S819_D" "" 2.5)(princ)
Разметка стоянок через 2,5м. Опятьже создаётся слой соответствующий номеру линии разметки, и вставляется блок вдоль края проежзей части. Правда сегодня я создал динамический блок разметки стоянок для прямых участков, но встречаются и кривые.
Valery Brelovsky вне форума  
 
Непрочитано 27.12.2015, 11:24
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Да, это что-то.
Profan вне форума  
 
Автор темы   Непрочитано 27.12.2015, 21:17
#5
dorogi-dorogi

Проектирование дорог
 
Регистрация: 01.03.2012
Сообщений: 600


Цитата:
Сообщение от Vova Посмотреть сообщение
По первому примеру можно попробовать Action recorder, если задача решается вручную автокадовскими командами и даже с применением лиспа.
По второму это типичная кисточка
Видимо, я не очень ясно изъяснился. Речь идет о том, как запихать эту кисточку с преднастроенными командами в палитру

----- добавлено через 45 сек. -----
Valery Brelovsky, спасибо!
Валерий, подскажите, как все это записать иконкой в палитру?

Profan, что-то что?
dorogi-dorogi вне форума  
 
Непрочитано 27.12.2015, 23:10
#6
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от dorogi-dorogi Посмотреть сообщение
Видимо, я не очень ясно изъяснился. Речь идет о том, как запихать эту кисточку с преднастроенными командами в палитру
Да-да, про преднастроенные свойства ты не сказал. Тем не менее канва такая:
1. Нарисуй, скажем, линию. Забери ее в буфер. Сбрось на палитру. Появится работающая иконка нескольких команд рисования
2. ПК по иконке и правим ее свойства: Меняем имя команды на свое
В строке Use flyout меняем Yes на No
Меняем макро, чтобы получилось так: ^C^C_Matchprop;\s
3. Пробуем команду, оказывается, буквой "S" вызывается диалоговое окно Property Setting, в котором надо удалять птички в ненужных клеточках, но ты ведь хочешь этого избежать. Для этого надо подавить диал. окно, для чего обычно служит переменная CMDDIA=0. Но этого здесь не происходит, поэтому нужно выражения лиспа, которое я не знаю. А если бы окно подавилось то надо продолжить макрос установкой сеттинга в правильные птички. А в конце макроса вернуть диал. окно на место.
4. Надо заменить иконку, нарисовав свою
Vova вне форума  
 
Непрочитано 27.12.2015, 23:15
#7
Кулик Алексей aka kpblc
Moderator

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


Я почему-то подозреваю, что простыми средствами решить поставленные задачи вряд ли удастся.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.12.2015, 09:30
#8
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от dorogi-dorogi Посмотреть сообщение
как запихать эту кисточку с преднастроенными командами в палитру
Перетаскиванием из диалогового окна НПИ (CUI), конечно.
Там надо сначала создать новую команду. По п. 1 макрос будет выглядеть так: ^C^C_measure;\25
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Автор темы   Непрочитано 15.01.2016, 14:33
#9
dorogi-dorogi

Проектирование дорог
 
Регистрация: 01.03.2012
Сообщений: 600


Товарищи, объясните, пожалуйста, дуракоупорно. Я хуже вас знаю автокад.
dorogi-dorogi вне форума  
 
Непрочитано 26.01.2016, 11:35
#10
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от dorogi-dorogi Посмотреть сообщение
Товарищи, объясните, пожалуйста, дуракоупорно. Я хуже вас знаю автокад.
1. В командной строке набираешь _CUI
2. В появившемся диалоговом окне нажимаешь кнопку с пятиконечной звездой и оранжевым символом "звездочка". Создается новая команда Команда1.
3. Справа в окне находишь строку Макросы. Копируешь туда ^C^C_measure;\25
4. Слева внизу нажимаешь на свою Команду1 и тащишь на палитру
5. Не забываем нажать Ок в диалоге
__________________
Правильно сформулированный вопрос содержит 90% ответа.

Последний раз редактировалось pan, 26.01.2016 в 15:32.
pan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как добавить команду (или цепочку команд) в инструментальную палитру?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить команду в раздел ленты в 2012 АлексЮстасу AutoCAD 3 11.05.2012 14:08
Командв Isolate Objects и AutoCAD 2007; есть ли возможность добавить данную команду в AutoCAD 2007 Данила123456 AutoCAD 13 01.11.2011 13:44
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27
Добавить свои цвета в цветовую палитру Zlat21 AutoCAD 1 11.12.2007 15:01