Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Краткие теоретические сведения. Имеются два вида объектов в AutoLISP





Имеются два вида объектов в AutoLISP. Атомы - простые объекты; списки - сложные объекты, ограниченные круглыми скобками. Среди простых объектов, имеются большое количество под-категорий известных как типы данных.

Чистое понимание типов данных в AutoLISP очень важно. Наряду с их прародителями классами объектов атомами и списками, они формируют важные составляющие блоки для всех программ AutoLISP.

Типы данных описывают характер данных, что атом должен содержать, и количество места (или памяти) которое AutoLISP должен выделить чтобы создать атом и сохранить его значение.

Ниже - список типов данных поддерживаемы AutoCAD версии 10. Все за исключением одной под-категории атомов; исключение - тип данных "list". Перечисляются квалифицируемые как явные типы данных.

* Список

* Символы

* Строки

* Вещественные числа

* Целые числа

* Описатели файла

* "Имена" примитивов AutoCAD

* Наборы выбор AutoCAD

* встроенные функции

 

ОПРЕДЕЛЕНИЕ ТИПОВ ДАННЫХ

 

Функция AutoLISP (type) может использоваться чтобы определить тип данных любого объекта. (type) берет один требуемый параметр, и возвращает символ, который указывает тип данных параметра.

Например, определить тип данных целого числа 1.

Команда: (type 1)

INT

 

ПРИМЕРЫ ТИПОВ ДАННЫХ

Пример кода AutoLISP, который связывает переменную x с рядом объектов с различными типами данных и определяет тип данных связывания с помощю функции (type). Вы можете захотеть набрать выражения в командной строке AutoCAD.

 

В случаях где шестнадцатеричный номер появляется как часть типа данных, невозможно точно представить номер, поскольку он изменяется время от времени. Взамен, номер представляется в примерах просто как "xxxx ".

СПИСОК

Command: (setq x (quote (1 2 3)))

(1 2 3)

Command:!x

(1 2 3)

Command: (type x)

LIST

 

СИМВОЛЫ

Command: (setq x 'A)

A

Command:!x

A

Command: (type a)

SYM

 

СТРОКИ

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

Строковые Константы ограничиваются максимальной длиной 100 символов.

Command: (setq x " Text string ")

" Text string "

Command:!x

" Text string "

Command: (type x)

STR

 

ВЕЩЕСТВЕННЫЕ ЧИСЛА

AutoLISP представляет вещественные числа как числа двойной точности с плавающей запятой, точные по крайней мере 14 значащими цифрам.

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

Command: (setq x 4.5)

4.5

Command:!x

4.5

Command: (type x)

REAL

 

ОПИСАТЕЛИ ФАЙЛА

 

Описатель файла - внутренний указатель на файл, который открыт для операции read/write/append. Функции желающие воздействовать на открытый файл должны использовать описатель файла чтобы обратиться к файлу; следовательно, когда файл открывается, переменная должна связываться с описателем файла или файл не может быть снова доступным.

В этом примере, функция (open) используется чтобы открыть файл "file.ext" в каталоге и дисководе по умолчанию для операции записи. Функция (open) возвращает описатель файла для "file.ext".

Command: (setq x (open "file.ext" "w"))

<File: xxxx >

Command:!x

<File: xxxx >

Command: (type x)

FILE

Command: (setq x (close x))

nil

 

"ИМЕНА" ПРИМИТИВОВ AUTOCAD

Имя примитива - указатель на примитив в текущем сеансе редактора AutoCAD. Имена примитивов изменяются от сеанса к сеанса, и то же самое имя допустимо только в сеансе редактирования где оно найдено (но оно будет допустимо для всего этого сеанса).

Имена примитивов позволяют программам AutoLISP действовать на уникальный, индивидуальный примитив. Методы выполняющие это будут исследоваться в следующих уроках; только краткий пример иллюстрируется здесь.

 

Функция (entlast) используемая в этом примере возвращает имя последнего примитива, добавляемого к рисунку.

Command: LINE

From point: 1,1

To point: 5,5

To point: return

 

Command: (setq x (entlast))

<Entity name: xxxx >

 

Command:!x

<Entity name: xxxx >

 

Command: (type x)

ENAME

 

Command: ERASE

Select objects:!x

Select objects: return

 

НАБОРЫ ВЫБОРА AUTOCAD

 

Набор выбора - совокупность имен примиттивов, сохраненных во временном файле. Не более, чем шесть наборов выбора может открывать AutoLISP в одно и тоже время. Для того, чтобы закрыть ненужную переменную набора выбора, надо связывать переменную с нулем.

 

Функция (ssget) используемая в этом примере, запрашивает у пользователя создать набор выбора и возвращает набор выбора как значение выражения.

 

Command: LINE

From point: 1,1

To point: 5,5

To point: 10,1

To point: return

 

Command: (setq x (ssget))

Select objects: выбрать первую линию

Select objects: выбрать вторую линию

Select objects: return

<Selection set: xxxx >

 

Command:!x

<Selection set: xxxx >

 

Command: (type x)

PICKSET

 

Command: ERASE

Select objects:!x

Select objects: return

 

ВСТРОЕННЫЕ ФУНКЦИИ

 

Command:!setq

<Subr: xxxx >

 

Command: (type setq)

SUBR

 

Date: 2015-12-12; view: 396; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию