本帖最后由 caoyin 于 2025-12-6 01:10 编辑
;;分享一个小函数
;; [功能] 设置所有布局的系统变量 PSLTSCALE 值
;; [参数] 有效值0或1。参考系统变量 PSLTSCALE 的官方帮助
(defun LT:Layouts-SetPSLTSCALE (val / dic layout enx tailx cval newval)
(setvar 'PSLTSCALE val)
(setq dic (entget (cdadr (member '(3 . "ACAD_LAYOUT") (entget (namedobjdict))))))
(while (setq layout (assoc 3 dic))
(setq dic (cdr (member layout dic))
enx (entget (cdar dic))
layout (cons 1 (cdr layout))
tailx (cdr (member layout enx))
cval (cdr (assoc 70 tailx))
newval (if (= val 1)
(logior cval 1)
(logand cval (~ 1))
)
)
(or (= cval newval)
(entmod
(append
(before layout enx)
(list layout (cons 70 newval))
(cdr tailx)
)
)
)
)
nil
)
(defun before (A L / B)
(if (and (setq B (car L)) (not (equal A B)))
(cons B (before A (cdr L)))
)
)
网友答: 测试了下,其实是设置所有布局的图纸空间线型比例的插件,能放出源码给大家,楼主大好人网友答: 其实我最喜欢改为1,在布局所有图纸线型都一样大小,这样看起来统一些
;;分享一个小函数
;; [功能] 设置所有布局的系统变量 PSLTSCALE 值
;; [参数] 有效值0或1。参考系统变量 PSLTSCALE 的官方帮助
(defun LT:Layouts-SetPSLTSCALE (val / dic layout enx tailx cval newval)
(setvar 'PSLTSCALE val)
(setq dic (entget (cdadr (member '(3 . "ACAD_LAYOUT") (entget (namedobjdict))))))
(while (setq layout (assoc 3 dic))
(setq dic (cdr (member layout dic))
enx (entget (cdar dic))
layout (cons 1 (cdr layout))
tailx (cdr (member layout enx))
cval (cdr (assoc 70 tailx))
newval (if (= val 1)
(logior cval 1)
(logand cval (~ 1))
)
)
(or (= cval newval)
(entmod
(append
(before layout enx)
(list layout (cons 70 newval))
(cdr tailx)
)
)
)
)
nil
)
(defun before (A L / B)
(if (and (setq B (car L)) (not (equal A B)))
(cons B (before A (cdr L)))
)
)
网友答: 测试了下,其实是设置所有布局的图纸空间线型比例的插件,能放出源码给大家,楼主大好人网友答: 其实我最喜欢改为1,在布局所有图纸线型都一样大小,这样看起来统一些