Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Диалог специалистов АВОК _ AutoCAD for HVAC _ Адаптация мыши

Автор: Nefes 21.11.2012, 8:53

Народ, подскажите пожалуйста как адаптировать мышь под автокад?
Купил мышь : A4Tech XL-760H Black USB (http://market.yandex.ru/model.xml?hid=723088&modelid=6083223&clid=502)
есть 7 кнопок,
как настроить их под вызов функций автокада?

например на боковые 2 хотел поставить "копировать" и "перенести"
Везде тыркался- не могу настроить.

Автор: ssn 26.11.2012, 15:14

надо настраивать не в автокаде, а в программе, которая шла с мышкой.
там на каждую кнопку есть возможность повесить какое то действие или команду, в том числе и Cntr+C.
А можно повесить любое действие, потом зайти в меню выбора горячих клавиш и переназначить гор клавишу на нужную команду на нажатие кнопки мыши

Автор: nedrok 12.12.2012, 8:34

Настраивается в программе Oscar Editor. Сама программа потом не нужна т.к. эта мышка программируемая и запоминает комбинации клавиш в своей памяти.

Автор: Nefes 19.12.2012, 14:23

Цитата(nedrok @ 12.12.2012, 9:34) *
Настраивается в программе Oscar Editor. Сама программа потом не нужна т.к. эта мышка программируемая и запоминает комбинации клавиш в своей памяти.



Я не понимаю как ей пользоваться.

Автор: nedrok 21.12.2012, 11:37

Последняя версия программы 12.08 http://www.x7.cn/cn/driver/7KeyH_V12.08V17.zip

Делаете так


Жмете кнопку внизу "Download to mouse" (на картинке не видно)
Ждете пока пройдет полосочка. Все.

Автор: maksywa 21.7.2016, 3:46

Здравствуйте, в продолжение темы хотел бы сказать что настроить можно проще, через макрос.
Открываете в "oscar" макрос менеджер и прям там создаете новый макрос. Допустим команада перенсти в автокаде. Можно просто написать "перенести и нажать Еnter" и активируется команда перенести. Соответственно надо и создать такой макрос. В самой программе все интуитивно понятно. Можно назначать клики мыши, перемещение курсора, нажатия клавиш на клавиатуре, задержку между нажатиями или какими-либо действиями.

Вопрос в следующем можно ли в самом автокаде сделать так чтоб допустим команда "перенести" вызывалась командой "11" без написания Lispов (я в них вообще не разбираюсь). Сразу объясню для чего, когда раскладка стоит на англ. то получается заместо "перенсти" прописывается "gthtycnb" ну и команда не активируется rolleyes.gif

Автор: дренаж 21.7.2016, 6:31

все псевдонимы можно заменить в текстовом
каком-то файле специально не иЩу и не пиЩу

в каком потому как команды с клавиатуры
тормозят и работу и перенапрягают инженера

доказательство: ежели наймёте помощника
обнаружите: помощник отдыхает за ваши деньги
вспоминая и медленно нажимая команды

и реальное ускорение даёт настройка кнопок
и главное повтор предыдущей команды
нажатием малой кнопки мыши и всё
настраивается даже в устаревших автокадах

Автор: maksywa 21.7.2016, 14:24

Цитата(дренаж @ 21.7.2016, 7:31) *
все псевдонимы можно заменить в текстовом
каком-то файле специально не иЩу и не пиЩу

в каком потому как команды с клавиатуры
тормозят и работу и перенапрягают инженера

доказательство: ежели наймёте помощника
обнаружите: помощник отдыхает за ваши деньги
вспоминая и медленно нажимая команды

и реальное ускорение даёт настройка кнопок
и главное повтор предыдущей команды
нажатием малой кнопки мыши и всё
настраивается даже в устаревших автокадах


Эх дренаж... ты не прав (по поводу последнего абзаца) rolleyes.gif
Не очень понял что Вы хотели сказать, но что то уловил. Кажется Вы сказали,что знаете, что есть файл в котором можно поменять назначение команды?

Так к слову скажу, что у меня настроена мышь на банальное копирование и перемещение и плюс еще одна клавиша занята на загружаемый lisp который прописывает выноски за меня. И работу это ускоряет значительно. Вообще в планах купить X7 FS755 (может не много ошибся в названии) пять программируемых клавиш под большим пальцем

Автор: дренаж 21.7.2016, 14:32

у меня автокад портабль версии единый файл
и файл переименовывания команд не обнаруживаю
сформулируйте запрос и яндексо-гугл точно покажет

естественно я нашёл о чём пишу
однако не могу проверить и против команд с клавиатуры

Автор: Composter 21.7.2016, 14:53

Цитата(maksywa @ 21.7.2016, 3:46) *
Здравствуйте, в продолжение темы хотел бы сказать что настроить можно проще, через макрос.
Открываете в "oscar" макрос менеджер и прям там создаете новый макрос. Допустим команада перенсти в автокаде. Можно просто написать "перенести и нажать Еnter" и активируется команда перенести. Соответственно надо и создать такой макрос. В самой программе все интуитивно понятно. Можно назначать клики мыши, перемещение курсора, нажатия клавиш на клавиатуре, задержку между нажатиями или какими-либо действиями.

Вопрос в следующем можно ли в самом автокаде сделать так чтоб допустим команда "перенести" вызывалась командой "11" без написания Lispов (я в них вообще не разбираюсь). Сразу объясню для чего, когда раскладка стоит на англ. то получается заместо "перенсти" прописывается "gthtycnb" ну и команда не активируется rolleyes.gif

есть два пути
1)tools-customize-edit programm parametrs , октрывается файл acad.pgp
в конце добавляете строку
11, *MOVE
сохраняете иперезапускаете автокад целиком.
2)содаете тестовый файл, меняеете расширение на lsp.d фале пишете
(defun c:11 () (VL-CMDF "._move"))
через комманду "_APPLOAD" добавляете его в автозагрузку. и перезапускаете автокад целиком.


