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

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

Попасть в слой.

Ответ
Поиск в этой теме
Непрочитано 22.02.2006, 05:38
Попасть в слой.
Vova
 
Engineer
 
New-York
Регистрация: 05.09.2003
Сообщений: 10,288

Все хотят, чтобы размер встал в слой РАЗМЕРЫ (условно) не переключаясь в него
Как это сделать?
Просмотров: 36084
 
Непрочитано 01.03.2006, 12:33
#61
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Это макрос для temporary override keys...

А если работает только clayer, то как заставить работать остальное?
X-DeViL вне форума  
 
Непрочитано 01.03.2006, 13:02
#62
Кулик Алексей aka kpblc
Moderator

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


Я с temporary overrides не работал, но у меня вопрос - а слой-то вообще существует? или идет попытка назначить clayer невозможное значение? Может, слой сначала все же создавать надо, а?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.03.2006, 13:15
#63
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Существует... 100%
X-DeViL вне форума  
 
Непрочитано 01.03.2006, 13:28
#64
Кулик Алексей aka kpblc
Moderator

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


Попробовал на 2005 провернуть просто назначение слоя в прозрачном режиме. Ни фига, имя сначала надо вычислить для слоя. Народ, может, стоит сначала попробовать простой макрос наваять, а потом уже на temp override замахиваться? Потому как у меня простого универсального макроса не получилось (лисп не упоминаю сознательно).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.03.2006, 13:44
#65
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Если получится наваять ЛИСП в одну строчку который все это делает, то флаг в руки я в лиспе них... чего не смыслю вааааабще
X-DeViL вне форума  
 
Непрочитано 01.03.2006, 14:37
#66
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от X-DeViL
Если получится наваять ЛИСП в одну строчку .....
Легко получится. Наваять много строк, потом убрать (или привести к виду ;| каммент |;) комментарии и убрать переводы строки.
vk вне форума  
 
Непрочитано 01.03.2006, 14:56
#67
Кулик Алексей aka kpblc
Moderator

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


Маленький момент - лисп должен поддерживать работу в прозрачном режиме (ЯТД). Лично мне такое не реализовать (надеюсь, что это когда-нибудь исправится).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.03.2006, 15:01
#68
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


ну тогда на дизеле... он поддерживает... только как сделать так чтобы уже запущеная команда не прерывалась?
X-DeViL вне форума  
 
Автор темы   Непрочитано 02.03.2006, 05:27
#69
Vova

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


Невысокая активность говорит о том, что обладатели 2006 не очень понимают, о чем речь. Я бы хотел, чтобы мы коллективно разобрались с одной фитчей, которая обещает интересную перспективу-работая в текущем слое можно прижать клавишу, при этом текущим станет другой слой-нарисовать в него что-то и, отпустив клавишу, вернуть прежний слой. Создайте в учебном чертеже 2 слоя-один с именем Sloi-1, и другой- Sloi-2. Текущим сделайте первый. Хелп откройте на статье Temporary Override Keys. Я даю здесь вольный перевод, где больше отсебятины.
1. Откроем окно CUI, в левом верхнем углу выбираем Main CUI File (acad.cui) и в этом списке открываем Keyboard Shortcuts.
2. Здесь 2 строки Shortcut Keys и Temporary Override Keys (Горячие клавиши и временные горячие клавиши) Кликнем на Temporary... Раскрывается список существующих временных (а кто про них знает?). Здесь, по идее, можно назначить и свое собственное. Но сначала опробуем существующее. Пусть это будет включалка привязок. -Toggles Object Snap Mode - и дважды по ней щелкнем. В окне справа вверху выделилась строка с F3. Мы знаем эту клавишу. При нажатии она переключала привязки. Но чтобы при удержании? Здесь есть и вторая строка SHIFT+' Клик по любой из этих строк выдает в нижнем правом окне совершенно одинаковый макрос переклучения привязок, по-идее должно работать одинаково. Но ведь Shift + одинарная кавычка должен выдать двойную кавычку, это верхний регистр? Странно. Возьмем команду Line, прижмем Shift+' и видим... Точнее, кто видит, а кто нет. В зависимости от состояния переменной Tempoverrides. Поставьте ее в 1. Теперь можно в процессе команды прижать либо F3, либо SHIFT+' и около курсора появится чашка с блюдцем (для любителей кофе) Привязки временно отключатся. Отпуская клавиши, привязки возобновляются.
Точно также можно назначить перемену слоя. Продолжаем читать HELP.
3. ...
Продолжение от меня поступит только через сутки. Если не найдутся нетерпеливые, и не продолжат. Макрос, который я дал в №54, работает. Но у меня не все получилось, поэтому готового решения не будет. Пробуйте...
Vova вне форума  
 
Непрочитано 02.03.2006, 09:15
#70
Profan


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


