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

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

Как назначить псевдоимя для составной команды (Автокад 2014)?

Ответ
Поиск в этой теме
Непрочитано 17.07.2014, 18:32 #1
Как назначить псевдоимя для составной команды (Автокад 2014)?
VAV
 
Проектировщик
 
Воронеж
Регистрация: 28.10.2009
Сообщений: 331

Как создать псевдоимя для состаной команды??? Т.е.:
Есть кнопка "Задний план", после нажатия которой выбранные объекты смещаются на задний план.
Ту же самую операцию можно осуществить, вызвав из командной строки команду ПОРЯДОК (псевдоимя ПОР), после чего выбрать нужное из четырех предлагаемых действий: Перед объектами, За объектами, Передний план, Задний план. Как сделать, чтобы псевдокоманда автоматически вызывала команду ПОРЯДОК и сразу же, без ожидания выбора пользователя, перемещала объекты на задний план?
Просмотров: 3061
 
Непрочитано 17.07.2014, 19:54
#2
casaatik

Проектирование
 
Регистрация: 14.09.2007
Киев
Сообщений: 147


Объекты до команды или после нее по-любому выбирать придется
а вот чтобы порядок и сразу зАдний план (из вариантов "Перед объектами/За объектами/пЕредний план/зАдний план"), то вот как-то так:
(command "ПОРЯДОК" "А")
как вариант временный лисп с текстом:
(defun c:пора ()
(command "ПОРЯДОК" "А")
)

и команда ПОРА для запуска
у меня после загрузки подобных лиспов даже в acad.pgp лезть не надо, команда сразу работает. (Autocad Mep 2012, W7 x64)
casaatik вне форума  
 
Автор темы   Непрочитано 18.07.2014, 14:00
#3
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


casaatik, спасибо за помощь. У меня пара вопросов:
1.как и где применять первый вариант (без временного лиспа)?
2. пробовал подгружать ваш лисп, но, к сожалению, после вызова созданной команды ПОРА и выбора объектов все-равно предлагается выбрать, что именно с этими объектами делать. Я совсем не силен в лиспе, поэтому не знаю, где его подправить, чтобы он корректно заработал. Может быть вместо пробела между "ПОРЯДОК" и "А" стоит поставить точку с запятой ( ; ) ?
VAV вне форума  
 
Непрочитано 18.07.2014, 14:53
#4
casaatik

Проектирование
 
Регистрация: 14.09.2007
Киев
Сообщений: 147


1. А если просто вставить (command "ПОРЯДОК" "А") в текстовую строку и нажать ENTER?
Может макрос на кнопку?
2. У меня с пробелом работает, а с ; нет((( В лиспах я тоже не силен, возможно гуру форума помогут.
casaatik вне форума  
 
Автор темы   Непрочитано 18.07.2014, 15:10
#5
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Цитата:
Сообщение от casaatik Посмотреть сообщение
А если просто вставить (command "ПОРЯДОК" "А") в текстовую строку и нажать ENTER?
после нажатия ЭНТЕР предлагает выбрать объекты, а потом опять запрашивает действие: на задний, на передний и т.п.
Такая кнопка в автокаде существует и макрос у нее такой: ^C^C^P(ai_draworder "_b") ^P
Я редко пользуюсь кнопками, предпочтение отдаю клавиатуре. Поэтому и назрел этот вопрос
VAV вне форума  
 
Непрочитано 18.07.2014, 15:24
#6
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от VAV Посмотреть сообщение
предпочтение отдаю клавиатуре.
Ну так и ввести _b, делов-то ))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.07.2014, 16:50
#7
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


casaatik, разобрался. если вместо (command "ПОРЯДОК" "А") сделать (command "_ПОРЯДОК" "А"), то тогда все проходит в фоне и у пользователя ничего не запрашивается. Только одно НО: это работает если перед выполнением команды предварительно уже выбраны объекты. Если сначала вызвать команду, то запрос на выбор переднего или заднего плана остается. Как это побороть? )
VAV вне форума  
 
Непрочитано 18.07.2014, 16:50
#8
Кулик Алексей aka kpblc
Moderator

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


pickfirst, насколько я помню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.07.2014, 17:37
#9
VAV

Проектировщик
 
Регистрация: 28.10.2009
Воронеж
Сообщений: 331
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
pickfirst, насколько я помню.
Эта переменная итак стоит со значением 1, иначе бы первый вариант не сработал.
VAV вне форума  
 
Непрочитано 18.07.2014, 22:21
#10
Кулик Алексей aka kpblc
Moderator

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


Тогда модифицируй под свои нужды либо http://forum.dwg.ru/showpost.php?p=165495&postcount=5 , либо http://autolisp.ru/2011/12/16/draworder/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как назначить псевдоимя для составной команды (Автокад 2014)?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение полей (fields) RomanM AutoCAD 20 24.08.2016 22:39
зависает автокад после выполнения команды OFFSET tolik_idm AutoCAD 11 10.01.2012 13:32
команды Автокада 2005 в Автокад 2006 Автокадер AutoCAD 10 14.09.2006 12:16