如何更改sym的层
我修改了这个lisp,引线可以更改为“dim”层,但公差符号不能更改为“dim”层,为什么?我有两个问题。
1、如何将公差符号也更改为“dim”层,
2、引线颜色为ByLayer,公差符号颜色为索引颜色4)
(defun c:QS (/ *error* DICEN)
(defun *error* (msg)
(redraw)
(if cl
(setvar 'clayer cl)
)
(if (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ msg)
(princ (strcat "\n** Error: " msg " **"))
)
)
(setq cl (getvar 'clayer))
(if (not (tblsearch "LAYER" "dim"))
(entmake '((0 . "LAYER")
(100 . "AcDbSymbolTableRecord")
(100 . "AcDbLayerTableRecord")
(370 . 18)
(2 . "dim")
(70 . 0)
(62 . 3)
(6 . "Continuous")
)
)
)
(setvar 'clayer "dim")
(setq DICEN (namedobjdict))
(if (dictsearch DICEN "AcadDim")
(dictremove DICEN "AcadDim")
)
(dictadd DICEN
"AcadDim"
(entmakex '((0 . "XRECORD")
(100 . "AcDbXrecord")
(280 . 1)
(90 . 990106)
(3 . "")
(60 . 2)
(61 . 0)
(62 . 1)
(63 . 1)
(64 . 0)
(65 . 0)
(66 . 0)
(67 . 3)
(68 . 1)
(69 . 0)
(70 . 0)
(71 . 0)
(72 . 0)
(40 . 0.0)
(170 . 2)
)
)
)
(command "Qleader")
(setvar 'clayer cl)
(princ)
) 尝试此操作以更改公差层。
(defun c:QS (/ *error* DICEN)
(defun *error* (msg)
(redraw)
(if cl
(setvar 'clayer cl)
)
(if (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ msg)
(princ (strcat "\n** Error: " msg " **"))
)
)
(setq cl (getvar 'clayer))
(if (not (tblsearch "LAYER" "dim"))
(entmake '((0 . "LAYER")
(100 . "AcDbSymbolTableRecord")
(100 . "AcDbLayerTableRecord")
(370 . 18)
(2 . "dim")
(70 . 0)
(62 . 3)
(6 . "Continuous")
)
)
)
(setq DICEN (namedobjdict))
(if (dictsearch DICEN "AcadDim")
(dictremove DICEN "AcadDim")
)
(setvar 'clayer "dim")
(dictadd DICEN
"AcadDim"
(entmakex '((0 . "XRECORD")
(100 . "AcDbXrecord")
(280 . 1)
(90 . 990106)
(3 . "")
(60 . 2)
(61 . 0)
(62 . 1)
(63 . 1)
(64 . 0)
(65 . 0)
(66 . 0)
(67 . 3)
(68 . 1)
(69 . 0)
(70 . 0)
(71 . 0)
(72 . 0)
(40 . 0.0)
(170 . 2)
)
)
)
(command "Qleader")
(princ)
)
我看到你删除了这个
(setvar 'clayer cl)
暗显完成后,如何恢复到上一层? (setvar’clayer cl);;删除此选项可以将符号更改为暗层。
暗显完成后,如何恢复到上一层?
页:
[1]