Вот что я сделал (AutoCAD 2006 РУС).
Создал новую клавишу временной замены с названием "Замена слоя". Сочетание клавиш SHIFT+1 (для пробы).
Макрос 1 (нажатие клавиши):
^C^C(setq lay (getvar "clayer"));_-layer;_m;Размеры;;
Макрос 2 (отпускание клавиши):
^C^C(setvar "clayer" lay);(setq lay nil);
Как работает.
Допустим, вызвал команду "_line" ("отрезок"). Не указывая точки, нажимаю SHIFT+1. Команда отменяется, слой переключается на "Размеры". Теперь при нажатых SHIFT+1 могу рисовать на слое "Размеры". Нарисовал, отпустил клавиши, вернулся предыдущий слой.
Что надо проверить.
Роль ^C^C.
Думаю, что для клавишников такая фигня с клавишами временной замены малоприемлима.
Profan вне форума  
 
Непрочитано 02.03.2006, 17:27
#71
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Варианты макросов на DIESEL.
Нажатие:
Код:
[Выделить все]
'_.users1;$(eval,$(getvar,clayer));'_.-layer;_m;"Размеры";;
Отпускание:
Код:
[Выделить все]
'_.clayer;$(eval,$(getvar,users1));
AY вне форума  
 
Автор темы   Непрочитано 03.03.2006, 04:36
#72
Vova

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


1. ^c^c должно быть, без них не работает, поэтому сначала надо взять (почти?) любую команду рисования, затем нажать врем. горячие клавиши, в результате знаки ^c^c отменят эту команду, но позволят войти в режим временной команды, где чашка с блюдцем. Затем надо взять уже нужную команду - рисования или вставки блока и работать, не отпуская клавиш.
2. Согласно Help при отпускании клавиш, если во второй строке (отпускание) ничего нет, должен восстановиться постоянный режим. В нашем случая, должен вернуться прежний слой. Но этого не происходит. Profan и АУ дали вторую строку. (Profan> можешь дать здесь выписку из русского хелпа?) В моем варианте макроса (№54) я дал во второй строке ^C^C_Layerp. И все работает.
НО
При последующей попытке возобновить команду правой кнопкой мыши выдается Layerp и автокад ругается. То есть здесь недоработка AutoDesk
3. Чисто работать только на клавишах не удается. Если первый раз команду можно взять с клавиш, то, уже удерживая клавиши (Shift+1-в варианте Profan), приходится работать только с кнопок. Даже с Tool Palette команды не берутся.
4. Есть еще одно необычное для автокада ограничение для назначения горячих клавиш. Но я оставляю это как загадку. Кто возится с этим делом, должен обязательно наткнуться и задaться вопросом-почему комбинации не создаются?
5. Попробуйте нарисовать Spline в режиме перевода в новый слой. У меня при удержании Shift+1 и нажатии ПК комп начинает трещать и на экран выходит законное меню с привязками. Это что, две фитчи вступили в противоречие?
Vova вне форума  
 
Непрочитано 03.03.2006, 06:42
#73
Krieger

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


Попробуйте так:
Нажатие:
Код:
[Выделить все]
(setq lay (getvar "clayer"));(setvar "clayer" "Размерные")
Отпускание:
Код:
[Выделить все]
(setvar "clayer" lay);(setq lay nil);
Так как все реализовано функциями лиспа, есть возможность запускать их ПРОЗРАЧНО! ^С^С - здесь не надо.
Порядок действий:
Вводим команду, например vov-ин сплайн; жмем shift+1; указываем на экране две точки; теперь можно отпустить shift+1 и слой поменяется назад, а сплайн дальше будет чертиться в слое "Размерные"; указываем остальные точки; жмем правую кнопку сколько угодно раз; если хотим привязки жмем с ctrl. У меня все зашибись, команды можно вводить хоть с комстроки, хоть с кнопок, хоть с тулпалета - все работает.
Единственный минус - слои должны быть заранее определены в чертеже. Но так как я не гуру, пользуюсь шаблонами и все моё всегда со мной.
Krieger вне форума  
 
Непрочитано 03.03.2006, 06:49
#74
Profan


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


Для Vova
Вот выдержка из русского "Руководства по адаптации":

Для создания клавиши временной замены