Автор: maksywa 21.7.2016, 15:38

Цитата(Composter @ 21.7.2016, 15:53) *
есть два пути
1)tools-customize-edit programm parametrs , октрывается файл acad.pgp
в конце добавляете строку
11, *MOVE
сохраняете иперезапускаете автокад целиком.
2)содаете тестовый файл, меняеете расширение на lsp.d фале пишете
(defun c:11 () (VL-CMDF "._move"))
через комманду "_APPLOAD" добавляете его в автозагрузку. и перезапускаете автокад целиком.


Спасибо за ответ! Завтра попробую.

Автор: maksywa 22.7.2016, 9:53

Цитата(Composter @ 21.7.2016, 15:53) *
есть два пути
1)tools-customize-edit programm parametrs , октрывается файл acad.pgp
в конце добавляете строку
11, *MOVE
сохраняете иперезапускаете автокад целиком.
2)содаете тестовый файл, меняеете расширение на lsp.d фале пишете
(defun c:11 () (VL-CMDF "._move"))
через комманду "_APPLOAD" добавляете его в автозагрузку. и перезапускаете автокад целиком.


Все круто! Работает! Сделал Lispы и поставил на автозагрузку. назначил макросы на мышь. Доволен как слон!

Автор: Composter 22.7.2016, 10:08

лучше почтайте книжку по автокаду. там и так много чего есть и не нужно выдумывать велосипед.
рекомендую начать с редактирования объектов с помощью ручек, и изучить allias . Это намного ускорит работу.

Автор: maksywa 25.7.2016, 8:01

Цитата(Composter @ 22.7.2016, 11:08) *
лучше почтайте книжку по автокаду. там и так много чего есть и не нужно выдумывать велосипед.
рекомендую начать с редактирования объектов с помощью ручек, и изучить allias . Это намного ускорит работу.


Здравствуйте, может сразу порекомендуете какую именно?
И еще вопрос, по созданию lisp. Я сделал (defun c:13 () (VL-CMDF "КОПИРОВАТЬ")) либо (defun c:13 () (VL-CMDF "._copy")) я так понял не важно. Так вопрос вот в чем. Все копируется замечательно но всего лишь одни раз, т.е. не одно и тоже когда я пишу "Копировать" тогда один выделенный объект можно вставить множество раз, а так всего лишь один раз mellow.gif

Автор: Composter 25.7.2016, 9:39

Рекомендую книги автора Полищук "в подлиннике".
чтобы было множественное копирование нужно (defun c:13 () (VL-CMDF "_copy")) - без точки перед copy
лучше записавать комнды на английском и перед командой ставить нижнее подчеркивание. Это гарантирует что данная функция будет работать хоть в русской версии, хоть в английской хоть в китайской.

Автор: maksywa 25.7.2016, 9:48

