Донецкий национальный
            технический университет

      укр | нем | англ| ДонНТУ | Магистры
библиотека

В AutoCAD LT можно программировать! ( I часть ) Библиотека материалов

Владимир Свет
(Опубликовано в журнале AUTOCAD MAGAZIN № 4/05, Германия. перевод Dr. Heinz-Joachim Schulc)

AutoCAD LT предназначен для выполнения плоских двухмерных чертежей и в этой области мало чем отличается от своего старшего брата - полной версии AutoCAD. Но это верно только если сравнивать "голый" AutoCAD, не нагруженный дополнительными программами. И вот здесь полная версия имеет неоспоримое преимущество, так как она поддерживает некоторые языки программирования, основным из которых является LISP. Можно не быть программистом, но использовать в своей работе многочисленные платные и бесплатные программы, которые значительно ускоряют и упрощают чертежную работу.

Но и AutoCAD LT не так безнадежен, как кажется на первый взгляд. В нем тоже можно программировать! Можно создать себе кучу полезных самодельных инструментов, каждый из которых выдаст комбинацию команд, наиболее часто встречающуюся в вашей работе. Можно даже заставить AutoCAD вычертить целую деталь в полуавтоматическом режиме. В Help AutoCAD есть такое понятие - Menu Macros. "The Macro defines the action to be executed when a user chooses the menu item" "Макрос определяет действие, которое исполняется, когда пользователь выбирает пункт меню". И пользователь может сам задать макрос.

Пусть наша первая новая команда за одно действие создаст копию готового текста, перенесет ее на новое место и там вызовет редактор текста. Но сначала надо создать кнопку, в которую мы заложим макрос, позволяющий выполнить указанные действия. Это можно сделать при открытом диалоговом окне Customize (Адаптация). Здесь, в поле, которое называется Macro associated with this button (Макрос для данной кнопки) напишите следующее выражение:

^C^C_Copy;\;@;\_Ddedit;_Last

Это и есть макрос.
На рисунке показано диалоговое окно Customize с этим макросом.

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

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

  • Макрос, позволяющий один за другим увеличить (или уменьшить) величину объектов
    *^C^C_Scale;\\;\2
    
    при запросе объекта надо дважды щелкнуть по нему или захватить рамкой, и объект увеличится в два раза. Выход из команды по Esc. Если надо изменить величину масштабирования, цифра 2 оперативно заменяется на другую, это дело 3-5 секунд.

  • Макрос, позволяющий поворачивать объекты на заданный угол один за другим
    *^C^C_ROTATE;\\;\90
    
    Угол здесь 90град, он заменяется на нужный

  • Макрос, изменяющий цвет атрибута блока
    *^C^C_-Attedit;;;;;\;_Color;2;;
    
    Здесь показан цвет №2 то есть желтый, он меняется на нужный.

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

Вы уже, наверное, догадались, что знак (;) это эквивалент Enter, а знак (\) означает ручной ввод данных. Знак (_) перед именем команды позволяет вводить команду на английском языке в локализованной (русской) версии, а знак (*) повторяет команду до бесконечности, пока не будет нажата клавиша Esc. Знаки ^C^C должны стоять почти всегда, они отчищают командную строку от остатков предыдущих действий. Регистр, то есть какие буквы используются - прописные или заглавные, значения не имеет.

Можно вставлять блоки как из данного чертежа, так и из библиотеки блоков, для этого используется команда _-Insert (с минусом). Комбинируя вставки блоков и различные команды рисования и редактирования, можно создать довольно сложные макросы для полуавтоматического вычерчивания отдельных фигур.

Все, что показано выше, можно назвать минипрограммами, написанными на языке Menu Macros. Но AutoCAD LT понимает и другой, вполне настоящий язык программирования, он называется DIESEL. Выражение DIESEL можно узнать по характерному знаку американского доллара $. В полной версии AutoCAD есть меню Express, а в нем команда Laycur, переводящая объекты в текущий слой (Layer). Вот аналог этой команды для AutoCAD LT:

^C^C_Change;\;_Properties;_Layer;$m=$(Getvar,Clayer);;
Выражение
 $m=$(Getvar,Clayer)
вытаскивает имя текущего Layer, которое хранится в системной переменной Clayer . А следовательно, таким образом можно достать имя любой системной переменной и подставить ее - программно! - в нужное место макроса. Есть такие системные переменные, которые могут назначаться пользователем. Это Useri1-Useri5, Userr1-Userr5 и Users1-Users5. В первых пяти можно назначить и сохранить целые числа, во вторых пяти - вещественные числа, и в последней пятерке - текстовые строки. Если создать серию кнопок, и на одной написать
^C^CUserr1;100
на другой
^C^CUserr1;50
а на третьей
^C^CUserr1;20
, то их можно использовать как кнопки задания масштаба 1:100, 1:50, 1:20 и так далее. Нажатие на такую кнопку назначит системной переменной Useri1 значение, например, 100, которое далее функцией Getvar можно вывести, например, при вставке блока, когда AutoCAD запросит масштаб по оси Х. При этом вставляемый блок увеличится в 100 раз относительно его библиотечной величины. Следовательно, в библиотеке блоков вместо серии блоков, предназначенных для разных масштабов, достаточно иметь всего один, расчитанный на масштаб 1:1. При помощи команды Modemacro и выражения DIESEL можно разместить в статусной строке сведения о состоянии некоторых системных переменных, например, отслеживать имя текущего текстового или размерного стиля. Кроме упомянутой выше функции Getvar у DIESEL есть еще 26 функций, при помощи которых можно создавать различные программы.

Есть еще один язык программирования. Это Script. С его помощью можно создать слайд-фильм, можно запускать AutoCAD с заранее заданными настройками, со своим Prifile, например. Script может загрузить в AutoCAD серию размерных стилей, что является альтернативой шаблонам.

Кроме программных путей ускорения работы есть и другие способы, чисто чертежные, или комбинированные: макрос + специальный блок. Например, можно сделать так, чтобы вставляемый блок разрывал под собой линию. Или наоборот, не разрезая ее, скрывал участок линии своим телом. Подобные могли-бы в некоторых случаях значительно ускорить черчение.

Ищущий чертежник может так настроить свой AutoCAD, что работать станет несравненно легче и быстрее. В первую очередь следует правильно расположить панели инструментов. Затем надо составить алиасы (сокращение имен) наиболее употребимих команд и подобрать удобные сочетания горячих клавиш (Hot keys). Для новых кнопок следует создать собственное меню. Надо правильно подобрать и систематизировать свою библиотеку блоков и шаблонов. Надо читать специальную литературу и обязательно участвовать в форумах по AutoCAD, которые есть на интернете, вероятно, во всех странах.


библиотека
главная |украинский | немецкий | английский | ДонНТУ | портал магистров