明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: hehoubin

请帮忙完成DCL@LSP 图层列表框和复选框问题。谢谢。。

  [复制链接]
 楼主| 发表于 2012-12-2 11:05:43 | 显示全部楼层
zzxxQQ ,你好,能帮我完成这个吗?谢谢 。。
  "    :radio_button{key=\"k1\";label=\"当前图层\";}"

29.
   "    :radio_button{key=\"k2\";label=\"打开图层\";}"

30.
   "    :radio_button{key=\"k3\";label=\"关闭图层\";}"

31.
   "    :radio_button{key=\"k4\";label=\"锁定图层\";}"

32.
   "    :radio_button{key=\"k5\";label=\"解锁图层\";}"

33.
   "    :radio_button{key=\"k6\";label=\"冻结图层\";}"

34.
   "    :radio_button{key=\"k7\";label=\"解冻图层\";}"

35.
   "    :radio_button{key=\"k8\";label=\"选物改层\";}"

36.
   "    :radio_button{key=\"k9\";label=\"选物改色\";}"

37.
   "    :radio_button{key=\"k10\";label=\"选物改线性\";}"

我一直都无法点击或拉选左边的图层去执行K1-K10;能帮我完成下吗,谢谢  
 楼主| 发表于 2012-12-3 13:53:52 | 显示全部楼层
