Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 24 стр.

UptoLike

Составители: 

24
точки пересечения бесконечных прямых, проходящих через точки p1, p2
и p3, p4. Если запись имеет вид (setq р5 (inters p1 p2 p3 p4)), то пере-
менной р5 будет возвращено значение nil, так как отрезки, заданные точ-
ками p1, p2 и p3, p4, не пересекаются (рис. 2.4б).
а) б)
Рис. 2.4. Вычисление координат точки пересечения:
адвух прямых, бдвух отрезков прямых
2.6. Логические и специальные функции в АВТОЛИСПЕ
Структура Автолиспа содержит логические функции в виде условных
выражений. Данные функции позволяют выполнять некоторые действия
над зависимостями при выполнении заданного условия, если оно истинно
T(true). Это достигается с помощью функции if.
Функцию (if <условие> <выражение - тогда> [<выражение -
иначе>]) применяют для проверки условия и если оно Тrue (истина), то
выполняется действие <выражение - тогда>, в противном случае <вы-
ражение - иначе>. В общем случае выражение <выражение - иначе>
может отсутствовать.
Если при составлении текста выражений 1
или 2 используют более
одной функции, то необходимо ввести функциюprogn. Пример приме-
нения функции progn:
(if (< k 0)(progn (setq x 10 y 20) (command "отрезок" P1 P2 "" )
)
)
В данном примере, если выполняется условие (< k 0), то выполняется
следующая последовательность: вначале функция setq присвоит значе-
ния переменным x = 10, y = 20, а затем будет построен отрезок, прохо-
дящий через точки р1 и р2.
р1
р2
р
5
р3
р4
р1
р2
р3
р4
точки пересечения бесконечных прямых, проходящих через точки p1, p2
и p3, p4. Если запись имеет вид (setq р5 (inters p1 p2 p3 p4)), то пере-
менной р5 будет возвращено значение nil, так как отрезки, заданные точ-
ками p1, p2 и p3, p4, не пересекаются (рис. 2.4б).

                       р5                             р2
                  р2        р3                                  р3

       р1                         р4       р1                        р4

                       а)                              б)
            Рис. 2.4. Вычисление координат точки пересечения:
                а – двух прямых, б – двух отрезков прямых

      2.6. Логические и специальные функции в АВТОЛИСПЕ

     Структура Автолиспа содержит логические функции в виде условных
выражений. Данные функции позволяют выполнять некоторые действия
над зависимостями при выполнении заданного условия, если оно истинно
T(true). Это достигается с помощью функции if.
     • Функцию (if <условие> <выражение - тогда> [<выражение -
иначе>]) применяют для проверки условия и если оно Тrue (истина), то
выполняется действие <выражение - тогда>, в противном случае − <вы-
ражение - иначе>. В общем случае выражение <выражение - иначе>
может отсутствовать.
     Если при составлении текста выражений 1 или 2 используют более
одной функции, то необходимо ввести функцию – progn. Пример приме-
нения функции progn:
   (if (< k 0)(progn (setq x 10 y 20) (command "отрезок" P1 P2 "" )
               )
   )
   В данном примере, если выполняется условие (< k 0), то выполняется
следующая последовательность: вначале функция setq присвоит значе-
ния переменным x = 10, y = 20, а затем будет построен отрезок, прохо-
дящий через точки р1 и р2.


                                   24