Книги_AutoCad_2 / Настройка AutoCAD_Sham_Tickoo-Customizing_2006г
.pdf
Использование Visual LISP |
461 |
2.В меню Tools выберите команду AutoLISP, а затем — команду Visual LISP Editor. Можно также начать работу с Visual LISP, введя выражение VLIDE в командную строку. На экране отобразится окно Visual LISP, показанное на рис. 13.1. При каждой загрузке Visual LISP на экране на какое-то время появляется окно Trace, содержащее информацию о текущей версии Visual LISP и ошибках, которые могут встретиться при загрузке редактора Visual LISP. Окно Visual LISP, как видно из рис. 13.1, содержит четыре области: строку меню, консоль управления, окно отслеживания и строку состояния. Ниже приведено краткое описание этих областей.
Меню
Панели
инструментов
Консоль
управления
Окно
наблюдения
Строка
состояния
Рис. 13.1. Окно редактора Visual LISP
Меню. Строка меню находится в верхней части окна Visual LISP и содержит ряд различных элементов. При выборе того или иного меню на экране отображается ряд элементов, содержащихся в этом меню. Функция выбранного вами элемента отображается в строке состояния, которая находится в нижней части окна Visual LISP.
Панели инструментов. Панели инструментов представляют собой быстрый и довольно удобный способ вызова команд Visual LISP. В этом языке используется пять панелей инструментов: Debug, Edit, Find, Inspect и Run. При выборе другого окна внешний вид инструментальных панелей изменяется. Если установить указатель мыши на пиктограмму какого-нибудь инструмента, то через несколько секунд появится всплывающая подсказка, описывающая функции этого инструмента. При этом в строке состояния отображается подробное описание выбранного инструментального средства.
Консоль управления. Консоль управления Visual LISP Console находится в окне редактора Visual LISP. Окно консоли содержит полосы прокрутки, которые позволяют просматривать его содержимое. Консоль управления, которая может быть расположена в любом месте окна Visual LISP, позволяет также вводить команды AutoLISP и Visual LISP и выполнять различные операции. Например, для того чтобы сложить два какихнибудь числа, введите после знака доллара ($) соответствующую команду (+ 2 9.5), а затем нажмите клавишу <Enter>. Visual LISP возвратит результат и отобразит его в том же окне.
Использование Visual LISP 463
Рис. 13.3. Запись программного кода в окне текстового редактора Visual LISP
Загрузка и запуск программы
1.Активизируйте окно текстового редактора Visual LISP, щелкнув на нем мышью.
2.Выберите в меню Tools команду Load Text in Editor. Можно также загрузить созданную программу, щелкнув на пиктограмме Load active edit window, которая находится на панели инструментов Tools. В окне Visual LISP Console появится сообщение об успешной загрузке данной программы. При возникновении каких-либо проблем в окне консоли появится сообщение об ошибке.
3.Чтобы запустить программу, введите имя функции (tr1) в строку приглашения (после знака _$). Не забывайте, что имя функции следует указывать в круглых скобках. Эта программа начертит треугольник, имеющий заданные размеры. Чтобы увидеть результаты выполнения программы, перейдите в окно AutoCAD, щелкнув на пиктограмме Activate AutoCAD, которая находится на панели инструментов View. Эту программу можно также запустить из программы AutoCAD. Для этого необходимо перейти в AutoCAD и ввести имя функции TR1 в командную строку. AutoCAD запустит эту программу и построит на экране треугольник, показанный на рис.13.4.
Использование Visual LISP 465
Загрузка существующих файлов AutoLISP
Visual LISP позволяет также загружать файлы AutoLISP, редактировать и отлаживать их, а затем загружать и запускать созданные программы.
1.Запустите программу AutoCAD, а затем откройте окно редактора Visual LISP, выбрав команду Tools AutoLISP Visual LISP Editor. Чтобы запустить программу редактирования, можно также ввести команду VLIDE в командную строку.
2.Открыв текстовый редактор Visual LISP, выберите команду Open File в меню File. На экране появится диалоговое окно Open file to edit/view.
3.Выберите программу AutoLISP, которую вы хотите загрузить, и щелкните на кнопке Open (Открыть). Выбранная вами программа будет загружена в текстовый редактор Visual LISP.
4.Чтобы отформатировать программу в окне редактора, щелкните на кнопке Format edit window на панели инструментов Tools.
5.Чтобы загрузить выбранную программу, щелкните на кнопке Load active edit window на панели инструментов Tools или выберите команду Load Text in Editor из меню Tools.
6.Для того чтобы запустить программу, введите имя функции в строку приглашения (_$), которая находится в окне Visual LISP Console, а затем нажмите клавишу <Enter>. Выражение nil, появившееся в строке приглашения, говорит об успешном выполнении программы и выводе чертежа на графический экран.
Консоль Visual LISP
Разработка программного обеспечения на языке Visual LISP в основном выполняется в текстовом редакторе Visual LISP. Тем не менее, можно ввести программный код в окно консоли Visual LISP и сразу же получить требуемый результат. Например, если вы введете выражение (sqrt 37.2) в строку приглашения (после знака _$) и нажмете клавишу <Enter>, Visual LISP извлечет квадратный корень и возвратит значение 6,09918. Точно так же, введите выражения (setq x 99.3), (+ 38 23.44), (- 23.786 35),
(abs -37.5) и (sin 0.333) и посмотрите на полученные результаты. Как показано на рис. 13.6, каждое выражение следует вводить после знака доллара ($).
Основные свойства консоли Visual LISP
1.Консоль Visual LISP позволяет ввести несколько выражений в одной строке и вычислить их, нажав клавишу <Enter>. Visual LISP выполнит указанные операции и возвратит полученные значения. Не забывайте, что перед каждым выражением необходимо ставить знак доллара ($).
_$ (setq x 37.5) (setq y (/ x 2))
Когда вы нажмете клавишу <Enter>, в окне консоли Visual LISP появятся значения переменных X и Y (рис. 13.7).
2.Если необходимо определить, какое значение в создаваемой программе имеет та или другая переменная, введите имя переменной, поставив перед ним знак доллара ($). Например, чтобы вывести значение переменной X, введите X в строку приглашения (после _$).
466 Глава 13
Рис. 13.6. Ввод программного кода LISP в окно консоли Visual LISP
3.Visual LISP позволяет записать выражение AutoLISP на нескольких строках, но для этого вам придется в конце каждой строки нажимать клавиши <Ctrl+Enter>. Например, если вы хотите записать два выражения на двух строках, вначале введите первое выражение, а затем нажмите клавиши <Ctrl+Enter>. Обратите внимание на отсутствие знака $ в начале второй строки, что указывает на продолжение выражения, записанного в предыдущей строке. Теперь введите второе выражение и нажмите клавишу <Enter>, как показано на рис. 13.7.
$ (setq n 38) Нажмите клавиши <Ctrl+Enter>
(setq counter (-n 1))
4.Чтобы восстановить текст ранее введенного выражения, щелкните мышью в строке приглашения (_$) и нажмите клавишу <Tab>. При каждом нажатии клавиши <Tab> в окне консоли будет отображаться ранее введенный текст. Нажав эту клавишу несколько раз, вы сможете просмотреть текст всех выражений, введенных в
консоль Visual LISP. Если одно и то же выражение было введено несколько раз, то при нажатии клавиши <Tab> его содержимое отобразится на экране только один раз, а затем вы перейдете к предыдущему выражению. Для просмотра текста в обратном направлении нажимайте клавиши <Shift+Tab>.
5.Чтобы удалить текст, содержащийся в строке приглашения (т.е. после знака _$), нажмите клавишу <Esc>. Тем не менее, при нажатии клавиш <Shift+Esc> выражение, содержащееся в строке приглашения, не вычисляется, и остается в том же состоянии. При этом курсор перемещается в следующую строку. Например, если вы введете выражение (setq x 15), а затем нажмете клавишу <Esc>, то это приведет к удалению введенного выражения. Несмотря на это, при нажатии клавиш <Shift+Esc> выражение (setq x 15) не вычисляется, а курсор переходит в следующую строку без удаления ранее введенного текста.
468 Глава 13
Рис. 13.9. Окно контекстно-зависимой справочной системы
9.Visual LISP позволяет также записывать события, выполняемые в окне консоли Visual LISP Console, сохраняя журналы регистрации событий на дискете в виде файлов с расширением (.log). Чтобы создать журнал регистрации, выберите команду
Toggle Console Log из меню File или опцию Toggle Console Log из контекстного меню. При создании журнала окно Visual LISP Console должно быть активным.
10.При вводе текста в окно консоли, Visual LISP автоматически назначает элементам программы тот или иной цвет, который определяется характером текстовой строки. Например, выражение, представляющее собой имя встроенной функции или защищенный символ, выделяется синим цветом. Текстовые строки выделяются фиолетовым цветом, круглые скобки — красным, целые числа — зеленым, а вещественные числа — сине-зеленым цветом. Строки комментариев тоже выделяются фиолетовым цветом, но располагаются на сером фоне.
11.Несмотря на то, что AutoLISP и Visual LISP являются независимыми средами программирования, можно перенести любой текст, введенный в окно консоли Visual LISP, в командную строку AutoCAD. Для этого введите программный код в строку приглашения консоли, а затем выберите команду AutoCAD Mode из контекстного меню или меню Tools. Чтобы отобразить текст, введенный в строку приглашения, нажмите клавишу <Tab>. Затем перейдите в окно программы AutoCAD, нажав клавишу <Enter>. Введенный текст появится в командной строке AutoCAD.
Использование Visual LISP 469
Упражнение 2 (Общее)
Введите в строку приглашения консоли Visual LISP следующие выражения (после знака _$):
(+ 2 30 4 38.50) (- 20 39 32)
(* 2.0 -7.6 31.25) (/ -230 -7.62 2.15) (sin 1.0472)
(atan -1.0) (< 3 10) (<= -2.0 0)
(setq variable_a 27.5)
(setq variable_b (getreal "Enter a value: "))
Текстовый редактор Visual LISP
Текстовый редактор Visual LISP можно также использовать для ввода программного кода. Этот редактор содержит ряд функций, которых нет в других текстовых редакторах. Например, когда вы вводите текст в окно консоли, Visual LISP выделяет элементы строки определенным цветом, который соответствует характеру текстовой строки. Круглые скобки выделяются красным цветом, а имена функций Visual LISP — синим. Кроме этого, текстовый редактор Visual LISP позволяет выполнять функции AutoLISP, не закрывая окно редактора, а также следить за соотношением открывающих и закрывающих скобок. Эти возможности делают текстовый редактор идеальным инструментом для написания программ Visual LISP.
Цветовое кодирование
Текстовый редактор Visual LISP поддерживает цветовое кодирование файлов, распознаваемых Visual LISP. К их числу принадлежат исходные файлы языков С, LISP, DCL и SQL. При вводе текста в окно текстового редактора Visual LISP автоматически определяет требуемый цвет и назначает его элементам введенного выражения (рис. 13.10).
В следующей таблице приведена цветовая схема, заданная по умолчанию:
Текстовые элементы Visual LISP |
Цвет |
Круглые скобки |
Красный |
Встроенные функции |
Синий |
Защищенные символы |
Синий |
Комментарии |
Фиолетовый на сером фоне |
Строки |
Фиолетовый |
Вещественные числа |
Сине-зеленый |
Целые числа |
Зеленый |
Нераспознанные элементы |
Черные (как переменные) |
|
|
Слова в текстовом редакторе Visual LISP
Как правило, во всех текстовых редакторах слова разделяются пробелами. Однако в текстовом редакторе Visual LISP слово имеет совсем другое значение. В этом случае слова представляют собой наборы символов, отделенных друг от друга следующими специальными символами:
470 |
Глава 13 |
|
|
|
|
Описание символа |
Специальный символ Visual LISP |
|
|
|
|
Пробел |
|
|
Символ табуляции |
|
|
Одинарная кавычка |
' |
|
Открывающая круглая скобка |
( |
|
Закрывающая круглая скобка |
) |
|
Двойные кавычки |
" |
|
Точка с запятой |
; |
|
Новая строка |
\n |
|
Комментарии: Фиолетовые символы на сером фоне Целые числа: Зеленые
Круглые скобки: Красные
Строковые выражения: Фиолетовые
Пользовательские переменные: Черные
Встроенные функции: Синие
Рис. 13.10. Цветовое кодирование кода AutoLISP
Например, когда вы вводите текст (Command"Line"P1P2 P3"c"), Visual LISP рассматривает выражения Command и Line как отдельные слова, так как они разделены двойными кавычками. В обычном текстовом редакторе выражение (Command"Line" будет интерпретировано как одно слово. Точно так же, в строке (setq p1 выражения setq и p1 разделены пробелом и поэтому считаются отдельными словами. При отсутствии пробела Visual LISP будет рассматривать выражение (setqp1 как одно слово.
Контекстно-зависимая справка
Одной из наиболее важных особенностей Visual LISP является контекстно-зависимая справка, содержащая описание функций Visual LISP. Для получения справочной информации по той или другой функции введите или выделите ее имя, а затем щелкните на кнопке Help на панели инструментов Tools. Visual LISP откроет страницу справочной системы, относящуюся к выбранной функции.
