[求助]caoyin版主,可不可以帮改一下:vla-put-layoutdisplaypaper 函数
www.dimcax.com
[求助]caoyin版主,可不可以帮改一下:vla-put-layoutdisplaypaper 函数
功能
设置是否在布局中显示图纸空间背景。
语法及参数
(vla-put-layoutdisplaypaper object value)
object
这个属性适用的对象。
value布尔;读/写
:vlax-true : 在布局中显示图纸背景
:vlax-false : 不在布局中显示图纸背景
说明
这个属性的初始值是:vlax-true。
范例
(defun example_layoutdisplaypaper()
;;; 这个范例读取并显示修改用于控制
;;; 布局中图纸背景显示的的系统配置值,
;;; 在完成后,这个范例将系统配置重设为原来的值
(vl-load-com)
(setq acadobject(vlax-get-acad-object)
acaddocument(vla-get-activedocument acadobject)
mspace(vla-get-modelspace acaddocument)
)
;;;
取得显示系统配置对象
(setq preferencesel(vla-get-preferences acadobject))
(setq acadpref(vla-get-display preferencesel))
;;;
切换到图纸空间来观察发生的改变
(vla-put-activespace acaddocument acpaperspace)
;;;
读取并显示原始值
(setq originavalue(vla-get-layoutdisplaypaper acadpref))
(princ "layoutdisplaypaper系统配置设定为: ")(princ originavalue)(princ " layoutdisplaypaper范例\n")
(prompt "<enter>进行:")(vl-cmdf pause)
;;;
以切换值的方式修改layoutdisplaypaper 系统配置
(vla-put-layoutdisplaypaper acadpref (tof originavalue))
(setq newvalue(vla-get-layoutdisplaypaper acadpref))
(vla-regen acaddocument acallviewports)
(princ "layoutdisplaypaper系统配置已经设定为: ")(princ newvalue)(princ " layoutdisplaypaper范例\n")
(prompt "<enter>进行:")(vl-cmdf pause)
;;; 将系统配置设定重设为原来的值
;;; * 注意:请将以下2行程序注释以使
;;; 这个系统配置的改变产生作用;;;
(vla-put-layoutdisplaypaper acadpref originavalue)
(vla-regen acaddocument acallviewports)
(princ "layoutdisplaypaper系统配置已经重设为: ")(princ originavalue)(princ " layoutdisplaypaper范例\n")
(princ)
)
(defun tof(msg)
(if (= msg :vlax-true)
(setq msg :vlax-false)
(setq msg :vlax-true)
)
)
caoyin版主:如何把上面这程序改成:“布局中不显示图纸空间背景”,不要进行切换的。
d
(setq pre (vla-get-preferences (vla-get-application (vlax-get-acad-object)))
dis (vla-get-display pre))
(vla-put-layoutdisplaypaper dis :vlax-false) ;;关闭布局中图纸背景的显示
(vla-put-layoutdisplaypapershadow dis :vlax-false) ;;关闭布局中图纸背景阴影的显示
d
版主,我试过了,不行呀!!!
d
为什么我测试没问题
d
我知道了,还要切换一下显示。
d