1 Щелкните меню "Сервис" -> "Адаптация" -> "Интерфейс".
2 На вкладке "Адаптация" диалогового окна "Настройка интерфейса
пользователя" нажмите знак (+) рядом со списком "Горячие клавиши", чтобы
развернуть этот список.
3 На панели "Адаптации в <имя файла> щелкните правой кнопкой мыши
"Клавиши временной замены". Щелкните "Создать" -> "Временно заменить".
Новая временная замена (с именем "Временная замена1") будет размещено в
нижней части дерева "Клавиши временной замены".
4 Выполнить одно из следующих действий:
¦ Введите новое имя вместо текста "Временное изменение1".
¦ Щелкните правой кнопкой мыши надпись "Временное изменение1". Выбрать
"Переименовать". Введите новое имя временной замены.
5 Выберите в области структуры новую временную замену и обновите панель
"Свойства":
¦ В поле "Пояснение" введите описание временной замены.
¦ В поле "Макрос 1 (нажатие клавиши)" введите макрос, который будет
выполнен при нажатии клавиши временной замены. Если никакое значение
не назначено, макрос по умолчанию будет c^c^.
¦ Чтобы открыть диалоговое окно "Сочетания клавиш", в поле "Клавиши"
нажмите кнопку [...]. В диалоговом окне "Сочетания клавиш" в поле
"Нажмите новую комбинацию быстрого вызова" нажмите клавишу.
Разрешенные модифицирующие клавиши включают функциональную
клавишу (клавиши Fn) без модификаторов, SHIFT+буква, SHIFT+цифра
или SHIFT+функциональная клавиша.
¦ В полях "Нажмите новую комбинацию быстрого вызова" и "Назначена для:"
отображаются текущие назначения для клавиши. Если выбранная клавиша
еще не назначена, щелкните "Назначить", затем щелкните OK.
¦ В поле "Макрос 2 (отпускание клавиши)" введите макрос, который будет
выполнен, если отпустить клавишу временной замены. Если значение не
определено, то при отпускании клавиш приложение возвращается в
предыдущее состояние (до выполнения временной замены).

Для изменения клавиши временной замены

1 Щелкните меню "Сервис" -> "Адаптация" -> "Интерфейс
2 На вкладке "Адаптация" диалогового окна "Настройка инте
пользователя" нажмите знак (+) рядом со списком "Горячие
развернуть этот список.
3 В панели "Адаптации в <имя файла>" щелкните клавишу вр
которую нужно изменить.
4 Внесите необходимые обновления в панель "Свойства":
¦ В поле "Пояснение" введите описание временной замены
¦ В поле "Макрос 1 (нажатие клавиши)" введите макрос, к
выполнен при нажатии клавиши временной замены. Если
не назначено, макрос по умолчанию будет c^c^.

Должен сказать, что меня данный прием работы (хоть я и преимущественно кнопочник) не прельщает. Неудобно. Лучше было бы, на мой взгляд, реализовать данную возможность с помощью одной из кнопок многокнопочной мыши. И вообще, я не уверен, что скорость работы сколько-нибудь существенно увеличится. Углубляться дальше в эту проблему нет желания.
Profan вне форума  
 
Непрочитано 03.03.2006, 07:05
#75
Profan


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


Честно говоря, меня больше устраивает возможность назначать слой (и другие свойства) для команд отрисовки так, как это реализовано в палитре инструментов.
Profan вне форума  
 
Непрочитано 03.03.2006, 07:29
#76
Михаил74

инженер-строитель
 
Регистрация: 04.12.2005
Нижневартовск
Сообщений: 49


[Есть еще одно необычное для автокада ограничение для назначения горячих клавиш. Но я оставляю это как загадку. Кто возится с этим делом, должен обязательно наткнуться и задaться вопросом-почему комбинации не создаются?]

Почему не вводится комбинация клавиш Ctrl+F10, например с F9 F11 F12 все в норме, а F10 не пишет?
Михаил74 вне форума  
 
Непрочитано 03.03.2006, 07:39
#77
Profan


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


Для Krieger
Вот тут я логику не вижу. Если слой переключается прозрачно, то возможна следующая ситуация:
Допустим, я начал рисовать отрезок. Указал первую точку, переключил слой и указал вторую точку. И что получится? Вот проверить сейчас не могу, дома нет установленного AutoCAD 2006, а на работе мы сегодня переезжаем.
Profan вне форума  
 
Непрочитано 03.03.2006, 07:40
#78
Krieger

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


По-моему, болше напрягает, что при назначении сочетаний клавишам временной замены вообще ctrl, alt и комбинации с ними не работают, только shift.
Krieger вне форума  
 
Непрочитано 03.03.2006, 07:42
#79
Krieger

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


Цитата:
Сообщение от Profan
Для Krieger
Вот тут я логику не вижу. Если слой переключается прозрачно, то возможна следующая ситуация:
Допустим, я начал рисовать отрезок. Указал первую точку, переключил слой и указал вторую точку. И что получится? Вот проверить сейчас не могу, дома нет установленного AutoCAD 2006, а на работе мы сегодня переезжаем.
Надо клавиши жать после ввода команды, но перед указкой первой точки. Вот и все.
Krieger вне форума  
 
Непрочитано 03.03.2006, 08:03
#80
Krieger

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


Можно еще так сделать:
назначить сочетанию макрос:
Код:
[Выделить все]
^C^C(setq lay (getvar "clayer"));_-layer;_m;Размерные;;(setvar "clayer" lay);(setq lay nil);_laymch;_L;;_T;Размерные;
Нарисовали отрезок, нажали сочетание (например ctrl+shift+1) и последний объект (то есть отрезок) отправляется в слой "Размерные". Причем это реализовать можно в любой версии автокада.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Попасть в слой.

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