幻灯片命令如何调用下面TT1、TT2、TT3
各位大佬,小弟不才,请问幻灯片命令如何调用下面TT1、TT2、TT3的命令,谢谢
[*] (setq path "D:\\temp_chs\\temp\\")
[*] (defun updateImage (key / sld x y)
[*] (setq sld (cond ((= key "front")(strcat path "sld\\" "Face"))
[*] ((= key "top" )(strcat path "sld\\" "Dessus"))
[*] ((= key "section")(strcat path "sld\\" "Coupe" ))
[*] )
[*] x (dimx_tile "img")
[*] y (dimy_tile "img")
[*] )
[*] (start_image "img")
[*] (fill_image 0 0 x y 0)
[*] (slide_image 0 -15 x y sld)
[*] (end_image)
[*] )
[*]
[*](if JH (/= 'str (type JH)) (setq JH "500"))
[*](if JW (/= 'str (type JW)) (setq JW "500"))
[*](if JR (/= 'str (type JR)) (setq JR "50"))
[*](defun getdata1 ()
[*] (setq JH(get_tile "JH"))
[*] (setq JW(get_tile "JW"))
[*] (setq JR(get_tile "JR"))
[*] )
[*](if (= (setq dcl_id (load_dialog (make-dclCS6 ))) 0)(progn(alert "\n无法显示对话框!")(exit)))
[*](if(not (new_dialog "dllC" dcl_id))(progn(alert "\n无法显示对话框!")(exit)))
[*](set_tile "JH" JH)
[*](set_tile "JW" JW)
[*](set_tile "JR" JR)
[*](action_tile "spacer" "(getdata1)(done_dialog 1)")
[*](action_tile "cancel" "(getdata1)(done_dialog 0)")
[*](setq view "front")
[*] (progn
[*] (set_tile "view" view)
[*] (updateImage view)
[*] (action_tile "view" "(updateImage (setq view $value))")
[*] (setq sld (start_dialog))
[*] (unload_dialog dcl_id)
[*] si OK
[*] (if (= sld 1)
[*] view
[*] )
[*] (COND ((= (GET_TILE "front") "1") (SETQ sld 1));幻灯片命令如何调用下面TT1的命令
[*] ((= (GET_TILE "top") "1") (SETQ sld 2));幻灯片命令如何调用下面TT2的命令
[*] ((= (GET_TILE "section") "1") (SETQ sld 3));幻灯片命令如何调用下面TT3的命令
[*] )
[*] (cond ((= sld 1) (tt1))
[*] ((= sld 2) (tt2))
[*] ((= sld 3) (tt3))
[*] )
[*] (defuntt1 ()
[*] (alert "\n001")
[*] (get_jxhy_data (atoi JH)(atoi JW) (atoi JR))
[*] )
[*] (defuntt2 ()
[*] (alert "\n002")
[*] (get_jxhy_data (atoi JH)(atoi JW) (atoi JR))
[*] )
[*] (defuntt3 ()
[*] (alert "\n003")
[*] (get_jxhy_data (atoi JH)(atoi JW) (atoi JR))
[*] )
[*])
[*](prin1)
[*])
[*]
[*](defun make-dclCS6(/ lst_str str file f)
[*](setq lst_str '(
[*] "dllC:dialog"
[*] "{ // start dcl"
[*] "label = \"矩形中心画圆\";"
[*]" :row{"" :boxed_radio_column {"" label = \"幻灯片选择\";"" key = \"view\";"
[*]" :radio_button{ label = \"圆形\"; key = \"front\"; }"
[*]" :radio_button{ label = \"方圆\"; key = \"top\"; }"
[*]" :radio_button{ label = \"箭头\"; key = \"section\"; }"
[*]" }"
[*] ":column{"
[*] ":row{:edit_box{label=\"长度:\";key=\"JW\"; edit_width=15;}}"
[*] ":row{:edit_box{label=\"宽度:\";key=\"JH\"; edit_width=15;}}"
[*] ":row{:edit_box{label=\"直径:\";key=\"JR\"; edit_width=15;}}"
[*] "}"
[*] ":column{"
[*]" :image{"
[*]" key = \"img\";"
[*]" aspect_ratio = 1.0;"
[*]" height = 8;"
[*]" }"
[*]" }"
[*]" }"
[*] ":column{"
[*] ":row{"":button{label=\"确定(&Q)\";key=\"spacer\";is_default=true;height=2;}"
[*] ":button{label=\"取消(&C)\";key=\"cancel\";is_cancel=true;height=2;}"
[*] "}""}"
[*]"}"
[*]))
[*](setq file (vl-filename-mktemp "DclTemp.dcl"))
[*](setq f (open file "w"))
[*](foreach str lst_str
[*] (princ "\n" f)
[*] (princ str f)
[*] )
[*](close f)
[*];;返回
[*]file
[*])
[*]
[*](defun get_jxhy_data (HH WWRR /P0 P1 P2 P3 P4 P5 )
[*](setvar "cmdecho"0)
[*](setvar "blipmode"0)
[*](setq p0 (getpoint "插入点"))
[*](setq p1 (polar p0 (* pi 1.5) (/ hh 2)))
[*](setq p2 (polar p10 (/ ww 2)))
[*](setq p3 (polar p2 pi ww))
[*](setq p4 (polar p3 (* pi 0.5) hh))
[*](setq p5 (polar p4 0 ww))
[*](vl-cmdf "rectang" "non"p3 "non"p5 )
[*](vl-cmdf "change" (entlast) "" "p" "c" "7" "")
[*](vl-cmdf "circle" "non"p0 "d" rr )
[*](vl-cmdf "change" (entlast) "" "p" "c" "7" "")
[*](prin1)
[*])
提供一個完整的範例(含幻燈片) 可參考看看
檔案存放路徑 d槽 temp 目錄下
若放在其他地方 則需修改 程式中的 路徑(setq path "D:\\TEMP\\")
執行指令:tt2
效果如動態圖
本帖最后由 depgfdepgf 于 2022-8-5 21:56 编辑
lee50310老大,就是拿你这个改的,改到后面不会了:'( 本帖最后由 lee50310 于 2022-8-6 11:32 编辑
depgfdepgf 发表于 2022-8-5 21:50
lee50310老大,就是拿你这个改的,改到后面不会了
將你上面的程式及 SDL資料夾放在 c:槽 的 temp資料夾內
修改 程式路徑 (setq path "C:\\TEMP\\")
可以執行
没有调用TT2,和TT3命令,只调用了TT1命令,@lee50310大佬 depgfdepgf 发表于 2022-8-6 14:28
没有调用TT2,和TT3命令,只调用了TT1命令,@lee50310大佬
改好了
路徑設 (setq path "D:\\TEMP\\")
若存放位ˋ有不同請修改程式中 路徑值
本帖最后由 depgfdepgf 于 2022-8-7 21:58 编辑
页:
[1]