很急啊,求哪位帮忙修改一下程序好吗!!!
这个程序是在两线之间加个高程点的程序,我用上了捕捉后,老是出现CONSP NIL ,然后参数类型错误,没用捕捉就不会出错,但我必须要用捕捉,请问我该怎么修改啊,(defun c:GCC1()(setvar "cmdecho" 0)
(setvar "DIMZIN" 4)
(command "layer" "m" "gcd" "c" "1" "gcd" "")
(setvar "clayer" "gcd")
(setq pzgg(getvar "osmode"))
(setq htbl(getvar "userr1"))
(if (= "0" (rtos htbl 2 0))
(progn
(initget "200 500 1000 2000 5000 10000 20000 50000 100000")
(SETQ htbl(atof(getkword "当前比例尺未知,输入比例尺: ")))
(setvar "userr1" htbl)
(setq htbl1 htbl)
(progn
(setq htbl1 htbl)
)))
(setq blc(/ htbl 1000))
(setq blcjl 1.2)
(setq line_1 (entsel "/n请选择第一条等高线:"))
(SETQ LINE_TXT(CDR (ASSOC 0(ENTGET(CAR LINE_1)))))
(SETQ ENTPL_1 (CAR LINE_1))
(SETQ OBJ_pl1(VLAX-ENAME->VLA-OBJECT entpl_1))
(setq H_1(VLA-GET-Elevation OBJ_pl1))
(setq line_2 (entsel "/n请选择相临第2条等高线:"))
(SETQ LINE_TXT2(CDR(ASSOC 0(ENTGET(CAR LINE_2)))))
(SETQ ENTPL_2(CAR LINE_2))
(SETQ OBJ_pl1(VLAX-ENAME->VLA-OBJECT entpl_2))
(setq H_2(VLA-GET-Elevation OBJ_pl1))
(while
(setq YH_mouse T)
(while (and (/= (car (setq YH_mouse (grread YH_mouse 5 0))) 3)(/= (car YH_mouse) 11))
(SETQ PL2_DD1 (NTH 1 YH_MOUSE))
(setq pt_t(vlax-curve-getclosestpointto entpl_1 pl2_dd1))
(setq pt_last(vlax-curve-getclosestpointto entpl_2 pl2_dd1))
(setq px1(list (nth 0 pt_t) (nth 1 pt_t)))
(setq px2(list (nth 0 pt_last) (nth 1 pt_last)))
(setq pt1 (list (nth 0 pl2_dd1)(nth 1 pl2_dd1)))
(setq pt(osnap pt1 "_end")) ;;;;;;;;程序一加上这个就出现CONSP NIL,到底哪错了,
(SETQ PT_X(NTH 0 PT))
(SETQ PT_Y (NTH 1 PT))
(setq s1 (distance px1 pt))
(setq s2 (distance px2 pt))
(setq s3 (+ s1 s2))
(if (equal h_1 h_2 0.001)
(progn
(setq dgj blc)
(setq gcz(/ s1 (/ s3 2)))
(if (> gcz 1)
(progn
(setq gcz(/ s2 (/ s3 2)))
))
(setq delh(* dgj gcz))
(setq h(+ h_1 delh))
)
(progn
(setq h(- h_1 ( * (- h_1 h_2)(/ s1 s3))))
))
(SETQ H_D(RTOS H 2 2))
(sETQ H_DD(ATOF H_D))
(SETQ NEW_D(LIST PT_X PT_Y H_DD ))
(print (strcat "当前高程为:" h_d))
)
(setvar "osmode" 0)
(command "insert" "gc200" (list pt_x pt_y h_dd) blc blc "0")
(command "text" "st" "xb" "j" "ml"(list (+ pt_x (* 1.2 blc)) pt_y h_dd) (* blc 2) "0" (rtos h_dd 2 2))
(setvar "osmode" pzgg)
)
(setvar "cmdecho" 1)
)
页:
[1]