- ;用entmake创建图层
- ;(jianceng cengming yanse xianxing xiankuan dayin flag)
- ;(jianceng 层名 颜色 线型 线宽 打印 同名是否强制更新)
- (defun jianceng (cengming yanse xianxing xiankuan dayin flag)
- (or xianxing (setq xianxing "Continuous"))
- (or xiankuan (setq xiankuan 13))
- (or dayin (setq dayin 1))
- (or yanse (setq yanse 7))
- ;自动加载线型 Gu_xl 2013-5-29 ... mp;page=2#pid588571
- (and xianxing
- (or (TBLSEARCH "LTYPE" xianxing) ;线型
- (vl-catch-all-apply
- 'vla-load
- (list (vla-get-Linetypes
- (vla-get-ActiveDocument (vlax-get-acad-object))
- )
- xianxing ;线型
- (findfile "acad.lin")
- )
- )
- )
- )
- (and
- cengming
- (if (and (setq en (tblobjname "layer" cengming)) flag)
- (progn
- ;强制更新
- (setq elist (entget en))
- (and yanse (setq elist (subst (cons 62 yanse) (assoc 62 elist) elist)))
- (and xianxing (setq elist (subst (cons 6 xianxing) (assoc 6 elist) elist)))
- (and xiankuan (setq elist (subst (cons 370 xiankuan) (assoc 370 elist) elist)))
- (and dayin (setq elist (subst (cons 290 dayin) (assoc 290 elist) elist)))
- (entmod elist)
- )
- (entmake (list '(0 . "LAYER")
- '(100 . "AcDbSymbolTableRecord")
- '(100 . "AcDbLayerTableRecord")
- '(70 . 0)
- (cons 2 cengming) ;层名
- (cons 62 yanse) ;颜色
- (cons 6 xianxing) ;线型
- (cons 370 xiankuan) ;线宽,100=1
- (cons 290 dayin) ;0不打印,1打印
- )
- )
- )
- )
- (princ)
- )
- (defun c:`q(); 层名 颜色 线型 线宽 打印
- ;(jianceng cengming yanse xianxing xiankuan dayin flag)
- ;(jianceng 层名 颜色 线型 线宽 打印 同名是否强制更新)
- (jianceng "A" 1 "center" 100 0 t)
- (jianceng "B" 2 nil nil nil t)
- (jianceng "C" 3 nil nil nil t)
- (jianceng "D" 4 nil nil nil t)
- (princ)
- )
|