Перейти к содержанию
  • записей
    6
  • комментариев
    7
  • просмотров
    200

Макросы

dromandon

155 просмотров

Мы с вами уже настроили горячие клавиши, научились пользоваться пробелом и быстро выбирать то, что нам нужно
Но есть рутинные задачи, в которых нас не спасают ни быстрый выбор, ни быстрый ввод команды. Потому что приходится раз за разом выполнять одно и то же действие над разными объектами.
Допустим, получили вы чертёж Фасада. Хорошо оформленный чертёж, 1 к 100, все отметки стоят, всё отлично. Только вот незадача, он на А1 не помещается. Надо бы изменить масштаб чертежа. А это надо все отметки в 2 раза увеличить, ведь они сделаны из линий и текста, увы.
И поехали - выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2).
И повторили.
И так раз 100.
Удручающая задача, которую надо сделать и особо никак не вывернешься.
Тут приходят на помощь макросы. 
Самое понятное определения макроса - это последовательность команд, которые вы привязываете к кнопке.
Тем самым вы можете сократить эти действия:
Выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2) ->Выделили одну отметку -> SCALE -> Указали базовую точку -> Указали нужный масштаб (2).

До данных:

Команда -> Выделили одну отметку -> Указали базовую точку -> Выделили одну отметку -> Указали базовую точку .

Уйдёт ввод с клавиатуры "2", уйдёт повтор команды (потому что макрос будет зациклен)

Спойлер
Спойлер

Да, по-прежнему придётся выделить все отметки по отдельности, но вместо условных 32 секунд на 10 отметок , у нас ушло 18.
(32-18)х(100/10)=140 секунд, т.е. мы сократили время работы в идеальных условиях чуть более, чем на 2 минуты.
В принципе, со знанием, как писать макросы, этого времени достаточно, чтобы написать такой макрос.
Стоит ли игра свеч решать вам, по итогу все макросы, которые я писал для себя, мне понадобились не единожды ;)

 

Делюсь парочкой простых макросов, которыми пользовался в своё время

Уменьшить в 2 раза = *^C^C_Scale;\\;\0.5

Увеличить в 2 раза = *^C^C_Scale;\\;\2

Подобие с удаление оригинала - *^C^C_offset;_e;_y; (из-за этой команды макрос обычного подобия переделал в  - ^C^C_offset;_e;_n; )

Отражение с удаление оригинала - *^C^C_mirror;\\;\\_y;

Очистка чертежа (от неиспользуемых блоков, слоёв и т.п.) - ^C^C_-Purge;_all;;_no;

Масштаб с опорной линией - ^С^C_scale;\\;\_r;@;\\

Включить границы отображения раста - ^C^C_imageframe;1;

Выключить границы отображения раста - ^C^C_imageframe;0;

Включить границы отображения границ маскировки - ^C^C_wipeout;_f;_on;

Выключить границы отображения границ маскировки - ^C^C_wipeout;_f;_off;

Повернуть с базовым углом - ^C_rotate;\\;\_r;@;\\

 

Где прописывать макрос?
Показываю на примере АК 2013 года (в моей версии наны нет макросов, в новых должно быть похоже)

Спойлер

 

Как именно писать макросы и что обозначают все эти слеши и точки с запятыми я не буду, да и, к сожалению, давно не писал их (работаю в Нанокад СПДС 6.0, он, к сожалению моему великому, макросы не поддерживает), но в интернете прилично материала на эту тему, думаю, первая же ссылка в гугле по запросу "макросы в автокаде" вам сразу же поможет ;)

На мой взгляд, создание макроса, является самым простым "продвинутым" инструментом для освоения, который стоит изучить для максимально эффективного использования CAD программ.

Значки для кнопок.zip



3 Комментария


Рекомендуемые комментарии

Тоже влезу в ваш ликбез. Я прописывал в автозагрузку Наны 6.0 дополнительный *.nsf-файл,  в котором вот в таком виде:

image.png.c0a69710c0b28d1cedfa500a725288de.png

прописывал новые команды. Часть из них имеет как раз вид макроса. Так же в один из конфигов (не помню), прописывал им русские имена.

Это крайне удобно. Особенно, когда ты в такую команду прописываешь некий объект из базы, которых тебе нужно последовательно вставить 1000шт. Если ты первый объект в этом случае вставляешь объект с командной строки (командой _anker для примера ниже), то дальнейшие объекты начинают отзываться на Enter ("Последняя команда"), чего в обычной жизни с объектами из базы не происходит. Офигенно экономит время работы мышью. А также их становится можно назначать на горячие клавиши.

Приведенные 2 команды - горизонтальный и вертикальный лучи.

А эта - вставка объекта из базы:

image.png.0d700ef71b32dbb16ddc55e6f0301159.png

Изменено пользователем Mитька

Поделиться этим комментарием


Ссылка на комментарий
14 минут назад, Mитька сказал:

прописывал новые команды

А есть где-то более подробное разъяснение по тому, как это работает?)
Логику я в этом коде вижу,  и понимаю как на его основе ещё написать похожие команды, но хотелось бы понять побольше))
Допустим, vbCr - что это?) аналог нажатия enter?) А есть ли что-то, что, допустим, позволит тыкнуть раз (или два) мышкой в промежутке?)
 

Поделиться этим комментарием


Ссылка на комментарий

В теории - да. Но это не классический VBA, это VBS - а там функционал обрезанный вроде здорово.

добавлено через 1 минуту

Вот тут глянь:

 

добавлено через 1 минуту

Да и вообще ветку всю про программирование.

добавлено через 2 минуты
2 минуты назад, Mитька сказал:

Вот тут глянь:

Тут вроде было описание, как оно работает и что делать.

добавлено через 2 минуты
24 минуты назад, dromandon сказал:

vbCr - что это?) аналог нажатия enter?)

Да.

Поделиться этим комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...