工具箱中的dwg.lsp 中的子函数 #chg_color 可以修改块中的子实体的组码,线形的组码是
6
线型名(如果不为 BYLAYER 则存在) 如果为 BYBLOCK 表示某不定线型 (可选)
;;命令:dwgblack
;;将图中所有实体(包括块,嵌套块,尺寸中的无名块)都变白色
;;出图的时候解决有的白线变灰的问题。
;;
;;本程序出自XDsoft,修改的最初目的只是为处理电子版地形图,
;;将所有实体改为同一图层,同一颜色,字体也统一一种(未完成),
;;经过修改更通用些,也适应专门的要求
;;
;;通用组码修改 cnum0 组码 cnum 组码值 - (defun #chg_color (e cnum0 cnum / tf e blkna)
- (xdrx_setenttodb e)
- (setq tf (xdrx_getentdxf 0))
- (cond
- ((or
- (= tf "INSERT")
- (= tf "DIMENSION")
- )
- (setq blkna (xdrx_getentdxf 2))
- ;(if (not (wcmatch blkna "`*")) ;排除无名块
- ; (progn
- (setq blkna (tblsearch "block" blkna))
- (setq e (cdr (assoc -2 blkna)))
- (while e
- (xdrx_setenttodb e)
- (setq tf (xdrx_getentdxf 0))
- (if (or
- (= tf "INSERT")
- (= tf "DIMENSION")
- )
- (progn
- (#chg_color e cnum0 cnum)
- )
- (progn
- (xdrx_setenttodb e)
- (xdrx_modent cnum0 cnum)
- )
- )
- (setq e (entnext e))
- )
- ; ) ;progn
- ;) ;if
- )
- (t
- (xdrx_modent cnum0 cnum)
- )
- )
- )
|