АвтоЛИСП - реализация языка программирования
Рефераты >> Программирование и компьютеры >> АвтоЛИСП - реализация языка программирования

4.50.(getdist [<pt>][<prompt>])

Для пользователя эта функция приостанавливает ввод расстояния. <Подсказка> - произвольная строка, которая появляется на экране в качестве подсказки, а <pt> - произвольная базовая точка. Вы можете определить расстояние, напечатав цифру в текущем формате единиц расстояния АвтоКАДа. Отметьте, что хотя текущий формат единиц расстояния может быть выражен в футах, дюймах (архитектурный), эта функция всегда вводит расстояние в действительных числах.

Вы можете "показать" АвтоЛИСПу расстояние, отметив точками два расположения на графическом экране. АвтоКАД рисует линию резиновой нити от первой точки до позиции текущего перекрестия, что поможет вам при визуализировании расстояния. Необязательный параметр <pt> функции GETDIST (если он определен) предполагается быть первой из этих двух точек, позволяя вам "показать" АвтоЛИСПу расстояние, отмечая еще одну точку.

Следующие примеры иллюстрируют применение GETDIST.

(setq dist (getdist))

(setq dist (getdist '(1.0 3.5))

(setq dist (getdist "How far?")

(setq dist (getdist '(1.0 3.5)"How far?")

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETDIST. См. также INITGET.

4.51.(getint[<prompt>])

Для пользователя эта функция приостанавливает ввод целых чисел и возвращает это целое число. <Подсказка> - произвольная строка, которая появляется на экране в качестве подсказки.

Например:

(setq num (getint))

(setq num (getint "Enter a number:")) (Введите число)

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETINT. См. также INITGET.

4.52.(getkword [<prompt>])

Функция GETKWORD требует от пользователя ключевого слова. Перед вызовом GETKWORD, устанавливается список действительных ключевых слов, применяя функцию INITGET (описанную ниже). GETWORD вводит ключевое слово, выравнивая в строку ввод пользователя. АвтоКАД повторит попытку, если ввод не соответствует одному из этих ключевых слов. Пустой (нулевой) ввод введет нуль (если это допустимо). Нуль также вводится, если создана строка ключевых слов. Например:

(initgent 1 "Yes Nо")

(setq x (getkword "Are you sure? (Yes or No)"))

подскажет пользователю и установит символ Х как для "Yes", так и для "No", в зависимости от ответа пользователя. Если подсказка не соответствует ни одному из ключевых слов, или если пользователь отвечает нулем, АвтоКАД попросит пользователя повторить процедуру.

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETKWORD. См. также INITGET.

4.53.(getorient [<pt>][<prompt>])

В АвтоЛИСПе углы всегда представлены в радианах, с направлением в ноль-радиан вправо ( восток) и углом, увеличивающимся в направлении против часовой стрелки. Таким образом, будут иметь место некоторые преобразования, если пользователь выберет различные нуль-градусные базы или различные направления для увеличения угла посредством команды INITS или систем переменных ANGBASE и ANGDIR.

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

Представьте, что команда АвтоКАДа INITS применялась для выбора нуль-градусной базы 90 градусов (север) и направления для увеличения угла - по часовой стрелке. В таблице показано, что введут функции GETANGLE и GETORIENT (в радианах) для репрезентивного ввода переменных пользователем (в градусах).

Input (degrees)

GETANGLE

GETORIENT

0

0.000000

1.570796

90

1.570796

3.141593

180

3.141593

4.712389

90 (-90 270?)

4.712389

0.000000

Как показано в таблице, GETANGLE принимает на обработку направление увеличения угла, но игнорирует ноль-градусную базу. Таким образом, вы можете применять GETANGLE для получения величины вращения при вводе/вставке блока, так как ввод нуль-градуса всегда введет ноль радиан. С другой стороны, GETORIENT принимает на обработку как ноль-градусную базу, так и направление увеличения угла. Таким образом, вы должны применять GETORIENT для получения таких углов, как угол базовой линии для Элемента Текста. Например, для заданных выше установок UNITS, ориентация базовой линии для нормальной горизонтальной линии текста будет 90 градусов.

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETORIENT. См. также GETANGLE и INITGET.

4.54. (getpoint [<pt>] [<prompt>])

Для пользователя эта функция приостанавливает ввод точки. <pt> - необязательная базовая точка, а <prompt> - произвольная строка, которая появляется на экране в качестве подсказки. Вы можете определить точку поинтером или напечатав координату в текущем формате единиц. Если присутствует параметр необязательной базовой точки <pt>, АвтоКАД чертит линию резиновой нити от этой точки до позиции текущего перекрестия. Например:

(setq p (getpoint))

(setq p (getpoint "Where?")) "Где?"

(setq p (getpoint '(1.5 2.0) "Second point:")

Обычно GETPOINT вводит точку 2D (список из двух действительных чисел). Применяя функцию INITGET для установки контрольной отметки "точка.3D", вы можете заставить GETPOINT ввести точку 3D (список из трех действительных чисел).

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETPOINT. См. также GETCORNER и INITGET.

4.55.(getreal [<prompt>])

Для пользователя эта функция приостанавливает ввод действительного числа и возвращает это действительное число. <Подсказка> - произвольная строка, которая появляется на экране в качестве подсказки. Например:

(setq val (getreal)

(setq val (getreal "фактор шкалы:")

Вы не можете ввести другое выражение ЛИСПа в качестве ответа на требование GETREAL. См. также INITGET.

4.56.(getstring [<cr>][<prompt>])


Страница: