|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
kp+, я именно так я и сделал в свое время и был несказанно доволен - понравилось. Слева сверху закреплен Диспетчер Слоев, ниже - Панель Свойств. Моник широкий, очень удобно. Причем поначалу колонки менял местами, в таком порядке, как в выпадающем меню на панели "Слои". Но часто по невыявленным причинам колонки возвращались в исходное состояние, что очень подбешивало, и в итоге я оставил их так. Но при оптимальной ширине этих закрепленных слева панелей колонка "Вес" не влезает.
![]() Получилось, что VAV подтолкнул меня на рождение такой идеи. Думаю, что это должно быть довольно удобно. Я тут набросал на скорую руку предварительный вариант этой идеи, используя в академических целях код VVA из одной темы, код mmax'а из другой, а также скопировал пару строк Krieger'а несколькими постами выше. Должен сказать, что значительно облегчил себе жизнь. ![]() Для работы кода необходимо добавить на панель "Свойства" кнопку - любую, можно просто, без макросов и картинок. Добавить ее нужно на четвертое место после элементов "Цвет", "Тип" и "Вес". Этому четвертому месту соответствует порядковый номер - цифра 3 в коде (начиная с нуля), сопровожденная комментарием. Стоп, пока пробуем добавить кнопку в начало панели, а в коде - цифра ноль. Если место будет другим, номер этот нужно поменять в коде, как и название панели, если хочется расположить на другой панели или если Автокад английский (см. также примечание внизу поста). Программно реализовывать это я не стал - смысл невелик. Далее, в папку на путях доступа нужно добавить иконки, имя каждой из которых соответствует отображаемому на ней номеру. Две у нас уже есть: 0 и 5, - но пока не будет остальных, Автокад будет ворчать при выборе объекта или активации слоя, для веса которых нет соответствующей иконки. Затем код нужно добавить в автозагрузку, перезагрузить КАД и тестировать. Код:
В общем, тестируем ![]() ----- добавлено через ~12 мин. ----- Обратите внимание на зачеркнутый фрагмент. Я тестировал кнопку в начале панели, на первом месте, а когда решил сделать снимки экрана, перенес ее в конец. Но почему-то, когда кнопка стоит после элементов управления (цвет, тип, вес) код не срабатывает. Видимо, придется выносить ее в отельную панель. И название панели изменить в коде. Последний раз редактировалось skkkk, 21.01.2015 в 13:29. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Можно просто иконки добавить в папку, например, C:\Program Files\Autodesk\AutoCAD 2011\Support, но это не совсем порядочно. Лучше создать папку в удобном месте и в окне настроек (команда _.OPTIONS) во вкладке Файлы добавить эту папку в список путей доступа к вспомогательным файлам.
|
|||
![]() |
|
||||
Проектировщик Регистрация: 28.10.2009
Воронеж
Сообщений: 331
![]() |
skkkk, попробовал. Результаты такие: в первом же файле (чистый чертеж, который загружается автокадом при открытии), в котором я подгрузил ваш лисп все заработало, иконка менялась. Потом я загрузил уже свой чертеж и в нем уже ничего не работало. Ни при смене слоев, ни при выборе объектов. Переключаюсь на первый чертеж - все работает, потом обратно на второй - опять не работает. Потом я закрыл все чертежи и создал новый. В нем тоже ничего не работало. Пробовал даже вторично подгружать лисп - безрезультатно. Может я не правильно подгружаю лисп? Я делаю это так (в русскоязычной локализации):команда ЗАГПРИЛ и далее выбираю нужный лисп и загружаю его.
кое-что не так делал. сейчас еще потестирую и отпишусь Последний раз редактировалось VAV, 22.01.2015 в 09:31. |
|||
![]() |
|
||||
Проектировщик Регистрация: 28.10.2009
Воронеж
Сообщений: 331
![]() |
Итак.Для начала я подгружаю ваш лисп. Делаю это так (в русскоязычной локализации):команда ЗАГПРИЛ и далее выбираю нужный лисп и загружаю его. Я так понял этим действием я активирую лисп лишь в том чертеже,в котором я его запустил. Поэтому чтобы лисп работал и в последующих открываемых чертежах, кроме этого в окне загрузка/выгрузка приложений (ЗАПРИЛ) я запихиваю этот лисп в автозагрузку. После этих действий все работает корректно: иконка меняется.
Теперь закрываю автокад и открываю его вновь. Сразу говорю: папка, где лежит ваш лисп я не добавлял в список доверенных местоположений. Поэтому когда дело доходит до подгрузки файла с вашим кодом вылазит стандартное сообщение о том, что файл находится вне указанных доверенных местоположений и предлагают пользователю самому выбрать загружать файл или нет. И проблема в том, что это окно висит 1 секунду. Если я успеваю нажать кнопку "загрузить", то все работает. Если успеваю нажать кнопку "не загружать", то, соответственно, автокад работает без этого файла. Но, если я не успеваю за эту одну секунду сделать выбор и нажать "загрузить" или "не загружать", то окно пропадает и автокад дальше не грузится. В командной строке висит такая строка: s::startup-load (прикладываю скрин). Никакие кнопки не работают. Приходится выбивать автокад из диспетчера задач. Если добавить папку в доверенные источники, то все подгружается корректно. Почему так? Например с прогой ModPlus это окошко висит до тех пор, пока я не сделаю свой выбор. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Матчасть.
----- добавлено через ~5 ч. ----- Цитата:
Цитата:
![]() А вот что насчет того, на одной ли кнопке размещать или на двух? И сейчас на кнопке макроса нет, а можно поставить, написав еще одну функцию и повесив на нее. Можно будет тогда менять вес текущего слоя прям с этой кнопки, если объекты не выбраны, или вес слоя выбранного объекта. |
|||
![]() |
|
||||
Проектировщик Регистрация: 28.10.2009
Воронеж
Сообщений: 331
![]() |
Ну ладно, добавлю в довернные. Надеюсь все корректно будет работать.
На счет кнопок. Мне кажется на одной можно разместить. Вроде бы три цифры на одной кнопке вполне читаемы. По поводу макроса тоже хорошая идея. Было бы не плохо. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
VAV, стало быть, вопрос в иконках
![]() Над макросом нужно подумать. Либо сделать, чтоб при нажатии на кнопку вываливалось меню при включенном динамическом вводе, например, такое, как у команды _PEDIT. Динамический ввод, если не нравится, можно включать программно только на время выбора, затем отключать. Или делать эту кнопку в виде подменю, и нажав ее и не отпуская выбирать из выпадающих кнопок нужную. Если не ошибаюсь, такой механизм реализован по умолчанию на кнопке "Вставить блок". Первый вариант легко реализуем. Второй - быстро не обещаю. И даже пока не уверен, можно ли его воплотить. |
|||
![]() |
|
||||
Проектировщик Регистрация: 28.10.2009
Воронеж
Сообщений: 331
![]() |
skkkk, иконки выложу, как сделаю.
Меню и вываливающееся пойдет. На счет програмного включения/отключения динамического ввода с ним стоит заморачиваться, на мой взгляд, только если можно сделать такой режим: если дин. ввод до использования макроса был включен, то ничего не менять. А если был выключен, то включить на время выбора, а потом отключить. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для чего нужны фильтры слоев?Как ими пользоваться? | Aysulu | AutoCAD | 43 | 17.04.2019 10:59 |
Линии электрических соединений | Shoorup | Программирование | 23 | 07.02.2015 15:13 |
Почему не проходит теплорасчет? | Suom | Конструкции зданий и сооружений | 15 | 10.08.2011 17:22 |