Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2021-06-30 | 44 |
5.00
из
|
Заказать работу |
|
|
Среда AutoCAD содержит много системных переменных, которые управляют процессом черчения. Текущие значения системных переменных можно читать и изменять. Не путайте понятия переменной и системной переменной. Переменная - это величина, которая создается для использования в процедуре. Системная переменная - это параметр AutoCAD, который служит для настройки режима работы с чертежом. Для изменения текущего значения системной переменной нужно набрать ее имя в командной строке.
Пример 1
Системная переменная FILEDIA включает (значение равно 1) и выключает (значение равно 0) вывод на экран диалоговых окон выбора файлов по команде File - Open. Проверьте это. Затем верните старое значение:
Command: filediaEnter new value for FILEDIA <1>: 0Пример 2
При запуске функции COMMAND процедур AutoLISP все сообщения команд AutoCAD отображались в командной строке. Системная переменная CMDECHO определяет, будут ли отображаться в командной строке приглашения и параметры при работе функции COMMAND. По умолчанию режим отображения включен - текущее значение системной переменной равно 1. Если изменить это значение на 0, то режим отображения отключится.
Для работы с системными переменными в среде AutoLISP используются операторы SETVAR и GETVAR.
Оператор SETVAR (SET VARiable - установить переменную) изменяет текущее значение системной переменной. Новое значение помещается после имени переменной, заключенной в двойные кавычки: (setvar "cmdecho" 0).
Оператор GETVAR (GET VARiable - получить переменную) возвращает значение системной переменной. Его можно присвоить другой переменной или системной переменной. Часто так возвращают системной переменной старое значение, которое изменялось в процессе работы процедуры. Синтаксис операции: (getvar "cmdecho").
|
Задание 4.3
Работа в среде AutoLISP с системными переменными
Создайте новый чертеж. Откройте редактор Visul LISP. Откройте новый файл и наберите в нем следующие процедуры:
(defun chred (selected_object)(command "_chprop" selected_object "" "_color" "red" ""))(defun c:chgcolor (/ selected old_cmdecho);описываем две локальные переменные(setq old_cmdecho (getvar "cmdecho")) ;присваиваем old_cmdecho значение 1(setvar "cmdecho" 0) ;присваиваем cmdecho новое значение 0(terpri) ;в командной строке выводится начало пустой строки(setq selected (entsel "Выделите объект для изменения цвета на красный:"))(chred selected)(setvar "cmdecho" old_cmdecho))Процедура работает следующим образом.
1. В функции chgcolor добавляется переменная old_cmdecho.
2. Этой переменной присваивается текущее значение системной переменной cmdecho, равное 1. Текущее значение считывается оператором getvar.
3. Системной переменной cmdecho присваивается новое текущее значение 0.
4. В последней строке восстанавливается старое значение системной переменной cmdecho оператором присвоения setvar.
После составления процедуры выполните следующие действия:
1. Сохраните файл.
2. Щелкните на кнопке Load Active Edit Window - загрузите процедуру.
3. Щелкните на кнопке Activate AutoCAD - перейдите в AutoCAD.
4. Начертите произвольный объект.
5. Наберите в командной строке chgcolor↵
6. В ответ на приглашение выделите объект, нарисованный по п.4.
7. Проверьте текущее значение системной переменной cmdecho.
Функции AutoLISP
Определение функции всегда начинается с оператора DEFUN. При этом можно выделить три типа функций:
1. Именам функций предшествует префикс С:.Это позволяет использовать имя функции как команду AutoCAD. В выражениях AutoLISP при ссылках имя функции вместе с префиксом заключают в круглые скобки (с:name).
2. Имена функций создаются без префикса С:. Такой тип функций наиболее удобен при вызове функции по имени другими выражениями AutoLISP. Но в командной строке необходимо заключать имя функции в круглые скобки.
3. Третий тип функций - S::STARTUP. Функция с таким именем будет автоматически выполнена после инициализации чертежа. Функции сохраняют в файлах acad.lsp и acaddoc.lsp. Эти файлы инициализации, создаваемые пользователем, загружаются автоматически. Файл acad.lsp загружается один раз перед началом сеанса AutoCAD, а файл acaddoc.lsp загружается перед открытием каждого нового чертежа.
|
Задание 4.4
Создание файла инициализации
Пусть вы хотите увидеть рамку с приветствием на экране при открытии каждого чертежа. Создадим процедуру и сохраним ее в файле AutoCAD 2010\Support\acaddoc.lsp:
(defun s::startup ()(command "rectang" "_width" "5" "0,0" "50,35")(command "_chprop" "_last" "" "_color" "t" "255,0,0" "")(command "_text" "10,15" "" "Hello!")(command "_chprop" "_last" "" "_color" "t" "255,0,0" "")(command "_zoom" "_extents" ""))Откройте новый чертеж. Возможно, что придется выполнить отладку размеров текста и рамки для него. Легче изменить размеры рамки, оставив текущий стиль текста без изменений. Попробуйте также поэкспериментировать с цветом.
В среде AutoLISP можно создавать функции с аргументами. Аргумент передает свое значение функции. Функция использует значение аргумента в процессе отработки операций. Аргументы располагают в круглых скобках до косой черты (слеша). Если у функции нет локальных переменных, то слеш не ставится. Пример объявления функции с одним аргументом приведен в задании 4.3: (defun chred (selected_object) …
Функцию с аргументом можно вызвать и выполнить с помощью оператора вызова функции. В операторе задается имя функции и фактические переменные, которые заменяют в теле функции формальные аргументы. В задании 4.3 формальным аргументом является переменная selected_object. Фактическим параметром, передаваемым функции chred в качестве аргумента является переменная selected. При каждом обращении к функции chred из какой-либо процедуры необходимо задавать значение аргумента. В качестве аргумента можно использовать:
· переменную, значение которой вычислено в вызывающей процедуре;
· значение, введенное пользователем;
· значение, заданное при использовании функции.
Вернемся к заданию 4.3 и опишем работу функций.
В первой строке определена функция chred и ее аргумент selected_object.
При вводе в командную строку команды chgcolor начинает выполняться функция c: chgcolor. В предпоследнем операторе функции - (chred selected) - управление передается функции chred с аргументом. Значение переменной selected извлекается из предыдущего этапа как результат операции entsel. Переменная selected - это аргумент, который передается функции chred. Функция подставляет при осуществлении своих действий вместо аргумента selected_object значение переменной selected.
Прорабатывая свой код, функция chred применяет команду chprop для изменения цвета объекта на красный.
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!