Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

AutoLisp

61K
07 июня 2010 года
Nicko
1 / / 07.06.2010
В общем есть диалог написанный в AutoLisp но он не пашет или же я не правильно запускаю поэтому кто вкуривает в нем гляньте нету ли ошибки :
;Функция строит цапфу по входным параметрам
(defun C:Zapfa(/ L d L0 K D2 D1 startpoint X Y X1 Y1 X2 Y2 X3 Y3 X4 Y4 X5 Y5 X6 Y6 X7 Y7 X8 Y8 X9 Y9 X10 Y10 X11 Y11 X12 Y12)
(setq startpoint (getpoint "Укажите базовую точку"))

(setq X (car startpoint)) ;выделяем координату X базовой точки
(setq Y (car (cdr startpoint))) ;выделяем координату Y базовой точки


//Загрузка и создание диалога
(if (< (setq dcl_id (load_dialog "e:/tmp.dcl")) 0) (exit))
(if (not (new_dialog "k_dlg" dcl_id)) (exit))
//Назначение выполнения выражений при изменении значений
//элементов заданных ключевыми полями
(action_tile "L" "(setq l (atoi (get_tile \"L\")))")
(action_tile "d" "(setq d (atoi (get_tile \"d\")))")
(action_tile "L0" "(setq L0 (atoi (get_tile \"L0\")))")
(action_tile "K" "(setq K (atoi (get_tile \"K\")))")
(action_tile "D2" "(setq D2 (atoi (get_tile \"D2\")))")
(action_tile "D1" "(setq D1 (atoi (get_tile \"D1\")))")
//Активизация диалога
(start_dialog)
//Удаление диалога с экрана
(done_dialog)
//Вызов команды рисования цапфы


; координаты точки 1
(setq X1 X)
(setq Y1 (+ Y (/ d 2.0)))

; координаты точки 2
(setq X2 X)
(setq Y2 (- Y (/ d 2.0 )))

; координаты точки 3
(setq X3 X)
(setq Y3 (+ Y (/ D2 2.0 )))

; координаты точки 4
(setq X4 X)
(setq Y4 (- Y (/ D2 2.0 )))

; координаты точки 5
(setq X5 (- X K))
(setq Y5 Y3)

; координаты точки 6
(setq X6 (- X K))
(setq Y6 Y4)

; координаты точки 7
(setq X7 (+ X L))
(setq Y7 (+ Y (+ (/ D 2) (/ L 20))))

; координаты точки 8
(setq X8 (+ X L))
(setq Y8 (- Y (+ (/ D 2) (/ L 20))))

; координаты точки 9
(setq X9 (+ X L))
(setq Y9 (+ Y (/ D1 2.0)))

; координаты точки 10
(setq X10 (+ X L))
(setq Y10 (- Y (/ D1 2.0)))

; координаты точки 11
(setq X11 (+ X9 (- L0 (+ L K))))
(setq Y11 Y9)

; координаты точки 12
(setq X12 (+ X10 (- L0 (+ L K))))
(setq Y12 Y10)

(setvar "OSMODE" 0) ;отключение объектной привязки


(command "_LINE" (list X3 Y3) (list X5 Y5) (list X6 Y6) (list X4 Y4) "_C")
(command "_LINE" (list X1 Y1) (list X7 Y7) (list X8 Y8) (list X2 Y2) "_C")
(command "_LINE" (list X9 Y9) (list X11 Y11) (list X12 Y12) (list X10 Y10) "_C")
(command "_LINE" (list (+ X11 2.0) Y) (list (- X5 2.0) Y) "")


(setvar "OSMODE" 1) ;включение объектной привязки

; Выгрузка файла диалога
(unload_dialog dcl_id)
)

(print "Введите название функции Zapfa для ее вызова")
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог