线形比例的小程序,当组码表中不存在某元素的问题!
(defun c:tt5 (/ #g k1 kw1 #g kw2 k2 )(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (setq kw1 (ssget "X" '((0 . "*LINE")(6 . "MC-DASH"))));选择对象
(progn
;(setq bl 30)
(while (setq k1 (ssname kw1 0))
(setq kw1 (ssdel k1 kw1))
(setq #g1 (entget k1))
;(if (assoc 48 #g)
; (setq #g (subst '(48 . "bl") (assoc 48 #g) #g))
; (cons '(48 . bl) #g)
; )
(setq #g1 (subst '(48 . 10) (assoc 48 #g1) #g1));修改线形比例
;(setq #g (subst '(8 . "D-节点填充") (assoc 8 #g) #g));修改图层
(entmod #g1);刷新图元
);while
)
)
(if (setq kw2 (ssget "X" '((0 . "*LINE")(6 . "MC-CENTER"))));选择对象
(progn
;(setq bl 30)
(while (setq k2 (ssname kw2 0))
(setq kw2 (ssdel k2 kw2))
(setq #g2 (entget k2))
;(if (assoc 48 #g)
; (setq #g (subst '(48 . "bl") (assoc 48 #g) #g))
; (cons '(48 . bl) #g)
; )
(setq #g2 (subst '(48 . 0.1) (assoc 48 #g2) #g2));修改线形比例
(entmod #g2);刷新图元
);while
)
)
(princ)
)
这个程序对已经修改了线形比例的线可以成功修改,其他线形比例为1 也就是祖玛表中没有 48 的时候,就不能修改。本打算加一个判断句,如果表中没有48 就在表中添加48如果有48 就修改48.可惜没能成功!
另外还想加上手动设置比例值,但是不知道怎么带入!基础知识太少了!
有路过的大佬,麻烦动动你的小手,帮我优化一下!
这个真的很有用,填充比例,归层,改色,等等其他的功能就都能实现了!
发那么一大段还一堆注解,别人都没心思看你的。。。
这段是给颜色的,参考下,如果是小程序直接用 change 命令来改,啥事没有
(defun c:tt5 ()
(setq en (entsel "\n选择对象:") ent (entget (car en)) col (getint"\n输入颜色:"))
(if (assoc 62 ent) (entmod (subst (cons 62 col) (assoc 62 ent) ent)) (entmod (cons (cons 62 col) ent)))
)
start4444 发表于 2020-3-14 12:06
发那么一大段还一堆注解,别人都没心思看你的。。。
这段是给颜色的,参考下,如果是小程序直接用 change...
感谢!change 解决了!这样就不每次都要去调整线形比例了!
(defun c:tt5 (/ kw1 kw2 )
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (setq kw1 (ssget "X" '((0 . "*LINE")(6 . "MC-DASH"))));选择对象
(command "change" kw1 "" "p" "s" "20" "")
)
(if (setq kw2 (ssget "X" '((0 . "*LINE")(6 . "MC-center"))));选择对象
(command "change" kw2"" "p" "s" "0.05" "")
)
(princ)
) start4444 发表于 2020-3-14 12:06
发那么一大段还一堆注解,别人都没心思看你的。。。
这段是给颜色的,参考下,如果是小程序直接用 change...
但是有个问题,就是在布局空间不能修改模型空间里的图元! cq4920 发表于 2020-3-14 21:21
但是有个问题,就是在布局空间不能修改模型空间里的图元!
布局空间你能选到模型空间的图元吗,还不是要进视口操作 cq4920 发表于 2020-3-14 20:10
感谢!change 解决了!这样就不每次都要去调整线形比例了!
(defun c:tt5 (/ kw1 kw2 )
(setvar "cm ...
我怎么用不起来
stonedesign 发表于 2022-12-22 18:20
我怎么用不起来
这个属于定制程序,因为线型是独有的,你只需要把 组码6 线型名称 改成你的名称 要考虑随层的情况。线型随层的时候替换,不随层的时候修改。
页:
[1]