为什么entmake创建不了Defpoints图层
本帖最后由 tranney 于 2014-12-7 15:30 编辑最近听说entmake速度快,所以把小工具翻出来把command修改一下,结果发现下面的代码居然创建不了Defpoints图层
,运行环境为cad2011 64+天正2014 模式(defun c:123()
(jjbtc0 "Defpoints" 60 "bylayer")
(jjbtc0 "0-给排水层" 400"bylayer")
)
(defun jjbtc0 ( layernmlayeryslayerzt 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)
) defpoints图层是系统图层,可知的主要用途是放置标注的“点”,和0层一样,都是不能让用户进行修改的。 我倒是常创建这个图层,不过没用entmak.e defpoints图层名是cad系统预留的,只要有标注尺寸,系统马上就会自动生成defpoints图层。
Defpoints图层中系统自动放置了各种标注的基准点。在平常是看不出来的,把标注炸开就能发现,关闭其它图层后,然后选择所有对象,就会发现里面是一些点对象。
这个图层默认是不打印出来线的。
别用defpoints图层名,换个图层名称名称。
页:
[1]