Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Книги_AutoCad_2 / Настройка AutoCAD_Sham_Tickoo-Customizing_2006г

.pdf
Скачиваний:
182
Добавлен:
09.04.2015
Размер:
9.06 Mб
Скачать

Использование 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 возвратит результат и отобразит его в том же окне.

462 Глава 13

Строка состояния. Когда вы выбираете какой-нибудь элемент меню или инструмент на панели инструментов, относящаяся к нему информация отображается в строке состояния, которая находится в нижней части окна Visual LISP.

Использование текстового редактора Visual LISP

1.Выберите команду New File из меню File. На экране появится окно текстового редактора, показанное на рис. 13.2. По умолчанию этому файлу присваивается имя Untitled-0, которое отображается в строке заголовка.

2.Чтобы активизировать программу редактирования, щелкните мышью в окне текстового редактора Visual LISP.

3.Наберите текст следующей программы и посмотрите, чем отличается текстовый редактор Visual LISP от тех редакторов, которые использовались для написания программ AutoLISP (таких как Notepad):

;;;Эта программа позволяет начертить треугольник (defun tr1 ()

(setq p1(list 2 2)) (setq p2(list 6.0 3.0)) (setq p3(list 4.0 7.0))

(command "line" p1 p2 p3 "c")

)

4.Откройте диалоговое окно Save As, выбрав в меню File команду Save или Save As. Сохраните созданный файл, присвоив ему имя triang1.lsp. Файловое имя отобразится в строке заголовка окна текстового редактора (рис. 13.3).

Рис. 13.2. Окно текстового редактора 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.

464 Глава 13

Рис. 13.4. Результат выполнения программы

Упражнение 1 (Общее)

Напишите программу на языке AutoLISP, с помощью которой вы сможете построить равносторонний треугольник. Эта программа должна вывести приглашение, которое позволит вам указать начальную точку (левый нижний угол) и длину одной из сторон треугольника (рис. 13.5).

Рис. 13.5. Равносторонний треугольник, построенный в упражнении 1

Использование 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) не вычисляется, а курсор переходит в следующую строку без удаления ранее введенного текста.

Использование Visual LISP

467

Рис. 13.7. Ввод кода AutoLISP в окно консоли Visual LISP

6.Клавиша <Enter> позволяет также проводить ассоциативный поиск выражений, начинающихся с определенной текстовой строки. Например, если вы хотите найти выражение, которое начинается со строки “(sin”, введите это выражение в строку приглашения (после _$), а затем нажмите клавишу <Enter>. Редактор Visual LISP просмотрит текст, содержащийся в окне Console, и возвратит выражение, отвечающее этому условию. Если соответствующее выражение не было найдено, вы услышите звуковой сигнал.

7.Если щелкнуть правой кнопкой мыши в окне консоли или нажать клавиши <Shift+F10>, рядом с меткой курсора появится контекстное меню, показанное на рис. 13.8. Контекстное меню содержит следующие команды: Cut, Copy, Paste, Clear Console Window, Find, Inspect, Add Watch, Apropos Window, Symbol Service, Undo, Redo, AutoCAD Mode и Toggle Console Log.

8.Одной из наиболее важных особенностей Visual LISP является контекстно-зависимая справка, содержащая описание функций Visual LISP. Для того чтобы полу-

чить справочную информацию по той или другой функции, введите или выделите ее имя, а затем щелкните на кнопке Help на панели инструментов Tools. Visual LISP откроет страницу справочной системы, относящуюся к выбранной функции (рис. 13.9).

Рис. 13.8. Контекстное меню открывается по щелчку правой кнопкой мыши

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 откроет страницу справочной системы, относящуюся к выбранной функции.

Соседние файлы в папке Книги_AutoCad_2