只需一步,快速开始
龙龙仔版主10楼这个运行会显示错误,列表缺陷,没法用
我用04版,没装插件
使用道具 举报
;;重貼
(defun TABLE (S / D R) (while (setq D (tblnext S (null D))) (setq R (cons (cons (cdr (assoc 2 D)) (cdr (assoc 62 D))) R ) ) ))(defun C:DDDD (/ OBJ BLOCKLIST BLOCK N LST) (vl-load-com) (setq *OBJ (vlax-get-acad-object)) (setq *DOC (vla-get-activedocument *OBJ)) (setq LAYSEL (vla-get-layers *DOC)) (setq LST (TABLE "Layer")) (setq BLOCKLIST (vla-get-blocks *DOC)) ;取得塊集合 (vlax-for BLOCK BLOCKLIST ;遍歷塊集合 (vlax-for N BLOCK ;遍歷單個塊 (CCBB N) ) ) (princ))(defun ML () (if (not (assoc LAYCOL LST)) (progn (setq LST (cons (cons LAYCOL LAYCOL) LST)) (setq LAYOBJ (vla-add LAYSEL LAYCOL)) (vla-put-color LAYOBJ LAYCOL) ) ))(defun CCBB (OBJ / LAYCOL LAYNAM) (setq LAYCOL (itoa (vla-get-color OBJ))) (if (= LAYCOL "256") (progn (setq LAYNAM (vla-get-layer OBJ)) (setq LAYCOL (cdr (assoc LAYNAM LST))) (ML) ) (progn (ML) (vla-put-color OBJ 256) ) ) (vla-put-layer OBJ LAYCOL))
龙龙仔版主,个别图纸运行时会出现以下内容,无法运行
是怎么回事
错误: AutoCAD.Application: 参数 Color (位于 IAcadLayer::put_Color 中) 无效
您需要 登录 才可以下载或查看,没有账号?注册
highflybir版主的13楼里的程序做得相当完美了
2位版主的讨论让我们晚辈学了不少东西
再次感谢2位版主
说实在话,这个程序还不够完美,因为要考虑如下情况
1、对于图层中有冻结或者锁住的情况下,会出错。
2、对于有XREF的情况下,会出错。
3、可能不于其他二次开发软件不兼容。
4、对于颜色为0的情况有可能也判断不对。
5、如果不是整个图形对象,而是选择集的话,则这个程序不适用。
6、是否有更优的算法?
7、以及其他种种未考虑到的情况。
总体来说,是一个基本满足要求的程序.
如果要更正上述几点的话,程序可能变得很长了。
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-2-22 16:59 , Processed in 0.172100 second(s), 19 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.