请帮忙写个这样在命令
如何给 专用图层赋值对应的颜色,
(SETQ COLOR1’("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "243" "85"))
          给图层 A1~A14, ACX, BH。

(SETQ COLOR2’ ("4" "2" "6"))
给图层 WALL, WINDOWS, DOOR。


如何启动 K1-K10 执行复选列表框选择的图层,(列表框的图层包括了专用图层和所有图层)
请帮忙加一个批量建立专用图层(当下拉列表框为模型专用图层时,批量建立图层 A1~A14, ACX, BH;)
                                                 (当下拉列表框为模型专用图层时,批量建立图层 WALL, WINDOWS, DOOR;)
  1. ;主程序

  2. (vl-load-com)
  3. (defun c:TC (/ fname fn x dclid lin)

  4. (setvar "CMDECHO" 0)
  5. ;;;这里要如何给 专用图层赋值颜色;
  6. (setq lst1 '("a01" "a02" "a03" "a04" "a05" "a06" "a07" "a08" "a09" "a10" "a11" "a12" "a13" "a14" "acx" "bh")
  7.       lst2 '("WALL" "WINDOWS" "DOOR")
  8.       lst0 '("模型专用图层" "设计专用图层" "所有图层"))

  9. (setq lst3 (list) lent nil)
  10. (while (setq lent (tblnext "LAYER" (not lent)))

  11. (setq lst3 (cons (cdr(assoc 2 lent))lst3))

  12. )
  13. (setq fname (vl-filename-mktemp nil nil ".dcl"))

  14. (setq fn (open fname "w"))


  15. (foreach x

  16. '("agtckz : dialog{"

  17.    " label=\"《&Havis&CAD》--图层控制--TC\";"
  18.    "  :row{"
  19.    " :boxed_column{"

  20.    "  label=\"用  户  图  层\";"

  21.    "  :row{"

  22.    "   :column{"

  23.    "    :popup_list{key=\"ky\";list=\"\";}"

  24.    "    :list_box{key=\"t0\";multiple_select=true;list=\"\";width=18;height=25;}"

  25.   "   }"

  26. "   :radio_column{"

  27.    "    label=\"图层处理\";key=cl;width=5;height=30;"

  28.    "    :radio_button{key=\"k1\";label=\"当前图层\";}"

  29.    "    :radio_button{key=\"k2\";label=\"打开图层\";}"

  30.    "    :radio_button{key=\"k3\";label=\"关闭图层\";}"

  31.    "    :radio_button{key=\"k4\";label=\"锁定图层\";}"

  32.    "    :radio_button{key=\"k5\";label=\"解锁图层\";}"

  33.    "    :radio_button{key=\"k6\";label=\"冻结图层\";}"

  34.    "    :radio_button{key=\"k7\";label=\"解冻图层\";}"

  35.    "    :radio_button{key=\"k8\";label=\"选物改层\";}"

  36.    "    :radio_button{key=\"k9\";label=\"选物改色\";}"

  37.    "    :radio_button{key=\"k10\";label=\"选物改线性\";}"

  38.                      "      }"

  39.                      "     :column{"
  40.                      "      label=\"图层批量处理\";";width=1;"               
  41.                      "     :column{"
  42.                      "     :button{key=\"29\";label=\"新建专用层NE\";width=1;}"
  43.                      "     :button{key=\"30\";label=\"打开专用层KL\";width=1;}"
  44.                      "     :button{key=\"31\";label=\"关闭专用层FL\";width=1;}"
  45.                      "     :button{key=\"32\";label=\"锁定专用层SL\";width=1;}"
  46.                      "     :button{key=\"33\";label=\"解锁专用层UL\";width=1;}"
  47.                      "     :button{key=\"34\";label=\"冻结专用层ZL\";width=1;}"
  48.                      "     :button{key=\"35\";label=\"解冻专用层WL\";width=1;}"
  49.                      "     :button{key=\"36\";label=\"隐藏专用层YL\";width=1;}"
  50.                      "     :button{key=\"37\";label=\"恢复专用层HL\";width=1;}"
  51.                      "     :button{key=\"38\";label=\"隐藏非专用层YFL\";width=1;}"
  52.                      "     :button{key=\"39\";label=\"关闭非专用层FFL\";width=1;}"
  53.                      "     :button{key=\"40\";label=\"锁定非专用层SFL\";width=1;}"
  54.                      "     :button{key=\"41\";label=\"冻结非专用层ZFL\";width=1;}"
  55.                      "     :button{key=\"42\";label=\"清理无用图层QLL\";width=1;}"
  56.                      "     }"
  57.                      "     }"

  58.                      "     }"
  59.                      "     }"

  60.                      "      }"
  61.                      "    ok_cancel_help;"
  62.                      "      }"


  63. );end ;endlist

  64. (princ x fn)

  65. (princ "\n" fn)

  66. );end foreach

  67. (close fn)

  68. (setq fn (open fname "r"))

  69. (setq dclid (load_dialog fname))

  70. (while (or (eq (substr

  71.    (setq lin (vl-string-right-trim "\" fn)" (vl-string-left-trim "(write-line \"" (read-line fn))))

  72.    1 2) "//")

  73.    (eq (substr lin 1 (vl-string-search " " lin)) "")

  74.    (not (eq (substr lin (+ (vl-string-search " " lin) 1) 9) " : dialog")))

  75. )

  76. (new_dialog (substr lin 1 (vl-string-search " " lin)) dclid)

  77. (start_list "t0") (mapcar 'add_list lst1) (end_list)

  78. (start_list "ky") (mapcar 'add_list lst0) (end_list)
  79. (readata )
  80. (action_tile "ky" "(chlst)")
  81. (action_tile "k1" "(H_ddl)")
  82.        (action_tile "29" "(done_dialog 29)" )
  83.        (action_tile "help" "(done_dialog 43)")
  84.        (action_tile "cancel" "(done_dialog 0)" )
  85.        (setq re (start_dialog))
  86.        (cond

  87.               ((= re 29) (xjmxtc))
  88.              ((= re 43) (h_help))        
  89.       );end cond
  90.        (unload_dialog dclid)
  91.        (close fn)
  92.        (vl-file-delete fname)
  93.        (princ))

  94. ;end defun

  95. (defun readata ()

  96. (setq ky (atoi (get_tile "ky"))

  97.        cl (get_tile "cl")

  98.        xz (get_tile "t0"))
  99. )

  100. (defun chlst ()

  101. (setq ky (atoi (get_tile "ky")))

  102. (start_list "t0")

  103. (cond

  104. ((= ky 0)  (mapcar 'add_list lst1) (end_list))

  105. ((= ky 1)  (mapcar 'add_list lst2) (end_list))

  106. ((= ky 2)  (mapcar 'add_list lst3) (end_list))

  107. ((mapcar 'add_list (eval(read(strcat "lst" (get_tile "ky"))))))
  108. )
  109.   (end_list)

  110. )




  111. ;;;这里如何 写 执行key= K1(打开) 和 K2(关闭)……在文本框里拉选和单选的图层;;;;;

  112. ;;;这里如何 写 执行key= 29(新建专用图层) ; 30(打开专用图层)…… 文本框里的专用图层;;;;;



  113. 例:


  114. 新建建筑模型专业图层
  115. (DEFUN xjmxtc()
  116.        (command ".-layer" "n" "a01" "c" "1" "a01" "")
  117.        (command ".-layer" "n" "a02" "c" "2" "a02" "")
  118.        (command ".-layer" "n" "a03" "c" "3" "a03" "")
  119.        (command ".-layer" "n" "a04" "c" "4" "a04" "")
  120.        (command ".-layer" "n" "a05" "c" "5" "a05" "")
  121.        (command ".-layer" "n" "a06" "c" "6" "a06" "")
  122.        (command ".-layer" "n" "a07" "c" "7" "a07" "")
  123.        (command ".-layer" "n" "a08" "c" "8" "ao8" "")
  124.        (command ".-layer" "n" "a09" "c" "9" "a09" "")
  125.        (command ".-layer" "n" "a10" "c" "10" "a10" "")
  126.        (command ".-layer" "n" "a11" "c" "11" "a11" "")
  127.        (command ".-layer" "n" "a12" "c" "12" "a12" "")
  128.        (command ".-layer" "n" "a13" "c" "13" "a13" "")
  129.        (command ".-layer" "n" "a14" "c" "14" "a14" "")
  130.        (command ".-layer" "n" "bh" "c" "243" "bh" "")
  131.        (command ".-layer" "n" "acx" "c" "85" "acx" "")
  132.        (princ "\n           新建图层              :)")
  133.        (princ))

 楼主| 发表于 2012-12-4 19:19:05 | 显示全部楼层
自己顶下别沉了,希望高手来帮忙!先谢谢。。
发表于 2012-12-7 19:44:57 | 显示全部楼层
支持高手来帮忙
发表于 2013-5-19 09:42:57 | 显示全部楼层
高手们的东西要收藏 呵呵 谢谢了
发表于 2013-7-28 18:33:45 | 显示全部楼层
不错,支持
发表于 2013-7-28 22:22:23 | 显示全部楼层
ZZXXQQ 发表于 2012-12-1 11:40
能多选了,可后面程序不知道如何处理。
[/post]

怎么看不了?
发表于 2014-1-3 13:02:18 | 显示全部楼层
来学习一下dcl
发表于 2014-4-12 09:02:31 | 显示全部楼层
学习一下程序
发表于 2014-4-12 09:32:29 | 显示全部楼层
收藏 呵呵 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 05:45 , Processed in 0.170549 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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