Цитата(Composter @ 21.7.2016, 14:53) *
есть два пути
1)tools-customize-edit programm parametrs , октрывается файл acad.pgp
в конце добавляете строку
11, *MOVE
сохраняете иперезапускаете автокад целиком.
2)содаете тестовый файл, меняеете расширение на lsp.d фале пишете
(defun c:11 () (VL-CMDF "._move"))
через комманду "_APPLOAD" добавляете его в автозагрузку. и перезапускаете автокад целиком.


Кстати, 1-ый способ работает нормально (так как надо).
Спасибо еще раз.

Автор: Composter 25.7.2016, 10:19

просто первый способ возможно придется переделывать под другую версию. Например у нас на работе только английская версия автокада.
а вот для того чтобы 2 способ работал на другом компьютере достаточно скопиравть файл и подгрузить, если конечно команды вы записывали на английском языке с подчеркиванием.
Но зато 2 метод не будет рабоать на версии автокада LT

Автор: denik 25.7.2016, 11:06

Цитата
чтобы было множественное копирование нужно (defun c:13 () (VL-CMDF "_copy")) - без точки перед copy

Множественное копирование одинаково не работает что с точкой что без точки. И, кстати, и точку и подчеркивание рекомендуется ставить для гарантированной совместимости с неанглоязычными версиями.

Автор: Composter 25.7.2016, 11:34

про совместиомсть я уже написал 2 раза.
на счет множественного копирования будет работать только так
(defun c:13 ()(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ)) либо после выбора объектов выбирать множественное копирование

Автор: denik 25.7.2016, 11:45

В Autocad, по моему с версии 2010, можно вешать команды на правую кнопку мыши с модификаторами CTRL, Shift, CTRL+Shift. Я использую таким образом Копировать, Перенести и Растянуть, лично мне очень удобно. Вроде бы можно и к другим кнопкам мыши команды подключать, но мне не удалось.

Автор: denik 25.7.2016, 12:02

Composter если бы не было вот этой фразы

Цитата
чтобы было множественное копирование нужно (defun c:13 () (VL-CMDF "_copy")) - без точки перед copy

я бы не комментировал.
Цитата
(defun c:13 ()(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ))

Спасибо за интересную конструкцию, возможно где-то пригодится.

Автор: Composter 25.7.2016, 12:42

Цитата(denik @ 25.7.2016, 11:45) *
В Autocad, по моему с версии 2010, можно вешать команды на правую кнопку мыши с модификаторами CTRL, Shift, CTRL+Shift. Я использую таким образом Копировать, Перенести и Растянуть, лично мне очень удобно. Вроде бы можно и к другим кнопкам мыши команды подключать, но мне не удалось.

а я для этого использую редактирование объектов с помощью ручек , и для всего вышеперечисленного достачно одной клавиши пробела либо ентера (кому как удобнее)
Цитата(denik @ 25.7.2016, 12:02) *
Composter если бы не было вот этой фразы
Спасибо за интересную конструкцию, возможно где-то пригодится.

даже не представляю где она еще может пригодиться кроме как в данном случае

Автор: denik 25.7.2016, 16:09

Цитата
а я для этого использую редактирование объектов с помощью ручек , и для всего вышеперечисленного достачно одной клавиши пробела либо ентера (кому как удобнее)

А базовая точка у вас всегда совпадает с ручкой? Каждый щелчок мышью в масштабах одной операции — это ерунда, а вот в масштабах чертежа это уже сотни щелчков которых можно избежать. Хотя все это вопрос привычки. Собственно насчет мыши это не вам адресовалось, просто может кому полезно будет.

Автор: Composter 25.7.2016, 18:34

1)блоки составлют обычно меньшую чатьс чертежа
2)я обычно продумываю заранее блок, преждче чем начать делать
3)если блоки не мои то для 2-3 блоков можно и использовать алиасы
4)если нужно повернуть очень много блоков то лучше воспользоваться чем что то вроде этого

