明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1563|回复: 8

【求助】请高手帮忙加一个对话框

[复制链接]
发表于 2013-4-7 19:20:44 | 显示全部楼层 |阅读模式
本帖最后由 njut_prince 于 2013-4-7 19:34 编辑

这个是一个批量新建图层的源码,请高手加一个对话框,可以选择要新建哪几个图层(支持多选),谢谢!
因为如果图层比较多的话不是每次都要用到所以的图层,希望新建需要用到的图层!*(源码里面的图层是可以修改增加的)

;;一次性建立多个层
(DEFUN c:tttt (/ lt lst)
  (DEFUN mklacolt (lay col lt / chk_lay)
    (if (= (tblsearch "layer" lay) nil)
      (command "layer" "new" lay "c" col lay "lt" lt lay "")
    )
  )
  (setvar "cmdecho" 0)
  (foreach lt '("CENTER" "HIDDEN" "DASHED" "phantom")
    (if (= (tblsearch "ltype" lt) nil)
      (command "_linetype" "l" lt "" "")
    )
  )
  (foreach lst '(
   ("剖面线层" 40 "CONTINUOUS")
   ("中心线层" 1 "CENTER")
   ("短虚线层" 3 "HIDDEN")
   ("长虚线层" 6 "DASHED")
   ("细实线层" 2 "CONTINUOUS")
   ("尺寸线层" 4 "Continuous")
   ("流道层" 2 "CONTINUOUS")
   ("线切割层" 2 "CONTINUOUS")
   ("文字层" 6 "CONTINUOUS")
   ("顶出板层" 132 "HIDDEN")
   ("顶针平面层" 7 "CONTINUOUS")
  )
    (mklacolt (car lst) (cadr lst) (caddr lst))
  )
  (PROMPT "\n新图层已建立")
  (princ)
)
发表于 2013-4-7 20:55:57 | 显示全部楼层
 楼主| 发表于 2013-4-8 18:47:33 | 显示全部楼层
楼上的还是不能满足要求哦,我想要的是能选择要新建的图层。。。
发表于 2013-4-9 09:49:27 | 显示全部楼层
试下看
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

点评

正是我需要的,谢谢  发表于 2013-4-9 20:27
发表于 2013-4-9 13:09:03 | 显示全部楼层
ZZXXQQ 发表于 2013-4-9 09:49
试下看

[/post]

ommand:  TTTT
; error: bad argument type: stringp nil

点评

I try it no error.  发表于 2013-4-10 08:00
 楼主| 发表于 2013-4-9 20:31:13 | 显示全部楼层
zzxxqq版主的已经满足要求了,最好能像CAD图层管理器里面一样能显示名称、颜色、线型那就完美了   谢谢各位!!!
发表于 2014-1-29 09:46:47 | 显示全部楼层
还是有一些看不到啊。。
发表于 2014-1-29 13:06:46 | 显示全部楼层
  1. ;; 一次性建立多个层
  2. ;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
  3. (defun c:tt (/ ilst ll1 ll2)
  4.   (defun main-pro (/ ss i s1)
  5.     (foreach lt        '("CENTER" "HIDDEN" "DASHED" "phantom")
  6.       (if (= (tblsearch "ltype" lt) nil)
  7.         (command "_linetype" "l" lt "" "")
  8.       )
  9.     )
  10.     (foreach a (mapcar 'atoi (xyp-Get-Str2Lst li1))
  11.       (setq b (nth a lst))
  12.       (XYP-MKLACOLT (car b) (cadr b) (caddr b))
  13.     )
  14.   )
  15.   (if (or (null li1) (/= (type li1) 'STR))
  16.     (setq li1 "0")
  17.   )
  18.   (setq        lst  '(("剖面线层" 40 "CONTINUOUS")
  19.                ("中心线层" 1 "CENTER")
  20.                ("短虚线层" 3 "HIDDEN")
  21.                ("长虚线层" 6 "DASHED")
  22.                ("细实线层" 2 "CONTINUOUS")
  23.                ("尺寸线层" 4 "Continuous")
  24.                ("流道层" 2 "CONTINUOUS")
  25.                ("线切割层" 2 "CONTINUOUS")
  26.                ("文字层" 6 "CONTINUOUS")
  27.                ("顶出板层" 132 "HIDDEN")
  28.                ("顶针平面层" 7 "CONTINUOUS")
  29.               )
  30.         lst1 (mapcar 'car lst)
  31.         ilst '(("li1" "直径" "list" "lst1" "8" "10"))
  32.   )
  33.   (if (= (xyp-Dcl-Init Ilst "【建立图层】" t) 1)
  34.     (main-pro)
  35.   )
  36.   (princ)
  37. )
发表于 2014-8-6 21:34:39 | 显示全部楼层
学习一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 05:25 , Processed in 0.195752 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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