明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 423|回复: 6

[提问] 幻灯片命令如何调用下面TT1、TT2、TT3

[复制链接]
发表于 2022-8-5 21:30 | 显示全部楼层 |阅读模式
各位大佬,小弟不才,请问幻灯片命令如何调用下面TT1、TT2、TT3的命令,谢谢!

  • (defun c:tt (/ updateImage getdata1 view dcl_id status)
  •     (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))
  •    )
  • (defun  tt1 ()
  •    (alert "\n001")
  •    (get_jxhy_data (atoi JH)(atoi JW) (atoi JR))
  • )
  • (defun  tt2 ()
  •    (alert "\n002")
  •    (get_jxhy_data (atoi JH)(atoi JW) (atoi JR))
  • )
  • (defun  tt3 ()
  •    (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 WW  RR /  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 p1  0 (/ 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)
  •   )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-8-5 21:41 | 显示全部楼层
提供一個完整的範例(含幻燈片) 可參考看看

檔案存放路徑 d槽 temp 目錄下
若放在其他地方 則需修改 程式中的 路徑  (setq path "D:\\TEMP\\")
執行指令:tt2

效果如動態圖

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-8-5 21:50 | 显示全部楼层
本帖最后由 depgfdepgf 于 2022-8-5 21:56 编辑

lee50310老大,就是拿你这个改的,改到后面不会了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-8-5 22:44 | 显示全部楼层
本帖最后由 lee50310 于 2022-8-6 11:32 编辑
depgfdepgf 发表于 2022-8-5 21:50
lee50310老大,就是拿你这个改的,改到后面不会了

將你上面的程式  及 SDL資料夾  放在 c:槽 的 temp資料夾內
  修改 程式路徑 (setq path "C:\\TEMP\\")

可以執行



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-8-6 14:28 | 显示全部楼层
没有调用TT2,和TT3命令,只调用了TT1命令,@lee50310大佬
发表于 2022-8-6 22:26 | 显示全部楼层
depgfdepgf 发表于 2022-8-6 14:28
没有调用TT2,和TT3命令,只调用了TT1命令,@lee50310大佬




改好了
路徑設 (setq path "D:\\TEMP\\")
若存放位ˋ有不同請修改程式中 路徑值



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 10:15 , Processed in 0.261046 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表