|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Это сделать можно, даже довольно легко. Надо только уточнить пожелания пользователей. Как надо? Чтоб одно сочетание меняло слои по списку вниз, а другое (может, то же +Shift) - вверх? Или первое нажатие вниз, а второе - обратно вверх? В общем, хотелось бы как можно более полного описания желаемого процесса с максимальным продумыванием всех возможных деталей, неявных на первый взгляд. Ну например, что делать, если слой, на который мы переключились отключен или заморожен? Вывести предупреждение? Предложить разблокировать? Ну и так далее... Думаю, это будет две команды, одна переключит на следующий по списку слой, вторая - на предыдущий. На каждую из них вешаем горячие клавиши - и всего делов. Не уверен, можно ли переназначить в Автокаде именно Ctrl+Tab (да и надо ли?) - нет возможности сейчас проверить, но любое другое из доступных сочетаний - не вопрос.
Правда сделать я это смогу только на лиспе, поэтому нужно будет попросить модераторов перенести тему в Программирование, тем более, предложенные решения - уже на программной основе. |
|||
|
||||
Инженер дорожник Регистрация: 22.10.2007
Израиль
Сообщений: 1,859
|
Цитата:
А функция _Laymcur установить слой по объекту совсем не катит, посади её на клавишу если так хочется. |
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Цитата:
Цитата:
Да и вообще, жалко что ли?
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Инженер дорожник Регистрация: 22.10.2007
Израиль
Сообщений: 1,859
|
А смысл тогда всей затеии?
Тогда клавишей и переключать нечего. Вообще если смыл вей работы что бы переключать слоя то есть смыл и можно даже зациклить, утром пришёл на работу включил вером уходя выключил, а можно и не выключать...... Но вообще за включением и переключением должено стоять последующее действием. Исходя из этого нужно и формировать решение. К примеру макрос для вставки блока содаёт слой активизирует его и блок вставляется на соответсвующий слой. У автора правда восемь слоёв, Но при восьми слоях заморачиваться с клавишей, ну сделалбы восемь кнопок нажал и установился нужный слой. ^C^C_-layer New 1; ^C^C_-layer Color 11 1;^C^C_-layer Set 1; Примерно так. |
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Конечно писать.
Требования простые: - переключение вверх и вниз, - на замороженное, изолированное, блокированное и пр. состояние слоев не обращать внимание. Заранее спасибо.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Ну-ну, попробуйте переключиться на замороженный слой
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Да и бог с ним, пойдем далее (всего лишь лишний щелчек).
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Это как понять? Не обращать внимания, что слой отключен, заблокирован, и все равно активировать его, или не обращать внимания и пропускать, активируя следующий включенный и разблокированный?
|
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Думаю что да.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Когда уже большую часть кода написал, нашел вот эту тему...
Думаю, ладно, есть решение и есть, я все равно, в академических целях за это взялся, даже интересно было посмотреть, как решил эту задачу Алексей Кулик в #7 (после объединения тем #52), но вот пост #9 (ныне #54) меня удивил. Jonas, как так-то? Раз уж написал, выложу его тут: Код:
Согласен с Алексеем в его комментарии к своему коду: От себя добавлю, что код также не учитывает сортировку слоев в диспетчере свойств слоев. Если в диспетчере слои отсортированы по имени, то переключение будет идти по порядку, если же они отсортированы как-то иначе (по цвету, например), то переключение будет происходить хаотично. Напомню, что на панели Слои выпадающий список слоев отсортирован по алфавиту, т.е. в нем порядок переключения будет правильным. Если кто подскажет, как выяснить программно способ сортировки слоев в диспетчере свойств слоев, то смогу подправить. Последний раз редактировалось skkkk, 09.09.2014 в 10:42. Причина: Добавил обработку слоя "Defpoints" |
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Да, было дело. В то время работал главным и занимался только моделированием ну и как то не прижилось, вот и забыл.
Последние годы делаю всё, от А до Я, поэтому востребовано а про код Кулик Алексей aka kpblc забыл.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Ничего страшного. Зато я позанимался . Было интересно. Скажу больше: я готов, с разрешения Алексея, и при подсказках и помощи других форумчан, попробовать разобраться и с фильтрами слоев, да и вообще, развить данную программку, исправить все найденные недоработки и ошибки. Сам я ее себе тоже на вооружение взял, повесил на мышку и переключение слоев. Удобно, если заблокировать не используемые в данный момент слои и переключаться между двумя-тремя используемыми. Гонял весь день вчера, работает четко.
Возникла мысль, может, стоит добавить обработку предварительно выбранных объектов? То есть, если объекты выбраны, то они будут переноситься на следующий/предыдущий слой? Жду предложений. Уважаемые модераторы, перенесите, пожалуйста тему в раздел "Программирование". |
|||
|
||||
конструктор машиностроитель Регистрация: 14.05.2007
Новосибирск
Сообщений: 893
|
Спасибо, работает нормально.
Цитата:
Кстати, я тоже поставил на кнопку грызуна шифт+N - следующий а контр+кнопка (шифт+N) - назад.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Не понял, а я-то тут каким боком?
----- добавлено через ~11 мин. ----- Объединены три темы по переключению слоев с помощью клавиш. Тема перенесена из "AutoCAD" в "Программирование"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Хочу еще напомнить, что когда-то была востребована ф-ция отключения/включения слоев по фильтру layer-filters-status-change
Цитата:
Make a layer filter... yes i said MAKE Exporter/importer des filtres de calque Can I create frequently used layer filters in LISP? Я когда-то начинал разбираться с фильтрами слоев. Даже написал что-то наподобие библиотеки. По памяти - по моему не получилось из лиспа устанавливать текущим тот или иной фильтр. Могу ошибаться. Библиотека во вложении
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Как это?
Во-первых, я могу вдруг остро зануждаться в а во-вторых, ты ж, как-никак первоотец идеи и ее воплощения, - за тобой и право приоритетного голоса. Цитата:
А каким образом подтвердить, если у нас команды (да и функция) активируют слой и завершаются? После каждого переключения выдавать запрос "Да/Нет"? Или через один? Думаю, это может лишить смысла всю затею. Я предлагаю пойти по Автокадовскому принципу работы со слоями: если надо переключить текущий слой, объекты должны быть НЕ выделенными, а если нужно назначить объектам свойство "Слой", они должны быть ПРЕДВАРИТЕЛЬНО выделены. Выделение после сбрасывается Ecs, либо объекты подвергаются действию следующей команды. Так и надо: пока объекты выделены, мы по кругу меняем им слой - вверх/вниз по списку, и смотрим в ком.строку, где все оглашается; затем нажали Esc - и уже меняем по кругу активный слой. Максимум, можно только в начале спросить что-то вроде: "Сбросить выделение [Да/Нет]". Я так думаю. |
|||
|
||||
Регистрация: 20.03.2013
Сообщений: 54
|
Прочитав тему я так понял, что способ не придумали?
У меня сейчас такое ТЗ для программы: -переключение слоёв должно происходить внутри действующего фильтра слоёв. -команда задается сочетанием клавиш на клавиатуре -выбор слоя осуществляется колесом мышки (либо, по желанию пользователя, по началу названия слоя набираемого с клавы), название слоя отображается возле курсора -подтверждение выбора слоя осуществляется по нажатию ЛКМ (либо ПКМ, либо колесика) -после этого выбранный слой становится текущим, а если был выбран объект - то объект переносится на выбранный слой. По моему, получится удобно (ели фильтр настроен грамотно) Если слои назвать например 1,2,3,.. то получаем результат, который хотел ТС. Получится такое сделать? |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Работа со старыми чертежами с помощью AutoCAD и Photoshop | Shoorup | AutoCAD | 9 | 10.05.2007 23:41 |
Комбинации клавиш для команд в AutoCAD 2006 | Artiznov | AutoCAD | 3 | 03.03.2006 15:23 |
AUTOCAD 2006 | Aragorn | AutoCAD | 14 | 01.04.2005 00:55 |
Что нового в AutoCAD 2005 | ilka_t | AutoCAD | 40 | 19.05.2004 16:48 |