Лекция №6. Создание чертежа: определение месторасположения проекций, нанесение осевых линий, построение чертежа

Создание чертежа: определение месторасположения проекций, нанесение осевых линий, построение чертежа, нанесение штриховок, резьб и размеров. Сохранение чертежа.

Для создания изображения используются команды, содержащиеся в следующих пунктах главного меню:

– Draw (Рисование)

– Dimension (Размеры)

– Modify (Редактирование)

Команды, содержащиеся в данных меню, подробно рассмотрены в лекциях 1,2,3 и 4 и изучаются на Лабораторных занятиях. Помимо команд, содержащихся в данных пунктах меню, необходимо знать команды позволяющие работать с изображением на экране.

Определение местоположения проекций определяется по правилам, изученным в дисциплине «Инженерная графика». Осевые линии чертежа выполняются при помощи известных команд рисования в слое, который содержит тип линии Center. Штриховка, размеры, пунктирные линии и основные линии чертежа размещаются на отдельных слоях.

Перед выходом из системы AutoCAD необходимо сохранить чертеж. Рекомендуется проводить сохранение чертежа не только перед входом, но периодически в процессе работы, во избежание потери данных. Для сохранения чертежа применяются две команды, расположенные в главном меню File.

Первая команда Save (Сохранить) – служит для сохранения чертежа под уже имеющимся именем. Эта команда применяется в том случае, если файл уже сохранялся и последний сеанс работы сводился к его редактированию.

Вторая команда Save As… (Сохранить как …) – служит для сохранения чертежа с новым именем или для другой версии AutoCAD или с расширением отличным от расширения.dwg.


В «Программе» данной лекции соответствуют п.п. 5.1, 5.2, 5.3 и 5.4.

5.1 Краткое описание возможностей языка программирования AutoLISP. Переменные: системные переменные AutoCAD; переменные AutoLISP; тип данных AutoLISP; выражения AutoLISP. Функции присвоения.

AutoLisp – это язык программирования, встроенный в систему автоматизированного проектирования AutoCAD. Данный язык программирования позволяет программно работать с объектами AutoCAD, справочными таблицами, считывать и записывать файлы из AutoCAD. AutoLisp можно считать прямым (и единственным!) окном внутрь AutoCAD. Данный язык программирования позволяет:

- использовать переменные и выражения при ответах на запросы команд AutoCAD;

- создавать различные функции и новые команды AutoCAD, настраивая и расширяя, таким образом, графические возможности системы;

- осуществлять программный доступ (считывание и изменение) к данным, относящимся к объектам рисунка, а также таблицам AutoCAD, в которых хранится информация о блоках, слоях, видах, стилях и типах линий;

- осуществлять программное управление графическим экраном AutoCAD и вводом/выводом с различных устройств.

Программа, написанная на языке AutoLisp, представляет собой файл с расширением.LSP. Для создания файла и работы с ним применяется текстовой реактор Блокнот, который содержится в стандартной поставке системы Window. Для запуска текстового редактора необходимо обратиться к клавише Пуск системы Window (левый нижний угол экрана), затем выбрать пункт меню Программы „, далее пункт меню Стандартные „ и в появившемся меню найти программу Блокнот. При сохранении файла необходимо обязательно задать расширение файла (см. Рисунок 9.1). При открытии уже имеющегося файла необходимо в графе Тип файла выбрать вариант Все файлы (*.*).

Рисунок 9.1. Диалоговое меню Сохранение текстового редактора Блокнот.

При работе с AutoCAD 2000 и выше удобнее писать программу используя Visual LISP Editor, который находится в главном меню Tools подменю AutoLISP. Внешний вид редактора показан на Рисунок. Данный редактор удобен тем, что различные составляющие языка программирования выделяются цветом. Таким образом, удобно следить за пунктуацией и правильностью написания слов, что сокращает количество ошибок при написании программы.

Рисунок 6.2. Внешний вид Visual AutoLisp Editor.

AutoLisp, как и любой язык программирования, использует переменные. Переменная - это объект, имеющий уникальное имя и способный хранить в себе некоторое значение. В отличии от других языков программирования, переменные в AutoLisp динамические, т.е. создание переменной и определение ее типа осуществляется в момент присвоения переменной значения (это не надо делать заранее в секции определения данных). По типу переменные могут быть простыми и сложными. Тип переменной определяет операции, которые можно производить над переменной.

Простые переменные - это переменные, которые не могут быть расчленены на составные части. Такие переменные называются Атомами. К атомам относятся:

- строковые переменные, т.е. совокупность букв и/или символов, заключенных в кавычки; кавычки говорят о том, что данную совокупность символов следует рассматривать как текстовую константу;

- целые переменные - это положительные или отрицательные целые числа (без дробей и десятичной точки);

- действительные переменные - это положительные или отрицательные числа с десятичной точкой;

- дескрипторы файла - переменные, в которых хранится описание открытого файла;

- символы - переменные, в которых хранятся не значения, а ссылки на другие переменные;

- встроенные функции - переменные, посредством которых осуществляется обращение к стандартной библиотеке функций AutoLisp;

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

В AutoLisp есть только один тип сложных переменных, который называется Списком. Список - это набор разделенных пробелами атомов и/или списков, заключенных в круглые скобки. Количество элементов списка никак не ограничено. Элементом списка может быть список (элементами которого, в свою очередь, могут быть списки и т.д. и т.п.), причем максимально возможная вложенность списков также не ограничена. Таким образом, список может быть любой вложенности и состоять из неограниченного количества элементов. Типа данных с такими свойствами нет ни в одном из обычных языков программирования. Примеры списков:

(12.6 45.7 77.8)

("CAT" "MOUSE" "DOG")

(1 (12.6 6.78) ("Пример списка"))

(* 2 5)

(setq point '(1.0 5.0 6.7))

Из примеров ясно, что списки - идеальное средство работы со сложным образом организованной геометрической информацией. Точка - список трех действительных чисел. Отрезок - список двух точек. Полилиния - список многих вершин.

Каким же образом AutoLisp отличает управляющие конструкции (объект, который оперирует с данными) от самих данных? Любая управляющая конструкция содержит объекты специального типа - функции. Функции могут быть встроенными или определенными пользователем. Встроенная функция AutoLisp - это тип данных, являющийся ссылкой на некую подпрограмму, которая выполняет над передаваемыми параметрами какие-то действия. Функция, определенная пользователем, - это обычный список, который все равно содержит встроенные функции. Для того чтобы AutoLispу было проще искать среди элементов списка функции, их принято писать на первом месте.

Список, первым элементом которого является функция, называется выражением.

Любая программа на AutoLisp состоит из выражений, и сама является выражением. Основные свойства выражений следующие:

- Каждая открывающая круглая скобка должна иметь закрывающую.

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

- Следующие за именем функции аргументы функции отделены от имени функции и друг от друга, по крайней мере, одним пробелом.

- Каждое выражение вычисляется (выполняется), и результат возвращается. Результатом может быть нуль (nil) или результат вычисления последнего подвыражения.

Выражение AutoLisp имеет следующий вид:

(функция аргумент1 аргумент2... аргументN),

где функция – имя операции, которая должна быть выполнена (к операциям относятся, в том числе и арифметические операции, а также операции присвоения); аргументы – средство передачи значений функции (могут быть переменные, константы или выражения), количество аргументов может быть больше двух.

Аргумент может быть обязательным и необязательным. Если при создании функции было определено, что ее аргументы являются обязательными, то AutoLisp выдаст ошибку при попытке вызвать функцию без указания этого аргумента. Однако аргументы могут быть и необязательными, в этом случае их при вызове функции можно не передавать. Следует также внимательно следить за типом аргументов: если функция производит операции над целыми числами, то ей нельзя передать строку, или наоборот.

Все переменные AutoLisp – динамические, т.е., присваивая значение символу, вы автоматически создаете переменную. Перед созданием переменной AutoLisp автоматически определяет, какого она будет типа.

Само присвоение переменным значений осуществляется в AutoLisp не так, как в других языках программирования. Для присвоения переменным значений в AutoLisp имеется специальная функция SETQ, которая присваивает переменной нужное нам значение, т.е. заносит указанное нами значение в ячейку с именем переменной. Алгебраическая запись присвоения – Х = 3. В AutoLisp то же действие записывается как

(setq Х 3)

Это связано с тем, что AutoLisp – функциональный язык и в нем нет операторов, а есть функции, производящие определенные действия над своими переменными. Функция SETQ является мнемоническим сокращением английского словосочетания “Set by Quote” – «присвоить по ссылке».

Любая программа созданная на любом языке программирования обычно имеет какое-либо имя, определенное пользователем в начале программы. Используя данное имя в последствии можно обратиться к написанной программе. Поэтому первое, что необходимо сделать при написании курсовой работы – это задать имя программе или определить функцию.

Как уже говорилось выше, любая программа на AutoLisp является просто определенной пользователем функцией. Для определения функции (задания имени создаваемой команде) используется функция DEFUN, что является сокращением от английского DEfine FUNction – определить функцию. Данный оператор определяет функцию посредством создания структурированного списка операторов программы. Определенная таким образом функция создает свою собственную замкнутую область локальных переменных. При вызове функции в эту замкнутую область передаются данные, выполняются операторы программы, после чего осуществляется передача данных обратно в среду AutoCAD – AutoLisp.

Формат функции DEFUN следующий:

(defun C:имя (аргументы / локальные переменные)

тело функции (программа)

)

Имя команды, создаваемой в AutoLisp не должно совпадать с именем команды AutoCAD (в противном случае команда AutoCAD будет заменена на новую команду и к ней нельзя будет обратиться) и может состоять из любых печатных символов (в том числе и цифр), однако не должно включать в себя следующие символы:. ` “; () пробел - * = > < + /? ‘! \.

При запуске графического редактора AutoCAD загружается файл acad.lsp (если он существует). В этот файл можно внести определения наиболее часто используемых функций, и они будут загружаться автоматически при вызове графического редактора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: