本帖最后由 tranney 于 2014-12-7 15:30 编辑
最近听说entmake速度快,所以把小工具翻出来把command修改一下,结果发现下面的代码居然创建不了Defpoints图层
,运行环境为cad2011 64+天正2014 模式 - (defun c:123()
- (jjbtc0 "Defpoints" 6 0 "bylayer")
- (jjbtc0 "0-给排水层" 40 0 "bylayer")
- )
- (defun jjbtc0 ( layernm layerys layerzt layerxx / );创建图层
- (if (null (tblsearch "LAYER" layernm))
- (progn
- (entmake (list
- '(0 . "LAYER")
- '(100 . "AcDbSymbolTableRecord")
- '(100 . "AcDbLayerTableRecord")
- (cons 2 layernm) ;图层名称
- (cons 6 layerxx) ;图层线型
- (cons 70 layerzt) ;图层状态(指显示、冰冻、锁定等)
- (cons 62 layerys) ;图层颜色
- )
- )
- (princ (strcat "\n 已用默认参数创建 "layernm" 图层。")))
- (progn
- (setq sty (entget (tblobjname "layer" layernm)))
- ;(setq sty (subst (cons 42 0) (assoc 42 sty) sty))
- (setq sty (subst (cons 6 layerxx) (assoc 6 sty) sty))
- (setq sty (subst (cons 70 layerzt) (assoc 70 sty) sty))
- (setq sty (subst (cons 62 layerys) (assoc 62 sty) sty))
- (entmod sty)
- ;(entupd (tblobjname "layer" layernm))
- (princ (strcat "\n 检测到 "layernm" 图层已存在,正在用默认参数替换。"))
- )
- )
- (princ)
- )
|