Обучение AutoLISP в 8 уроках


Обучение AutoLISP в восьми уроках - стр. 17


ние к самому близкому целому числу.
 
    Command: ( / 6.0 0.35 )
    17.1429
 
    Command: ( fix 17.1429 )
    17
 
    Command: ( fix ( / 6.0 0.35 ))
    17
 
    Command: LINE
    From point: 1,1
    to point: 5,5
    to point: <return>
 
    Command: ARRAY
    Select objects: L
    Select objects: <return>
    Rectangular or Polar array (R/P): R
    Number of rows (---) <1>: 1
    Number of columns (|||) <1>: (fix (/ 6.0 0.35))
    Distance between columns: 0.35
 
В этом случае, AutoCAD создает 17 элементов в массиве.
 
Важным есть указание на то, что форма AutoLISP  использовалась  в
интерактивном режиме, в середине команды AutoCAD, для  вычисления
значение ( в этом случае, целого числа ) которое впоследствии ав-
томатически предалось команде в этом же месте в  качестве  ответа
на запрос.
 
В этом примере AutoLISP  вычисляет  размер  радиуса  для  команды
fillet.
 
    Command: FILLET
    Polyline/Radius/<Select two lines>: R
    Enter fillet radius <1.0>: (/ 28.0 8.0)
 
Так как оба параметра для (/) - вещественные числа, результат ве-
щественен, и размер радиуса для команды fillet устанавливается  в
3.5.
 
ИНТЕРАКТИВНОЕ ВЫЧИСЛЕНИЕ
 
Другой метод передавать значения команде AutoCAD состoит  в  том,
чтобы использовать форму AutoLISP которая непосредственно  запра-
шивает пользователя набрать необходимые значения, а затем  выпол-
няет некоторые операции над этими значениями,  в  конечном  счете
возвращая ответ в AutoCAD. Это вероятно более легко для использо-
вания чем для объяснения.
 
Прежде, чем мы выполним некоторое сложное вычисление с  запрошен-
ными у пользователя значениями, мы будем представлять  две  новых
функции AutoLISP: (getdist) и (getpoint).
 
ДВЕ НОВЫХ ИНТЕРАКТИВНЫХ ФУНКЦИИ
 
(getdist)  останавливает выполнение формы и позволяет пользовате-
лю определять расстояние набрать на клавиатуре значение, или выб-



Начало  Назад  Вперед