Код
;разворачивает блоки на 180 градусов относительно центра объекта
(defun c:Zod76 (/ ss1 pt1 pt2 pt3)
(princ "\n разворачивает блоки \n")
(vla-clear(setq ss1 (vla-get-ActiveSelectionSet(vla-get-ActiveDocument (vlax-get-acad-object)))))
(pl:obj-filter-select-manual ss1 '((0 . "INSERT")))
(vlax-for x ss1
    (vla-GetBoundingBox x 'pt1 'pt2)
    (setq pt1  (vlax-safearray->list pt1)  pt2 (vlax-safearray->list pt2))
    (setq pt3 (list    (/(+(car pt1 )    (car pt2 ))2)
                    (/(+(cadr pt1 )    (cadr pt2 ))2)
                    (/(+(caddr pt1 )(caddr pt2 ))2)
                )
    )
    (vla-rotate x (vlax-3d-point pt3) pi)
)
(princ)
)

Автор: denik 26.7.2016, 10:54

Еще раз спасибо за код, хотя не уловил при чем тут поворот именно блоков. А если нужно копировать воздуховод с воздухораспределителем, дросселем и выносками? И по моему в переборе пробелом нет команды КОПИРОВАТЬ, только в контекстном меню (2012). Кстати команда Zod76 — это 3 клавиш в английской раскладке, то есть еще и язык надо отследить. Я, честно говоря, лепил второй макрос в том же lisp файле с названием команды в русской раскладке, примитивно, но работает.
Возможно использование ручек более эффективно при модификации одиночных объектов, надо попробовать.

Автор: Composter 26.7.2016, 13:37

на счет кода я прото примел пример когда нужно массово повернуть. икогда нуно поурнуть 100 блоков вокруг их центра , то написать 5 букв это в разы быстрее чем в ручную сотню блоков ,каждыйй ведлеить нажать повернуть указать их центр.
а копировать через редактирование ручек можно! нужно только внимательно читать!!!!
рассказываю при нажатие первый раз пробела происходит перемещение, если в этот момент зажать ctrl и щелкнуть мышкой , то произойдет коипрование,и можно отпустить ctrl будет дальше происходить множественное копирование. ТО же самое и с поворотм и масштабированием.
Так что еще раз повторю не нужно выдумавать велосипед, возможно уже кто то избрел автомобиль до вас.

Автор: ssn 1.9.2016, 12:42

Цитата(Composter @ 26.7.2016, 13:37) *
на счет кода я прото примел пример когда нужно массово повернуть. икогда нуно поурнуть 100

такие операции удобно делать через быстрый выбор. выбрать все блоки нужные и в свойствах указать нужный угол поворота. хотя, конечно, если блоки изначально вставлены с разными углами, то несколько сложнее получается.

Автор: Composter 1.9.2016, 13:18

Цитата(ssn @ 1.9.2016, 12:42) *
такие операции удобно делать через быстрый выбор. выбрать все блоки нужные и в свойствах указать нужный угол поворота. хотя, конечно, если блоки изначально вставлены с разными углами, то несколько сложнее получается.

вы не доконца доцитировали мою фразу. там же напсано относительно центра. а центр блока и точка вставки - это разные вещи

Автор: ssn 1.9.2016, 17:00

Цитата(Composter @ 1.9.2016, 13:18) *
вы не доконца доцитировали мою фразу. там же напсано относительно центра. а центр блока и точка вставки - это разные вещи


ну кто же делает точку вставки блока без привязки к возможному геометрическому центру обозначения?
хотя таки да. делают. но тогда лучше уж переопределить блок на новую нормальную точку вставки....

а если не менять, тогда загадка, что будет если центр блока не совпадает с его ожидаемой точкой поворота..

Автор: Composter 1.9.2016, 18:10

ну например вот. Тут явно нет счысла делать точку прявязки в центре

 Bloki.dwg ( 126,16 килобайт ) : 8
 

Автор: ssn 1.9.2016, 20:03

а. всмысле примитивами (пусть даже блоками) рисовать планы? ну... это... тоже конечно можно...
у меня блоки только на принципиальной схеме. ну и на видах - высотные отметки. все.
вы же по моему продвинутый пользователь. зачем блоки воздуховодов? неужели без 3Д модели делаете вентиляцию?

Автор: Composter 7.9.2016, 10:51

ну я вроде продвинутый пользователь, но порой приходится больше править чем проектировать, а порой на стройке сидеть где компутер не знает даже что таое 64 разрядная система. Поэтому порой приходится возвращаться к своим старым наработкам )

Автор: scared 6.10.2017, 14:59

Цитата(denik @ 25.7.2016, 11:45) *
В Autocad, по моему с версии 2010, можно вешать команды на правую кнопку мыши с модификаторами CTRL, Shift, CTRL+Shift. Я использую таким образом Копировать, Перенести и Растянуть, лично мне очень удобно. Вроде бы можно и к другим кнопкам мыши команды подключать, но мне не удалось.

Всем доброго дня!
При попытке изменения функций правой кнопки в AutoCAD 2014 столкнулся с такой проблемой.
Пытаюсь поменять одну любую комбинацию (например CTRL) - автоматически меняются и оставшиеся две.
Никто с подобным не сталкивался? И как это победить?

Русская версия Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)