Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
274
Добавлен:
29.05.2015
Размер:
3.15 Mб
Скачать

отключения вызова команды СТЕРЕТЬ на время действия всех других команд. После завершения их выполнения пункт возвращается в нормальное состояние.

$(if,$(getvar,cmdactive),~)ERASE

Подобный подход можно использовать для установки пометки возле имени пункта меню и для интерактивной смены символа, который служит для пометки.

USERS1-5 Каталог функций языка DIESEL

Функции языка DIESEL позволяют получать сведения о состоянии программы, выполнять вычисления и выводить информацию на экран. Каждая функция может иметь не более 10 параметров (в число параметров включается и ее имя). Превышение этого предела приводит к выдаче сообщения об ошибке.

+ (сложение)

Возвращает сумму чисел знач1, знач2, ..., знач9.

$(+, знач1 [, знач2 , …, знач9 ])

Например, если значение текущей 3D высоты равно 5, следующее DIESEL-выражение вернет 15.

$(+, $(getvar,thickness),10)

- (вычитание)

Возвращает результат вычитания чисел от знач2 до знач9 из знач1.

$(-, знач1 [, знач2 , …, знач9 ])

* (умножение)

Возвращает произведение чисел знач1, знач2, …, знач9.

$(*, знач1 [, знач2 , …, знач9 ])

/ (деление)

Возвращает частное от деления числа знач1 на знач2, …, знач9.

$(/, знач1 [, знач2 , …, знач9 ])

USERS1-5 Каталог функций языка DIESEL | 183

= (равно)

Если числа знач1 и знач2 равны, возвращает 1; иначе возвращает 0.

$(=, знач1 , знач2 )

< (меньше)

Если число знач1 меньше числа знач2, возвращает 1; иначе возвращает 0.

$(< , знач1, знач2)

Следующее выражение получает текущее значениеHPANG; если это значение меньше, чем значение в системной переменной USERR1, возвращает 1. Если в USERR1 содержится значение 10,0, а текущее значение HPANG составляет 15,5, то следующая строка возвращает 0.

$(<, $(getvar,hpang),$(getvar,userr1))

> (больше)

Если число знач1 больше чем знач2, возвращает 1; иначе возвращает 0.

$(>, знач1 , знач2 )

!= (не равно)

Если числа знач1 и знач2 не равны, возвращает 1; иначе возвращает 0.

$(!=, знач1 , знач2 )

<= (меньше или равно)

Если число знач1меньше или равно числу знач2, строка возвращает 1; в противном случае - 0.

$(<=, знач1 , знач2 )

>= (больше или равно)

Если число знач1 больше или равно числу знач2, возвращает 1; иначе возвращает

0.

184 | Глава 5 DIESEL

$(>=, знач1 , знач2 )

и

Возвращает результат побитовой логической операции И над целыми значениями от знач1 до знач9.

$(and, знач1 [, знач2 ,…, знач9 ])

angtos

Возвращает значение угла в заданном формате и с указанной точностью.

$(angtos, значение [, режим, точность])

Заданное значение представляется как угол в формате, определяемом параметром режими с указанной точностью(как в аналогичной функции AutoLISP). Возможные значения аргумента режимприводятся в следующей таблице. Если режими точность отсутствуют, используются значения, заданные в команде ЕДИНИЦЫ.

Единицы измерения углов

Режим

Формат строки

0

Градусы

1

Градусы/минуты/секунды

2

Грады

3

Радианы

4

Топографические

 

единицы

edtime

Возвращает дату и время, отформатированные в соответствии с указанным представлением.

$(edtime, время , представление )

Текущая дата AutoCAD по юлианскому календарю, взятая из параметра время (значение которого можно получить, например, из $(getvar,date)), форматируется согласно параметру представление). Параметр представление состоит из строк форматов, которые функция заменяет на значения элементов даты и времени.

USERS1-5 Каталог функций языка DIESEL | 185

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

4:53:17.506.

фразы форматов для edtime

 

 

Формат

Вывод

Формат

Вывод

D

5

H

4

DD

05

HH

04

DDD

Суб

MM

53

DDDD

Суббота

SS

17

M

9

MSEC

506

MO

09

AM/PM

AM

МЕС

Сен

am/pm

am

MONTH

Сентября

A/P

A

YY

98

a/p

a

YYYY

1998

 

 

Фразу AM/PM следует обязательно вводить полностью; если использовать только AM, буква A будет интерпретирована буквально, а буква M вернет номер месяца.

Если в шаблоне представления обнаружен элемент AM/PM, фразы H и HH форматируются согласно 12-часовой шкале (12:00-12:59 1:00-11:59), а не по

24-часовой (00:00-23:59).

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

$(edtime, $(getvar,date),DDD"," DD MON YYYY - H:MMam/pm)

Полученная в результате строка выглядит так:

Суб, 5 сен 1998 – 4:53am

Если аргумент время равен 0, вместо него берутся дата и время входа в самый внешний макрос. Это позволяет исключить затраты времени на множественные вызовы функции $(getvar,date), и вместе с тем гарантирует, что строки, составленные из нескольких макросов $(edtime), используют одинаковое время.

186 | Глава 5 DIESEL

Соседние файлы в папке Справочные материалы