Основные конструкции AUTOLISP


Создан дла АвтоКАД. Диалект ЛИСПа получен в результате изменения нескольких версий: MacLISP, ZetaLISP, CommonLisp. AUTOLISP основан на версии языка XLISP. Был разработан в 62г. Джозефом Маккарти.

Основные направля-я прогр-я с исп-ем АВТОЛИСП в САПР


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

ОСОБЕННОСТИ ЯЗЫКА ЛИСП


Удобен и легок в обращении и освоении. Высокая интерактивность. Можно модернизировать интерфейс. В АВТОЛИСПе определен большой набор операций: 1 – ф-ции для работы с числовыми данными, реализующие 6 арифм.операций, а также наиболее часто встречаемые мат.ф-ции. Это позволяет вычислить координаты, просчитать длины, площади.

Основные понятия языка, типы данных.


Объекты и типы данных языка АВТОЛИСП, соглашение по лексике и нотации Объекты АВТОЛИСПа: 1 Атом (простейший неделимый объект, из кот форм-ся ост объекты языка).

Понятие атома и списка. Назначение.


Атомы В АВТОЛИСПе использ символьная запись. Символ – имя, состоящее из букв, цифр и специальных знаков за исключением (), . , ‘ , “ , ; . Эти исключения (кроме точки) и _ или конца строки выступают в качестве границ символа.

Виды функций. Создание и описание новых функций. Способы запуска программ на языке AutoLisp. Средства отладки: функция COMMAND.


Все виды функций делятся на три группы: 1. встроенные. 2. функции, созданные разработчиком и описанные в текущем примере. 3. функции, созданные разработчиком и описанные в других программах.

Использование переменных


Использование переменных Если используются переменная, то ее значение м.б. число, NIL, строка текста, список и т.п. Для этой цели при множестве псевдофункций, которые помимо того, что имеют значения, обладают эффектом образования связи между символом и его значением. К псевдофункциям относятся SET, SETQ, (SETQ <символ_1> <S выражение> [<символ_2> <S выражение>]) символы – это переменные, S_выражения — Читать далее

Подпрограммы. Организация ветвлений


Подпрограммы, ветвления, циклы, логические функции. 1. Функции сравнения: 2. Равенство (=<атом_1><атом_2>), результат – NIL или Т 3. Неравенство (/=<атом_1><атом_2>) 4. <= (<=<атом_1><атом_2>…) 5. > (><атом_1 ><атом_2>…) если атом_1>атом_2>…>атом_n, то результат Т


1.Функция определения количества символов (STRLEN <”строка”>) 2.Функция соединения (сцепления строк) (STRCAT <строка1> <строка2>…) (STRCAT “Вася ” “лопух”)

функция преобразования угла в литерал


(ANGTOS <угол> [<представление>[<точность>]]) <угол> — действительное число в радианах <точность> — количество знаков, после запятой <представление> — формат представления

Функции для работы с файлами


Для приема и передачи в файл информации используют функции: 1) функция для создания файла 2) функция для чтения файла 3) функция для дополнения файла

Работа с системными переменными


Следует учесть, что некоторые системные переменные определены только для чтения, такие системные переменные переустанавливать нельзя.

Формирование и анализ примитива. Операции над примитивом


Графический примитив – это функционально определенный простейший объект графической БД чертежа. Объекты, с которыми работают программы на языке AutoLisp делятся на: 1) отдельные примитивы, созданные программой или графическим редактором;

Формирование и анализ работы с примитивами.


Формирование списка данных примитива: (ENTGET <имя примитива> [<список>]) функция формирует и возвращает список, содержащий данные о примитиве, который задан <именем примитива>. Аргумент <список> позволяет задать имена зарегистрированных приложений. При этом будут возвращены расширенные данные, связанные с именем примитива.

Функции анализирующие набор примитива.


1. функция определяющая количество примитивов в наборе (SSLENGTH <набор>) возвращает число примитивов, содержащихся в наборе (SETQ OLPLINE (SSGET “L”)) (SSLENGTH OLDLINE)

Средства отладки программы


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

Запуск программ и помощь системы консоли


(VLISP COMPILE <режим> < “имя компелируемого файла”> [“имя выходного файла”]) <режим> определяет способ трансляции и может быть ST — стандартный режим LSM – оптимизирует, но не компелрует LSA – оптимизирует и компилирует.

Операции побитовых операций сравнения


Побитовое логическое и (LOGAND <число1> <число2> …) Побитовое или (LOGIOR <число1> <число2> …) аргумент целого типа. Побитовый сдвиг (LSH <число1> <число2> …) число2 – количественный сдвиг, если с минусом, то сдвиг влево. (BOLE <число1> <число2> <число3> …) число1 – от 0 до 15 – код операции, остальные числа – аргументы.

Защита программ на языке AutoLisp.


1.Шифровка с помощью программ PROTECT. 2.Псефдошифровка с помощью программы KELVINATOR. Программа PROTECT производит шифровку исходного текста по некоторому алгоритму. Зашифрованный текст программы имеет заголовок: