Описание внешних команд
 
 
 

При работе в AutoCAD с помощью внешних команд можно запускать другие программы и утилиты.

При работе в AutoCAD можно вызывать другие программы и утилиты, например:

При вводе внешней команды в AutoCAD выполняется поиск этой команды в файле acad.pgp. Внешние команды определяются в первом разделе файла acad.pgp. Можно добавлять определения команд путем редактирования файла acad.pgp в текстовом редакторе ASCII (например, в Блокноте). Щелкните, чтобы открыть файл PGP: СервисАдаптацияИзменение параметров программы (acad.pgp)Выберите в меню "Сервис" "Адаптация" "Изменение параметров программы (acad.pgp) .

ПримечаниеПеред редактированием файла acad.pgp создайте резервную копию, из которой при необходимости можно будет восстановить файл.

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

команда,[исполняемая_команда],флаги[,[*]подсказка[,код_возврата]] 
команда

Команда вводится в командной строке. Если имя совпадает с именем встроенной команды AutoCAD, оно игнорируется. Имя может быть введено в любом регистре.

исполняемая_команда

Строка, передаваемая в операционную систему при вводе имени команды. Такой строкой может быть любая команда, которую можно выполнить в ответ на подсказку операционной системы. Она может содержать параметры и атрибуты. Чувствительность строки к регистру зависит от исполняемого приложения.

флаги

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

0 Запустить приложение и дождаться завершения его работы.

1 Не дожидаться завершения работы приложения.

2 Запустить приложение в свернутом окне.

4 Запустить приложение в скрытом режиме. ”

8 Заключить строку аргументов в кавычки.

Значения 2 и 4 - взаимоисключающие; если заданы оба, используется только значение 2. Следует избегать использования значений 2 или 4 без значения 1, т.к. в этом случае AutoCAD становится недоступным до тех пор, пока не завершится выполнение внешнего приложения.

Значение 8 позволяет командам, подобным del, правильно обрабатывать файлы, в именах которых имеются пробелы. Это ограничивает возможность передачи в команды списка имен файлов, в котором элементы разделены пробелами. Для того чтобы выполнять групповую обработку файлов, не следует использовать значение 8.

подсказка

Этот элемент не обязателен. Он определяет запрос, отображаемый в командной строке AutoCAD или в динамической интерактивной всплывающей подсказке. Ответ на него присоединяется к постоянной командной строке, указанной в элементе "исполняемая_команда". Если первым символом элемента является звездочка (*), ответ может содержать пробелы, и для завершения ответа необходимо нажать клавишу ENTER. В остальных случаях ответ заканчивается нажатием клавиши ПРОБЕЛ или ENTER. Если подсказка не требуется, но за ней должны следовать какие-либо поля данных, в описании команды ставится просто запятая. Запятую также нужно ставить, чтобы отделить подсказку от последующего текста пробелом.

код_возврата

Необязательный параметр, представляющий собой сумму битовых значений (битовый вектор). Значение параметра строится путем суммирования перечисленных ниже значений. Например, если активными должны быть значения 1 и 2, в качестве кода возврата следует ввести 3. Коды 0 и 4 не имеют смысла в графической многооконной среде, и поэтому здесь не описаны.

1 Загрузить файл DXB. После завершения команды AutoCAD выполняет загрузку DXB-файла $cmd.dxb в чертеж. После загрузки файл $cmd.dxb удаляется с диска. Процесс подобен вызову команды ИМПОРТД.

2 Создать описание блока по DXB-файлу. AutoCAD создает описание блока из объектов DXB-файла $cmd.dxb. В качестве имени блока используется ответ на запрос. Введенное имя должно быть допустимым именем блока, еще не определенного в данном чертеже. После загрузки программой AutoCAD файл $cmd.dxb удаляется. Имя по умолчанию для команды ВСТАВИТЬ становится именем созданного блока.

Файл также может содержать строки комментариев, которые должны начинаться символом точки с запятой (;).

Вызов системных команд Windows

При описании внешних команд AutoCAD часто используются системные команды Windows start и cmd. Если в строке исполняемой команды не присутствует команда start или cmd, AutoCAD остается недоступным до тех пор, пока не будет закрыто окно внешнего приложения.

Команда start открывает новое окно и запускает в нем указанную в аргументе программу. Если команда start вызвана без параметров, она открывает новое окно командной строки. Команда может сопровождаться атрибутами, которые определяют вид нового окна. Для того чтобы запустить приложение Windows в обычном режиме, нужно использовать start без атрибутов. Команда start также может применяться для открытия документов, для которых в системе имеются соответствующие приложения. Таким образом, например, открывают текстовые документы, HTML-файлы и т.п.

Команда cmd открывает окно командной строки, являющееся оболочкой AutoCAD. Для того чтобы управление было возвращено командной строке AutoCAD, необходимо закрыть это окно. Для выполнения внешних команд можно использовать атрибуты /c и /k. Ввод атрибута /c вызывает выполнение указанной команды с последующим закрытием окна. Ввод атрибута /k вызывает выполнение указанной команды, но по ее завершении окно командной строки остается открытым. При использовании атрибута/k окно следует закрывать вручную (с помощью команды exit).

Итак, команду start следует использовать для запуска приложений, которые должны выполняться отдельно от AutoCAD. Команда cmd используется для запуска командного файла или командного сценария, для выполнения которых не нужно отдельное окно, а также для выполнения приложений в отдельном окне, которое закрывается до передачи управления AutoCAD. Подробнее об упомянутых здесь командах и атрибутах можно узнать в документации по Windows.

Пользовательские команды

В следующем примере описано создание трех новых команд: RUN, LISTSET, и DXB2BLK.

RUN, cmd /c,0,*Имя командного файла: ,
LISTSET,cmd /k SET,0
DXB2BLK,cmd /c DXBCOPY,0,DXB-файл: ,2

Команда RUN запускает командный файл или командный сценарий. Команда cmd, за которой следует атрибут /c, открывает окно командной строки, выполняет командный файл, а затем закрывает окно.

Команда LISTSET выводит на экран перечень текущих значений переменных среды операционной системы. Так как в описании команды использовано cmd /k, а не start, перед возвратом в AutoCAD необходимо вручную закрыть окно командной строки. Если же требуется, чтобы окно и далее оставалось активным, нужно вызывать команду с помощью start /realtime. Подробнее об упомянутых здесь командах и атрибутах можно узнать в документации по Windows.

Команда DXB2BLK создает описание блока из указанного DXB-файла. Все объекты в DXB-файлах представлены в виде отрезков. Полезный побочный эффект данной процедуры — возможность простого преобразования текстовых объектов в отрезки.

DXB2BLK передает указанное имя DXB-файла в командный файл dxbcopy, который копирует DXB-файл в файл с именем $cmd.dxb. Затем AutoCAD создает блок из указанного DXB-файла. В качестве имени блока принимается имя, введенное в ответ на запрос имени DXB-файла. Для того чтобы создать файл dxbcopy.cmd, нужно ввести в ответ на запрос Windows следующее:

echo copy %1.dxb $cmd.dxb > dxbcopy.cmd 

С помощью этой записи создается файл dxbcopy.cmd в текущей папке. Переместите этот файл в папку, определяемую путем DOS, или явно укажите местоположение этого файла в файле acad.pgp. Например, если файл dxbcopy.cmd находится в папке D:\cad, введите в разделе внешних команд файла acad.pgp следующую строку.

DXB2BLK, cmd /c D:\CAD\DXBCOPY,0,файл_DXB: ,2

Для того чтобы создать файл DXB, необходимо установить в качестве текущего устройства печати специальный драйвер DXB AutoCAD, а затем выполнить печать в файл. Подробнее о настройке устройств печати см. раздел Настройка плоттеров и принтеров в Руководстве по драйверам и устройствам.