下面这个程序只能先执行命令,才能选取物体, 如何改后能先选择后执行?高手帮帮忙。 (defun C:dd (/ ss) (command "_undo" "_g") (if (/= (setq ss (ssget)) nil) (progn (setq DCL_ID (load_dialog "ddchcol.dcl")) (if (not (new_dialog "colordd" DCL_ID)) (exit)) (setq WIDTH (dimx_tile "show_image")) (setq HT (dimy_tile "show_image")) (start_image "show_image") (fill_image 0 0 WIDTH HT 1) (end_image) (setq ns (getvar "cecolor") ons ns) (set_tile "colcou" (strcat "选择: " ns)) (action_tile "show_image" "(setq ns 1)") (action_tile "show_image2" "(setq ns 2)") (action_tile "show_image3" "(setq ns 3)") (action_tile "show_image4" "(setq ns 4)") (action_tile "show_image5" "(setq ns 5)") (action_tile "show_image6" "(setq ns 6)") (action_tile "show_image7" "(setq ns 7)") (action_tile "show_image8" "(setq ns 8)") (action_tile "show_image9" "(setq ns 9)") (action_tile "show_image10" "(setq ns 10)") (action_tile "show_image11" "(setq ns 11)") (action_tile "show_image12" "(setq ns 12)") (action_tile "show_image13" "(setq ns 13)") (action_tile "show_image14" "(setq ns 14)") (action_tile "show_image15" "(setq ns 15)") (action_tile "show_image16" (setq NS "_bylayer")) (action_tile "cancel" "(setq NS nil)") (start_dialog) (unload_dialog DCL_ID) (if (/= ns nil) (progn (command "_change" SS "" "_p" "_co" NS "") (if (= NS "_bylayer") (princ "\n所选物体改变成 ... BYLAYER") (princ (strcat "\n所选物体改变成 ... " (itoa NS) ) ) ) ) ) (princ) (setq DCL_ID nil NS nil WIDTH nil HT nil SS nil) ) (princ "\n没有选择任何物体!") ) (command "_undo" "_e") (princ) ) (princ) |