怎么写将对象的图层置为当前--随对象色?
本帖最后由 zilong136 于 2024-2-7 14:15 编辑[*]将对象的图层置为当前--随层色:
[*]
[*](defun c:c8 ()
[*] (princ "\n c8将对象的图层置为当前--随层色")
[*] (vl-cmdf "Laymcur")
[*])
[*]也就是说选择对象是什么色号,置顶后也是什么色号
[*]将对象的图层置为当前--随对象色怎么写?
[*]
本帖最后由 wide 于 2024-2-7 19:43 编辑
把当前的图层变为选择对象的图层 (defun c:c8 (/ co ent get-dxf lm-get-color tcm ty)
(defun get-dxf(en n)
(if (not (listp en)) (setq en (entget en)))
(cdr (assoc n en))
)
(defun lm-get-color (ty / co)
(if (setq co (get-dxf ty 62))
(progn co)
(progn (cdr (assoc 62 (tblsearch "layer" (get-dxf ty 8)))))
)
)
(princ "\nc8将对象的图层置为当前--且图层颜色跟随对象")
(setq ty (car(entsel "\n选择对象:")))
(setq co (lm-get-color ty))
(setvar "clayer"(setq tcm (get-dxf ty 8)))
(setq ty (tblobjname "layer" tcm))
(setq ent (entget ty))
(setq ent (subst (cons 62 co) (assoc 62 ent) ent))
(entmod ent)
(princ)
) 本帖最后由 zilong136 于 2024-2-7 13:57 编辑
飞雪神光 发表于 2024-2-7 12:31
你标题 将对象的图层置为当前--随对象色 我理解的就是图层随对象颜色
图层是随对象颜色,包括色号都不能变,你现在颜色是随对象颜色了,但图层置顶后,你把该颜色设置成随层了,我想说的是图层置顶后,显示图层色还是之前对象的色号,不是把对象的色号改成当前的随层色。比如选择对象是61号,对象置顶后,当前图层显示的色号是61,而不是BYLAYER,不知道你懂我意思了没有。 (vl-cmdf "Laycur")? 飞雪神光 发表于 2024-2-6 12:52
置为当前图层的对象,能不能不改颜色号?你现在是把置顶图层颜色号变为随层了,我想保持原颜色号。
本帖最后由 zilong136 于 2024-2-7 02:02 编辑
sncokina 发表于 2024-2-6 08:51
(vl-cmdf "Laycur")?
不是这个效果,你这是将对象的图层改为当前一样的图层,我是要把当前的图层变为选择对象的图层。 zilong136 发表于 2024-2-7 01:40
置为当前图层的对象,能不能不改颜色号?你现在是把置顶图层颜色号变为随层了,我想保持原颜色号。
你标题 将对象的图层置为当前--随对象色 我理解的就是图层随对象颜色 wide 发表于 2024-2-7 08:07
把当前的图层变为选择对象的图层
你跟二楼效果一样的,我就不想置为当前的图层色跟选择对象的实体一致,包括线型、线宽等特性完全跟选择对象一样,你们都改成了bylayer 本帖最后由 wide 于 2024-2-7 18:15 编辑
已修改,见上面6楼附件,看看是不是符合你的要求。
页:
[1]
2