История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2021-06-30 | 50 |
5.00
из
|
Заказать работу |
|
|
Цель лекции: приобрести навыки работы с процедурами AutoLISP и lsp-файлами.
Переменные
Переменные - это символьные имена, которыми можно оперировать в программе. Переменным можно присваивать значения непосредственно в командной строке:
· (setq pt 7) переменной pt присвоено значение 7;
· (setq color "Red") строковой переменной color присвоено значение "Red".
При использовании переменной в параметрах команды перед ней нужно поставить восклицательный знак (!pt).
Задание 4.1
Создать переменные pt1, pt2 координат двух точек и с их помощью построить отрезок. Создать строковую переменную color с обозначением цвета "Red" и закрасить отрезок.
Приведем протокол операций выполнения этого задания.
Command: (setq pt1 "2,2")↵ "2,2"Command: (setq pt2 "12,2")↵ "12,2"Command: (setq color "Red")↵ "Red"Command: _line Specify first point:!pt1↵ "2,2"Specify next point or [Undo]:!pt2↵ "12,2"Specify next point or [Undo]: ↵*Cancel*Command: chprop↵Select objects: 1 foundSelect objects: ↵Enter property to change [Color/LAyer/LType/ltScale/LWeight/Thickness/Material]: c↵New color [Truecolor/COlorbook] <BYLAYER>:!color↵"Red"По применимости в процедурах переменные разделяются на два типа: локальные и глобальные. Локальные объявляются после косой черты. Они могут принимать определенные значения только во время выполнения той процедуры, в которой они объявлены. После завершения процедуры ячейки памяти, занимаемые этими переменными, освобождаются.
Глобальные переменные доступны всем функциям AutoLISP, которые загружены в чертеж. Их значения доступны в проекте и после завершения той программы, в которой они объявлены. Любая переменная, которая специально не объявлена локальной, является глобальной. В глобальной переменной можно хранить константы, промежуточные значения вычислений, результирующие данные. Однако трудно уследить, какое значение ей присвоено в данной функции и не изменено ли оно другой функцией. Поэтому следует избегать введения глобальных переменных. Рекомендуется имена глобальных переменных отмечать справа и слева звездочками: *Global1* и документировать их.
|
Задание 4.2
Создать и протестировать локальные и глобальные переменные.
1. Откройте новый чертеж. Закройте все другие чертежи. Откройте редактор Visual LISP.
2. В окне CONSOLE введите строку кода (defun local-var (/ var1). Завершите ее нажатием клавиш CTRL+ENTER. Это даст возможность ввести вторую строку: (setq var1 "I am a local var"))↵.Таким образом вы определили функцию local-var. В теле этой функции объявлена локальная переменная var1 и ей присвоено значение текстового литерала.
3. Для тестирования, т.е. проверки присвоенных значений переменным и функциям, нужно просто набрать их имя в строке окна консоли. В ответ получим текущие значения этих величин. Наберите var1↵. В окне появится ответ nil - текущее значение переменной недоступно. Наберите local-var↵. В окне появится ответ "I am a local var". В функции local-var текущее значение переменной var1 определено.
4. Определите var1 как глобальную переменную. Для этого ее надо объявить не внутри функции, а вне ее. Поэтому просто наберите код (setq var1 "I am a global var").
5. Проверьте текущее значение переменной величины var1. Наберите в окне консоли var1. В ответ получите "I am a global var". Значение глобальной переменной сохраняется. А теперь снова наберите (local-var) ↵. И снова получите ответ "I am a local var". Как видите, хотя имена у локальной var1 и глобальной var1 одинаковые, но это разные переменные.
Переменные характеризуются временем жизни и областью видимости. Локальные переменные определяются внутри функции путем задания слеша с пробелом перед ними. Время жизни локальной переменной совпадает с временем выполнения процедуры. Область видимости локальной переменной ограничена только процедурой (функцией), в которой она задана. Вне этой процедуры текущие значения локальной переменной недоступны.
При объявлении глобальных переменных слеш не ставится. Время жизни глобальной переменной совпадает с временем открытия чертежа. Областью ее видимости является весь проект.
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!