明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 16579|回复: 67

[源码] 通用多层面板

    [复制链接]
发表于 2014-12-3 20:01:04 | 显示全部楼层 |阅读模式
好久没发帖了,最近学习dcl,用之前明经下的一个通用面板程序练了下手,增加了多行多列的表格格式支持,加了一个单独的控制按钮,欢迎交流。
我这边有个问题,主程序定义了局部函数 titl,主面板子程序使用主程序的局部函数 titl,其他子面板子程序定义了专用的子程序的局部函数 titl,然后在使用的时候就发现一个问题,从子面板返回主面板时,主程序的 titl 被子程序的 titl 覆盖了,局部函数不是随着程序的子程序的结束而释放吗?
  1. ;;示例qq
  2. (defun c:qq ( / titl titl0 msg lst switch
  3.         main more-1 more-2
  4.         more-3 more-4 more-5 )
  5.   ;通用定义
  6.   (setq titl0 "xx工具箱 v20141203")
  7.   (setq msg
  8.     (strcat
  9.       "\nmade by lostbalance"
  10.     )
  11.   )
  12.   (setq switch "main 主页面(&Z)")
  13. ;;================================
  14.   (defun main()
  15.     (setq *panel-num* 0)
  16.     (setq lst
  17.       '(
  18.         (
  19.           ("命令组1"
  20.             (
  21.               "FUNC1 命令1"
  22.               "FUNC2 命令2"
  23.               "FUNC3 命令3"
  24.               "more-1 =汇总= (&W)"
  25.             )
  26.           )
  27.           ("命令组2"
  28.             (
  29.               "FUNC4 命令4"
  30.               "FUNC5 命令5"
  31.               "FUNC6 命令6"
  32.               "more-2 =汇总= (&E)"
  33.             )
  34.           )
  35.           ("命令组3"
  36.             (
  37.               "FUNC7 命令7"
  38.               "FUNC8 命令8"
  39.               "FUNC9 命令9"
  40.               "more-3 =汇总= (&R)"
  41.             )
  42.           )
  43.         )
  44.         (
  45.           ("命令组4"
  46.             (
  47.               "FUNC10 命令10"
  48.               "FUNC11 命令11"
  49.               "FUNC12 命令12"
  50.               "more-4 =汇总= (&S)"
  51.             )
  52.           )
  53.           ("命令组5"
  54.             (
  55.               "FUNC13 命令13"
  56.               "FUNC14 命令14"
  57.               "FUNC15 命令15"
  58.               "more-5 =汇总= (&D)"
  59.             )
  60.           )
  61.         )
  62.       )
  63.     )
  64.     (WYB-panel titl0 msg lst switch nil nil)
  65.   )
  66.   (defun more-1 (/ titl lst)
  67.     (setq *panel-num* 1)
  68.     (setq titl "命令组1")
  69.     (setq lst
  70.       '(
  71.         (
  72.           (""
  73.             (
  74.               "FUNC1 命令1 (&S)"
  75.               "FUNC2 命令2 (&D)"
  76.               "FUNC3 命令3 (&F)"
  77.             )
  78.           )
  79.           (""
  80.             (
  81.               "FUNCA1 命令A1 (&W)"
  82.               "FUNCA2 命令A2 (&E)"
  83.             )
  84.           )
  85.         )
  86.       )
  87.     )  
  88.     (WYB-panel titl msg lst switch 20 nil)
  89.   )
  90.   (defun more-2 (/ titl lst)
  91.     (setq *panel-num* 2)
  92.     (setq titl "命令组2")
  93.     (setq lst
  94.       '(
  95.         (
  96.           (""
  97.             (
  98.               "FUNC4 命令4 (&S)"
  99.               "FUNC5 命令5 (&D)"
  100.               "FUNC6 命令6 (&F)"
  101.             )
  102.           )
  103.           (""
  104.             (
  105.               "FUNCB1 命令B1 (&W)"
  106.               "FUNCB2 命令B2 (&E)"
  107.               "FUNCB3 命令B3 (&R)"
  108.             )
  109.           )
  110.         )
  111.       )
  112.     )  
  113.     (WYB-panel titl msg lst switch 20 nil)
  114.   )
  115.   (defun more-3 (/ titl lst)
  116.     (setq *panel-num* 3)
  117.     (setq titl "命令组3")
  118.     (setq lst
  119.       '(
  120.         (
  121.           (""
  122.             (
  123.               "FUNC7 命令7 (&S)"
  124.               "FUNC8 命令8 (&D)"
  125.               "FUNC9 命令9 (&F)"
  126.             )
  127.           )
  128.           (""
  129.             (
  130.               "~FUNCC1 命令C1 (&W)"
  131.               "~FUNCC2 命令C2 (&E)"
  132.               "~FUNCC3 命令C3 (&R)"
  133.             )
  134.           )
  135.         )
  136.       )
  137.     )  
  138.     (WYB-panel titl msg lst switch 20 nil)
  139.   )
  140.   (defun more-4 (/ titl lst)
  141.     (setq *panel-num* 4)
  142.     (setq titl "命令组4")
  143.     (setq lst
  144.       '(
  145.         (
  146.           (""
  147.             (
  148.               "FUNC10 命令10 (&S)"
  149.               "FUNC11 命令11 (&D)"
  150.               "FUNC12 命令12 (&F)"
  151.             )
  152.           )
  153.           (""
  154.             (
  155.               "~FUNCD1 命令D1 (&W)"
  156.               "~FUNCD2 命令D2 (&E)"
  157.               "~FUNCD3 命令D3 (&R)"
  158.             )
  159.           )
  160.         )
  161.       )
  162.     )  
  163.     (WYB-panel titl msg lst switch 20 nil)
  164.   )
  165.   (defun more-5 (/ titl lst)
  166.     (setq *panel-num* 5)
  167.     (setq titl "命令组5")
  168.     (setq lst
  169.       '(
  170.         (
  171.           (""
  172.             (
  173.               "FUNC13 命令13 (&S)"
  174.               "FUNC14 命令14 (&D)"
  175.               "FUNC15 命令15 (&F)"
  176.             )
  177.           )
  178.           (""
  179.             (
  180.               "FUNCE1 命令E1 (&W)"
  181.               "FUNCE2 命令E2 (&E)"
  182.               "FUNCE3 命令E3 (&R)"
  183.             )
  184.           )
  185.         )
  186.       )
  187.     )  
  188.     (WYB-panel titl msg lst switch 20 nil)
  189.   )

  190.   (cond
  191.     ((= *panel-num* 1)(more-1))
  192.     ((= *panel-num* 2)(more-2))
  193.     ((= *panel-num* 3)(more-3))
  194.     ((= *panel-num* 4)(more-4))
  195.     ((= *panel-num* 5)(more-5))
  196.     ((main))
  197.   )
  198.   (princ)
  199. )

  200. ;;==========================================
  201. ;;5.3 多层面板
  202. ;;(WYB-panel titl msg lst switch bwidth flag)
  203. ;;titl:   标题
  204. ;;msg:    帮助提示
  205. ;;buttons:  按钮列表(命令前加"~",按钮变灰|名称后面加"(&字母)",设置面板按钮的快捷键)
  206. ;;switch:   下按钮(str,"快捷键 命令名"),nil取消
  207. ;;Bwidth:   按钮的宽度,nil为自动调整
  208. ;;flag:    nil 先行后列|T 先列后行
  209. ;;==========================================
  210. ;;v1.0 by llsheng-73 edata
  211. ;;v1.1 by lostbalance 20141203
  212. ;;==========================================
  213. (defun WYB-panel ( titl msg buttons switch Bwidth flag
  214.           / strsplist makedcl dclfile lst-s lst-t cmdlst
  215.             dcl-str Bwidth-str cmd-n dcl act act-lst i ctl cmd
  216.           )
  217.   (defun strsplist (str / i)
  218.     (if (setq i (vl-string-search " " str))
  219.       (list (substr str 1 i) (vl-string-trim " " (substr str (+ 2 i))))
  220.     )
  221.   )
  222.   (defun makedcl (lst / fileid dclhandle)
  223.     (setq dclfile (vl-filename-mktemp nil nil ".dcl")
  224.       fileid  (open dclfile "w")
  225.     )
  226.     (cond
  227.       ((= (type lst) 'str) (write-line lst fileid))
  228.       ((= (type lst) 'list) (foreach n lst (write-line n fileid)))
  229.     )
  230.     (close fileid)
  231.     (setq dclhandle (load_dialog dclfile))
  232.   )
  233.   (if Bwidth (setq Bwidth-str (strcat "fixed_width = true; width = " (rtos Bwidth) "; "))(setq Bwidth-str ""))
  234.   (if flag
  235.     (setq
  236.       lst-s "\n:column{ label = ""
  237.       lst-t "\n:row{ children_alignment = top; children_fixed_height = true; label = ""
  238.     )
  239.     (setq
  240.       lst-s "\n:row{ children_alignment = top; children_fixed_height = true; label = ""
  241.       lst-t "\n:column{label = ""
  242.     )
  243.   )
  244.   (setq
  245.     cmdlst '("esc")
  246.     dcl-str (strcat (vl-string-translate "$~" "ab" (vl-filename-base (vl-filename-mktemp)))
  247.           ":dialog{label="" titl "";"
  248.         )
  249.   )
  250.   (foreach xxx buttons
  251.     (if (listp xxx);列集合
  252.       (progn
  253.         (setq dcl-str (strcat dcl-str "\nspacer_1;" lst-s "";"))
  254.         (foreach xx xxx
  255.           (if (listp xx);命令列
  256.             (progn
  257.               (setq dcl-str (strcat dcl-str lst-t (car xx) "";"))
  258.               (foreach x (last xx)
  259.                 (setq
  260.                   cmd-n (strsplist x)
  261.                   dcl-str (if cmd-n
  262.                         (strcat dcl-str "\n:button{ " Bwidth-str
  263.                           "key ="" (car cmd-n) ""; label="" (last cmd-n) ""; "
  264.                           (if (= (substr (car cmd-n) 1 1) "~") "is_enabled = false; " "")
  265.                           "}"
  266.                         )
  267.                         (strcat dcl-str "\nspacer_0;")
  268.                       )
  269.                   cmdlst (if (/= (car cmd-n) nil) (cons (car cmd-n) cmdlst) cmdlst)
  270.                 )
  271.               )
  272.               (setq dcl-str (strcat dcl-str "}"))
  273.             )
  274.             (setq dcl-str (strcat dcl-str "\nspacer_0;"))
  275.           )
  276.         )
  277.         (setq dcl-str (strcat dcl-str "}"))
  278.       )
  279.     )
  280.   )
  281.   (setq cmdlst (cdr (reverse cmdlst))
  282.     dcl-str (strcat dcl-str "\nspacer_1;\n:row{ alignment = centered; fixed_width = true; \nspacer_0;")
  283.   )
  284.   (if (and switch (setq cmd-n (strsplist switch)))
  285.     (setq
  286.       dcl-str (strcat dcl-str
  287.           "\n:button{ fixed_width = true; width = 4; key = "" (car cmd-n) ""; label = "" (last cmd-n) "";}")
  288.       cmdlst (if (/= (car cmd-n) nil) (cons (car cmd-n) cmdlst) cmdlst)
  289.     )
  290.   )
  291.   (if msg
  292.     (setq dcl-str (strcat dcl-str "\n:button{ fixed_width = true; width = 4; key = "help"; label = " 帮助 ";}"))
  293.   )
  294.   (setq
  295.     dcl-str (strcat dcl-str
  296.         "\n:button{ fixed_width = true; width = 4; key="cancel"; label=" 关闭 "; is_cancel = true;is_default = true;}}}")
  297.     dcl (makedcl dcl-str)
  298.     act-lst '()
  299.     i 1
  300.   )
  301.   (foreach key cmdlst
  302.     (setq act (strcat "(action_tile "" key """(done_dialog " (itoa i) ")")")
  303.       act-lst (cons act act-lst)
  304.       i (1+ i)
  305.     )
  306.   )
  307.   (new_dialog (substr dcl-str 1 8) dcl)  
  308.   (action_tile "cancel" "(done_dialog 0)")
  309.   (if msg (action_tile "help" "(alert msg)"))
  310.   (eval (read (strcat "(progn" (apply 'strcat act-lst) ")")))
  311.   (setq ctl (start_dialog))
  312.   (unload_dialog dcl)
  313.   (vl-file-delete dclfile)
  314.   (if (/= ctl 0)
  315.     (progn
  316.       (setq cmd (nth (- ctl 1) cmdlst))
  317.       ;;检查命令是否~开头,有就去掉,如果运行中没有更改该命令button的enable值,这句可以不要
  318.       (if (= (substr cmd 1 1) "~") (setq cmd (substr cmd 2 (1- (strlen cmd)))))
  319.       (cond ;新的命令判断方式,代码更短
  320.         ((boundp (read (strcat "c:" cmd)))(princ "\n")(eval (read (strcat "(c:" cmd ")"))))
  321.         ((boundp (read cmd))(princ "\n")(eval (read (strcat "(" cmd ")"))))
  322.         (t (princ "\n")(vl-cmdf cmd))
  323.       )
  324.     )
  325.   )
  326. )

本帖子中包含更多资源

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

x

评分

参与人数 2明经币 +4 收起 理由
tfanghui + 1 赞一个!
xyp1964 + 3 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2021-5-17 15:31:35 | 显示全部楼层
本帖最后由 fangmin723 于 2021-5-17 15:34 编辑

我做的面板
  1. (list
  2.       (list
  3.         (list '("1bt01" "1bt01") '("1bt02" "1bt02") '("1bt03" "1bt03") '("1bt04" "1bt04"))
  4.         (list '("1bt11" "1bt11") '("1bt12" "1bt12") '("1bt13" "1bt13") '("1bt14" "1bt14"))
  5.         (list '("1bt21" "1bt21") '("1bt22" "1bt22") '("1bt23" "1bt23") '("1bt24" "1bt24"))
  6.         (list '("1bt31" "1bt31") '("1bt32" "1bt32") '("1bt33" "1bt33") '("1bt34" "1bt34"))
  7.         (list '("1bt41" "1bt41") '("1bt42" "1bt42") '("1bt43" "1bt43") '("1bt44" "1bt44"))
  8.         (list '("1bt51" "1bt51") '("1bt52" "1bt52") '("1bt53" "1bt53") '("1bt54" "1bt54"))
  9.         (list '("1bt61" "1bt61") '("1bt62" "1bt62") '("1bt63" "1bt63") '("1bt64" "1bt64"))
  10.         (list '("1bt71" "1bt71") '("1bt72" "1bt72") '("1bt73" "1bt73") '("1bt74" "1bt74"))
  11.         (list '("1bt81" "1bt81") '("1bt82" "1bt82") '("1bt83" "1bt83") '("1bt84" "1bt84"))
  12.         (list '("1bt91" "1bt91") '("1bt92" "1bt92") '("1bt93" "1bt93") '("" "")) ;'("1bt94" "1bt94")
  13.       )
  14.       (list
  15.         (list '("2bt01" "2bt01") '("2bt02" "2bt02") '("2bt03" "2bt03") '("2bt04" "2bt04"))
  16.         (list '("2bt11" "2bt11") '("2bt12" "2bt12") '("2bt13" "2bt13") '("2bt14" "2bt14"))
  17.         (list '("2bt21" "2bt21") '("2bt22" "2bt22") '("2bt23" "2bt23") '("2bt24" "2bt24"))
  18.         (list '("2bt31" "2bt31") '("2bt32" "2bt32") '("2bt33" "2bt33") '("2bt34" "2bt34"))
  19.         (list '("2bt41" "2bt41") '("2bt42" "2bt42") '("2bt43" "2bt43") '("2bt44" "2bt44"))
  20.         (list '("2bt51" "2bt51") '("2bt52" "2bt52") '("2bt53" "2bt53") '("2bt54" "2bt54"))
  21.         (list '("2bt61" "2bt61") '("2bt62" "2bt62") '("2bt63" "2bt63") '("2bt64" "2bt64"))
  22.         (list '("2bt71" "2bt71") '("2bt72" "2bt72") '("2bt73" "2bt73") '("2bt74" "2bt74"))
  23.         (list '("2bt81" "2bt81") '("2bt82" "2bt82") '("2bt83" "2bt83") '("2bt84" "2bt84"))
  24.         (list '("2bt91" "2bt91") '("2bt92" "2bt92") '("2bt93" "2bt93") '("2bt94" "2bt94"))
  25.       )
  26.       (list
  27.         (list '("3bt01" "3bt01") '("3bt02" "3bt02") '("3bt03" "3bt03") '("3bt04" "3bt04"))
  28.         (list '("3bt11" "3bt11") '("3bt12" "3bt12") '("3bt13" "3bt13") '("3bt14" "3bt14"))
  29.         (list '("3bt21" "3bt21") '("3bt22" "3bt22") '("3bt23" "3bt23") '("3bt24" "3bt24"))
  30.         (list '("3bt31" "3bt31") '("3bt32" "3bt32") '("3bt33" "3bt33") '("3bt34" "3bt34"))
  31.         (list '("3bt41" "3bt41") '("3bt42" "3bt42") '("3bt43" "3bt43") '("3bt44" "3bt44"))
  32.         (list '("3bt51" "3bt51") '("3bt52" "3bt52") '("3bt53" "3bt53") '("3bt54" "3bt54"))
  33.         (list '("3bt61" "3bt61") '("3bt62" "3bt62") '("3bt63" "3bt63") '("3bt64" "3bt64"))
  34.         (list '("3bt71" "3bt71") '("3bt72" "3bt72") '("3bt73" "3bt73") '("3bt74" "3bt74"))
  35.         (list '("3bt81" "3bt81") '("3bt82" "3bt82") '("3bt83" "3bt83") '("3bt84" "3bt84"))
  36.         (list '("3bt91" "3bt91") '("3bt92" "3bt92") '("3bt93" "3bt93") '("3bt94" "3bt94"))
  37.       )
  38.       (list
  39.         (list '("4bt01" "4bt01") '("4bt02" "4bt02") '("4bt03" "4bt03") '("4bt04" "4bt04"))
  40.         (list '("4bt11" "4bt11") '("4bt12" "4bt12") '("4bt13" "4bt13") '("4bt14" "4bt14"))
  41.         (list '("4bt21" "4bt21") '("4bt22" "4bt22") '("4bt23" "4bt23") '("4bt24" "4bt24"))
  42.         (list '("4bt31" "4bt31") '("4bt32" "4bt32") '("4bt33" "4bt33") '("4bt34" "4bt34"))
  43.         (list '("4bt41" "4bt41") '("4bt42" "4bt42") '("4bt43" "4bt43") '("4bt44" "4bt44"))
  44.         (list '("4bt51" "4bt51") '("4bt52" "4bt52") '("4bt53" "4bt53") '("4bt54" "4bt54"))
  45.         (list '("4bt61" "4bt61") '("4bt62" "4bt62") '("4bt63" "4bt63") '("4bt64" "4bt64"))
  46.         (list '("4bt71" "4bt71") '("4bt72" "4bt72") '("4bt73" "4bt73") '("4bt74" "4bt74"))
  47.         (list '("4bt81" "4bt81") '("4bt82" "4bt82") '("4bt83" "4bt83") '("4bt84" "4bt84"))
  48.         (list '("4bt91" "4bt91") '("4bt92" "4bt92") '("4bt93" "4bt93") '("4bt94" "4bt94"))
  49.       )
  50.       (list
  51.         (list '("5bt01" "5bt01") '("5bt02" "5bt02") '("5bt03" "5bt03") '("5bt04" "5bt04"))
  52.         (list '("5bt11" "5bt11") '("5bt12" "5bt12") '("5bt13" "5bt13") '("5bt14" "5bt14"))
  53.         (list '("5bt21" "5bt21") '("5bt22" "5bt22") '("5bt23" "5bt23") '("5bt24" "5bt24"))
  54.         (list '("5bt31" "5bt31") '("5bt32" "5bt32") '("5bt33" "5bt33") '("5bt34" "5bt34"))
  55.         (list '("5bt41" "5bt41") '("5bt42" "5bt42") '("5bt43" "5bt43") '("5bt44" "5bt44"))
  56.         (list '("5bt51" "5bt51") '("5bt52" "5bt52") '("5bt53" "5bt53") '("5bt54" "5bt54"))
  57.         (list '("5bt61" "5bt61") '("5bt62" "5bt62") '("5bt63" "5bt63") '("5bt64" "5bt64"))
  58.         (list '("5bt71" "5bt71") '("5bt72" "5bt72") '("5bt73" "5bt73") '("5bt74" "5bt74"))
  59.         (list '("5bt81" "5bt81") '("5bt82" "5bt82") '("5bt83" "5bt83") '("5bt84" "5bt84"))
  60.         (list '("5bt91" "5bt91") '("5bt92" "5bt92") '("5bt93" "5bt93") '("5bt94" "5bt94"))
  61.       )
  62.     )

本帖子中包含更多资源

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

x
 楼主| 发表于 2022-12-30 22:32:52 | 显示全部楼层
注册 发表于 2022-12-23 13:35
再请教一下,如何实现空格键执行上一个命令,而不是重复打开工具面板?劳烦您了

论坛逛的不勤快。以下是我目前自用的调整后的代码,就是最后面的cond判断执行,由原来的read改成了Vlax-Invoke-Method,我也是抄别人的,感觉后者是模拟了键盘输入命令名的操作,CAD记录下的上一步操作是你后来选中的命令,而不是面板命令,所以可以右键重复执行。



(setq *DOC* (vla-get-ActiveDocument (vlax-get-acad-object)))  ;;这个可以放在通用库里,或者放在函数前面,比较常用和通用

(cond ;;新的命令判断方式,代码更短

    ((boundp (read (strcat "c:" cmd)))
        ;(princ "\n")
        ;;使用以下这句,右键重复的命令为面板
        ;(eval (read (strcat "(c:" cmd ")")))
        ;;使用以下这句,右键重复的命令为面板启动的程序
        (Vlax-Invoke-Method *DOC* 'SendCommand (strcat cmd " "))
        ;;以下是上一句的两种实现方式
        ;(Vlax-Invoke-Method (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'SendCommand (strcat tt " "))
        ;(Vlax-Invoke-Method (Vlax-Get-Or-Create-Object "WScript.Shell" ) 'Sendkeys (strcat tt "{Enter}"))
    )
    ((boundp (read cmd))
        ;(princ "\n")
        ;(eval (read (strcat "(" cmd ")")))
        (Vlax-Invoke-Method *DOC* 'SendCommand (strcat "(" cmd ")" " "))
    )
    (t
        ;(princ "\n")
        ;(vl-cmdf cmd)
        (Vlax-Invoke-Method *DOC* 'SendCommand (strcat cmd " "))
    )
)


 楼主| 发表于 2024-8-23 17:11:02 | 显示全部楼层
muai2010 发表于 2024-8-19 09:43
大佬。是不是只能单列或者单行,多列外加一个框或者多行外加一个框dcl是不是不能实现?意思如下图,这个 ...

时间有点久了,我手头在用的这个面板函数和引用函数都修改过,不好做测试,不过从我写的修改历史来看,应该是可以实现你说的要求的。

以下是我样例中的部分代码,参照红色的代码增加新的子列表就能增加多列或者多行,可以多个子列表
         ("命令组1"
            (
              "FUNC1 命令1"
              "FUNC2 命令2"
              "FUNC3 命令3"
              "more-1 =汇总= (&W)"
            )
            (
              "FUNC1x 命令1x"
              "FUNC2x 命令2x"
              "FUNC3x 命令3x"
            )

          )
         (其他按钮...)

        )

发表于 2014-12-3 22:59:41 | 显示全部楼层
感谢提供源码!
发表于 2014-12-4 14:52:17 | 显示全部楼层
别劳神了,推荐你采用:
简单的自定面板函数
发表于 2014-12-4 16:42:02 | 显示全部楼层
不错  我喜欢这样的面板的     支持  感谢分享源码
 楼主| 发表于 2014-12-4 17:30:10 来自手机 | 显示全部楼层
USER2128 发表于 2014-12-4 14:52
别劳神了,推荐你采用:
简单的自定面板函数

那个面板程序我也在用,两个的使用差不多。实现的面板界面有点区别,具体看个人喜好了。
发表于 2014-12-5 08:28:22 | 显示全部楼层
都不错!感谢楼主提供源码了!院长,老迈,都有,各有千秋,用者凭各自喜欢
发表于 2014-12-5 11:47:28 | 显示全部楼层
不错,对面板了解不多,正在学习中。
发表于 2014-12-5 22:16:06 | 显示全部楼层
有这样的面板吗?可否发一个学习一下!这个是仲文玉的工具箱演示!

本帖子中包含更多资源

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

x
发表于 2014-12-5 22:38:37 | 显示全部楼层
tianyi1230 发表于 2014-12-5 22:16
有这样的面板吗?可否发一个学习一下!这个是仲文玉的工具箱演示!

这个也就DCL间的相互切换
发表于 2014-12-6 08:33:30 | 显示全部楼层
lucas_3333 发表于 2014-12-5 22:38
这个也就DCL间的相互切换

发一个简单的学习学习!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 15:23 , Processed in 0.203319 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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