紅色的連結有問題,(得到的值為0.0)請高手指點如何改進. (defun c:egp() (setvar "cmdecho" 0) (setq egp_d_list '("12" "16" "20")) (dcl_egp01) (prin1) ) ----------------------------------------------- (defun dcl_egp01() (setq dcl_id (load_dialog "E:\\cad\\DCL\\egp.dcl")) (new_dialog "egpdcl" dcl_id) (def_egpopen) (action_tile "egp1" "(setq ddtype 1)") (action_tile "egp2" "(setq ddtype 2)") (action_tile "egp3" "(setq ddtype 3)") (action_tile "egp4" "(setq ddtype 4)") (action_tile "egp5" "(setq ddtype 5)") (action_tile "egp7" "(setq ddtype 6)") (action_tile "ok1" "(ok_egp) (done_dialog 1)") (action_tile "ok2" "(ok_egp) (done_dialog 2)") (action_tile "ok3" "(ok_egp) (done_dialog 3)") (setq dd (start_dialog)) (cond ((= dd 1) (def_egp_af)) ((= dd 2) (c:egpb)) ((= dd 3) (c:egpd)) (t (alert "未完成任何動作!!!"))) ) ----------------------------------------------- (defun def_egpopen() (set_tile "egp_h" "10") (set_tile "egp_x" "10") (set_tile "egp_y" "10") (show_list "egp_d" egp_d_list) (setq sldkey_list '("egp1" "egp2" "egp3" "egp4" "egp5" "egp7")) (setq sld_list '("E:\\cad\\sld\\egp_0.sld" "E:\\cad\\sld\\egp_1.sld" "E:\\cad\\sld\\egp_2.sld" "E:\\cad\\sld\\egp_3.sld" "E:\\cad\\sld\\egp_4.sld" "E:\\cad\\sld\\egp_5.sld")) (mapcar 'show_sld sldkey_list sld_list)) ----------------------------------------------- (defun show_list (key newlist) (start_list key) (mapcar 'add_list newlist) (end_list) ) ----------------------------------------------- (defun show_sld(key sld) (setq x (dimx_tile key)) (setq y (dimy_tile key)) (start_image key) (fill_image 0 0 x y -2) (slide_image 0 0 x y sld) (end_image) ) ----------------------------------------------- (defun ok_egp() (setq d (atof (get_tile "egp_d"))) (setq h (atof (get_tile "egp_h"))) (setq x (atof (get_tile "egp_x"))) (setq y (atof (get_tile "egp_y"))) ) ----------------------------------------------- (defun def_egp_af() (cond ((<= ddtype 5) (c:egpa)) ((= ddtype 6) (c:egpf)))) |