明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1824|回复: 9

求新建图层, 改为当层,并自动改图层颜色

[复制链接]
发表于 2014-12-10 14:16 | 显示全部楼层 |阅读模式
1明经币
求新建图层, 改为当层,并自动改图层颜色

最佳答案

查看完整内容

(defun c:newlaynewcor() (setq lay_name (getstring "\n输入要新建的图层名称:")) (if (tblsearch "LAYER" lay_name) (princ "\n该图层已存在!") (progn (setq lay_cor (abs (cdr(assoc 62 (tblnext"layer" t))))) (setq cor_list nil) (while lay_cor (s ...
发表于 2014-12-10 14:16 | 显示全部楼层
本帖最后由 lyqiezi 于 2014-12-15 20:51 编辑

(defun c:newlaynewcor()
        (setq lay_name (getstring "\n输入要新建的图层名称:"))
        (if (tblsearch "LAYER"  lay_name)
                (princ "\n该图层已存在!")
                (progn
                        (setq lay_cor (abs (cdr(assoc 62 (tblnext"layer" t)))))
                        (setq cor_list nil)
                        (while lay_cor
                                (setq cor_list (vl-list* lay_cor cor_list))
                                (if (setq lay_cor (cdr (assoc 62 (tblnext"layer"))))
                                        (setq lay_cor (abs lay_cor)))
                        )
                        (setq cor 1)
                        (while (member cor cor_list)
                                (setq cor (1+ cor))
                        )
                        (if (> cor 255)
                                (progn
                                        (princ "\n您的图层颜色过多,已按255色建层")
                                  (setq cor 255)))
                        (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") '(70 . 0) '(6 . "Continuous")(cons 62 cor)
                                        (cons 2 lay_name)
                                )
                        )
                        (command "clayer" lay_name)
                        (princ "\n已新建图层<<")
                  (princ lay_name)
                 (princ ">>并切换成当前图层")
                )
               
        )
        (prin1)
)

后面几句princ,当时不记得怎么组合在一起了,就连着写了几个,还有list的的加数据,也忘了,用的别的办法,所以不想放源码,虽然现在已经知道了,你自己想办法了


回复

使用道具 举报

发表于 2014-12-10 15:51 | 显示全部楼层
没怎么看明白
回复

使用道具 举报

 楼主| 发表于 2014-12-10 16:50 | 显示全部楼层
love1030312 发表于 2014-12-10 15:51
没怎么看明白

1.就是新建一个图层,并且图层颜色都跟已有颜色不一样
2.这个新建图层为当前层
3.
回复

使用道具 举报

发表于 2014-12-10 17:03 | 显示全部楼层
...跟已有颜色不一样...

OK. 但每个人的用色习惯不一,您得列出待用序表
回复

使用道具 举报

 楼主| 发表于 2014-12-10 17:31 | 显示全部楼层
Andyhon 发表于 2014-12-10 17:03
...跟已有颜色不一样...

OK. 但每个人的用色习惯不一,您得列出待用序表

用色只要跟已有颜色不一样,随机产生,如果不是自已需要的,手动改一下即可
回复

使用道具 举报

发表于 2014-12-10 23:05 | 显示全部楼层
品茗新秀 发表于 2014-12-10 16:50
1.就是新建一个图层,并且图层颜色都跟已有颜色不一样
2.这个新建图层为当前层
3.

就这点要求???  这个很简单  很简单了    LZ都金牌了  完全可以自己搞定
回复

使用道具 举报

 楼主| 发表于 2014-12-11 01:34 | 显示全部楼层
love1030312 发表于 2014-12-10 23:05
就这点要求???  这个很简单  很简单了    LZ都金牌了  完全可以自己搞定

你好,以前照着书还能写几个,现在出差在外,难的是跟已有颜色不一样
回复

使用道具 举报

发表于 2014-12-13 10:25 | 显示全部楼层
颜色从1开始,遇到没用过的就用,非源码

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2014-12-15 15:11 | 显示全部楼层
lyqiezi 发表于 2014-12-13 10:25
颜色从1开始,遇到没用过的就用,非源码

谢谢,主要是学习
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 05:23 , Processed in 0.304572 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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