Тема: Исполнительная схема свайного поля
Написал программку, рисует и подписывает отклонения сваи от проекта
(defun C:svai (/ osm cla col sv_pr sv_f d_x d_y z_f d_x_t d_y_t z_p uglx ugly) (setq osm (getvar "OSMODE")) (setq cla (getvar "CLAYER")) (setq col (getvar "CECOLOR")) (setq z_p (getreal "\nВведите проектную отметку свай: ")) (while (and (setvar "osmode" 41) (setvar "ERRNO" 0) (setq sv_pr (getpoint "\nПроектное положение сваи <Выход>")) (/= (getvar "ERRNO") 52) (setq sv_f (getpoint "\nФактическое положение сваи")) (/= (getvar "ERRNO") 52) (setq d_x (- (nth 0 sv_pr) (nth 0 sv_f)) d_y (- (nth 1 sv_pr) (nth 1 sv_f)) z_f (nth 2 sv_f) d_x_t (abs (fix (* d_x 1000))) d_y_t (abs (fix (* d_y 1000))) ) (setvar "osmode" 0) (if z_p (setq z_t (fix (* 1000 (- z_f z_p)))) (setq z_t "") ) (VL-CMDF "_-style" "159" "Arial" "0.15" "" "" "" "") (VL-CMDF "_-LAYER" "_M" "Подп" "_C" 7 "" "_LW" 0.5 "" "") (VL-CMDF "_-color" "ByLayer" "") (VL-CMDF "_.text" (polar sv_pr 5.0630 0.36) "0" z_t "" ) (if (> d_x 0) (progn (setq uglx pi) (VL-CMDF "_.text" "_J" "_R" (polar sv_pr 2.730 0.3) "0" d_x_t "" ) ) (progn (setq uglx 0) (VL-CMDF "_.text" (polar sv_pr 0.412 0.3) "0" d_x_t "" ) ) ) (if (> d_y 0) (progn (setq ugly (+ pi (/ pi 2))) (VL-CMDF "_.text" "_J" "_R" (polar sv_pr 4.3004 0.3) "90" d_y_t "" ) ) (progn (setq ugly (/ pi 2)) (VL-CMDF "_.text" (polar sv_pr 1.9828 0.3) "90" d_y_t "" ) ) ) ;End setq (VL-CMDF "_-LAYER" "_M" "Свая" "_C" 5 "" "_LW" 0.5 "" "") (VL-CMDF "_.rectang" (polar sv_pr (/ pi 4) 0.212132) (polar sv_pr (+ pi (/ pi 4)) 0.212132) "" ) (VL-CMDF "_.-LAYER" "_M" "Стрелки" "_C" 1 "" "_LW" 0.5 "" "") (VL-CMDF "_.pline" (polar sv_pr ugly 0.15) (polar sv_pr ugly 0.55) "" ) (VL-CMDF "_.pline" (polar sv_pr uglx 0.15) (polar sv_pr uglx 0.55) "" ) (VL-CMDF "_.pline" (polar (polar sv_pr uglx 0.55) (+ uglx 2.7676) 0.20 ) (polar sv_pr uglx 0.55) (polar (polar sv_pr uglx 0.55) (- uglx 2.7676) 0.20 ) "" ) (VL-CMDF "_.pline" (polar (polar sv_pr ugly 0.55) (+ ugly 2.7676) 0.20 ) (polar sv_pr ugly 0.55) (polar (polar sv_pr ugly 0.55) (- ugly 2.7676) 0.20 ) "" ))) (setvar "OSMODE" osm) (setvar "CLAYER" cla) (setvar "CECOLOR" col) )
Вроде работает, но есть два вопроса:
1. Как востоновить стиль текста, который был до программы
2. Подскажите пожалуйста мои грубые ошибки, или что можно было бы упростить