明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 438|回复: 8

[提问] 修改布局空间图纸背景用什么函数或者变量?

[复制链接]
发表于 2024-9-1 13:12:18 | 显示全部楼层 |阅读模式
本帖最后由 天天问 于 2024-9-2 20:15 编辑

兄弟们,设置模型空间和布局空间的统一背景色,有2个现成的函数。

要是想修改布局空间的图纸背景颜色,应该用什么函数或者系统变量来实现呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-9-1 18:52:07 | 显示全部楼层
lisp不一定提供了相关的颜色接口.
具体看这里
https://www.cnblogs.com/JJBox/p/11610343.html
 楼主| 发表于 2024-9-2 12:55:29 | 显示全部楼层
自己顶一下,希望大佬路过了能看到
 楼主| 发表于 2024-9-2 12:57:03 | 显示全部楼层
你有种再说一遍 发表于 2024-9-1 18:52
lisp不一定提供了相关的颜色接口.
具体看这里
https://www.cnblogs.com/JJBox/p/11610343.html

谢谢指教,这个专业
发表于 2024-9-2 13:11:18 | 显示全部楼层
;|
更改
模型窗口背景颜色
模型十字光标颜色                  
命令行背景颜色
命令行文字颜色
布局窗口背景颜色
布局十字光标颜色
DisplayColorProperties.LSP
By xshrimp
网络U盘: shlisp.ys168.cm
E-mail:  xshrimp@163.com
v1.0 初步完成全部功能.
v1.1 增加全部默认按钮.常用的黑白按钮.
|;
;|
更改
模型窗口背景颜色
模型十字光标颜色                  
命令行背景颜色
命令行文字颜色
布局窗口背景颜色
布局十字光标颜色
DisplayColorProperties.LSP
By xshrimp
网络U盘: shlisp.ys168.cm
E-mail:  xshrimp@163.com
v1.0 初步完成全部功能.
v1.1 增加全部默认按钮.常用的黑白按钮.
|;
(defun c:DCP( / aci col dclid dclname dclstr dd display filen i tempname vvla)
(defun gps->aci2ole (aci / col)
  (setq col (vla-get-truecolor (vla-get-ActiveLayer(vla-get-ActiveDocument(vlax-get-acad-object)))))
  (vla-put-ColorIndex col aci)
  (vlax-variant-value (vlax-make-variant (+ (* (vla-get-blue  col) 65536)
                                            (* (vla-get-green col) 256)
                                               (vla-get-red   col)
                                          ) vlax-vblong
                      )
  )
)
(defun actdefaultbutton()
  (setq varBlack (vlax-Make-Variant 0                 vlax-vbLong))
  (setq varWhite (vlax-Make-Variant 16777215         vlax-vbLong))
  (vla-put-graphicswinmodelbackgrndcolor DISPLAY varBlack)
  (vla-Put-ModelCrosshairColor DISPLAY varWhite)
  (vla-put-graphicswinlayoutbackgrndcolor DISPLAY varWhite)
  (vla-Put-LayoutCrosshairColor DISPLAY varBlack)
  (vla-put-TextWinBackgrndColor DISPLAY varWhite)
  (vla-put-TextWinTextColor DISPLAY varBlack)
)
(defun actradiobutton($value)
  (setq #changebackradio# $value)
  (cond
     ((= $value "a")(setvar "TILEMODE" 1)(setq vvla 'vla-put-graphicswinmodelbackgrndcolor) )
     ((= $value "b")(setvar "TILEMODE" 1)(setq vvla 'vla-Put-ModelCrosshairColor) )
     ((= $value "c")(setvar "TILEMODE" 0)(setq vvla 'vla-put-graphicswinlayoutbackgrndcolor) )
     ((= $value "d")(setvar "TILEMODE" 0)(setq vvla 'vla-Put-LayoutCrosshairColor) )
     ((= $value "e")(setvar "TILEMODE" 1)(setq vvla 'vla-put-TextWinBackgrndColor))
     ((= $value "f")(setvar "TILEMODE" 1)(setq vvla 'vla-put-TextWinTextColor))
  )
)
(setq DISPLAY (vla-get-display(vla-get-preferences(vlax-get-acad-object))))
(setq dclstr
"mimg:image_button {aspect_ratio = 0.9 ;fixed_height = true ;
    fixed_width = true ; width = 2.8 ;horizontal_margin = none ;
    vertical_margin = none ;
}
mmimg:image {
    aspect_ratio = 0.9 ;    color = -15 ;
    fixed_height = true ;    fixed_width = true ;
    width = 2.8 ;    horizontal_margin = none ;
    vertical_margin = none ;
}
rbt:radio_button{horizontal_margin=none;vertical_margin=none;fixed_width = true ; width = 36;}\n
sss:dialog {label = \"颜色选项修改 V1.0\" ;
    :text {
        label = \"AutoCAD 颜色索引 (ACI):\" ;
    }
    :column {
        :column {
"
)
(setq i 18)
(repeat 5
    (setq j i)        
    (setq dclstr (strcat dclstr ":row{\n"))
    (repeat 24      
      (setq dclstr (strcat dclstr ":mimg{color=" (itoa j) ";key=\""(itoa j)"\";}\n" ))      
      (setq j (+ 10 j))
    )
    (setq i (- i 2))
    (setq dclstr (strcat dclstr  "}\n"))   
)
(setq dclstr (strcat dclstr  "}}:spacer { } :spacer {} :column {\n"))
(setq i 11)
(repeat 5
    (setq j i)        
    (setq dclstr (strcat dclstr ":row{\n"))
    (repeat 24      
      (setq dclstr (strcat dclstr ":mimg{color=" (itoa j) ";key=\""(itoa j)"\";}\n" ))      
      (setq j (+ 10 j))
    )
    (setq i (+ i 2))
    (setq dclstr (strcat dclstr  "}\n"))   
)
(setq dclstr (strcat dclstr  "}:spacer { } :row { :column {\n:row {\n"))      
(setq j 1)   
(repeat 9      
      (setq dclstr (strcat dclstr ":mimg{color=" (itoa j) ";width = 3;key=\""(itoa j)"\";}\n" ))      
      (setq j (1+ j))
)   
(setq dclstr (strcat dclstr  "}:row {\n"))   
(setq j 250)   
(repeat 6      
    (setq dclstr (strcat dclstr ":mimg{color=" (itoa j) ";width = 3;key=\""(itoa j)"\";}\n" ))   
    (setq j (1+ j))
)
(setq dclstr (strcat dclstr " :mmimg {width = 3;}\n" ))
(setq dclstr (strcat dclstr ":mimg{color=7;width = 3;key=\"7a\";}\n" ))
(setq dclstr (strcat dclstr ":mimg{color=0;width = 3;key=\"0\";}\n" ))
              
(setq dclstr (strcat dclstr               
    "}:edit_box {key=\"box\";edit_width = 15 ;fixed_width = true ;label = \"颜色\" ;}} \n"   
     ":boxed_radio_column{key=\"radio\";\n"
           " :rbt {key=\"a\";  label = \"模型窗口背景颜色\" ;}\n"
           " :rbt {key=\"b\";label = \"模型十字光标颜色\" ;  }\n"                    
           " :rbt {key=\"e\";label = \"命令行背景颜色\" ;  }\n"
           " :rbt {key=\"f\";label = \"命令行文字颜色\" ;}\n"
           " :rbt {key=\"c\";label = \"布局窗口背景颜色\" ;    }\n"
           " :rbt {key=\"d\";label = \"布局十字光标颜色\" ;   }   \n"
           " }} "
           ":column {
    : row {
        fixed_width = true;
        alignment = centered;
        :button {key=\"default\";label=\"全部默认\";}
        :spacer {width = 2; }
        :button {label=\"    取消    \";is_cancel=true;}
    }
}}"
     ))

;;;;;;;;
(setq dclname
(cond  
((setq tempname (vl-filename-mktemp "gps-dcl-tmp.dcl") filen (open tempname "w"))  
(princ dclstr filen)

(close filen)
tempname
)))
(setq dclid (load_dialog dclname))
(if (not (new_dialog "sss" dclid)) (progn (alert "dcl对话框加载失败.")(exit)))
(setq i 0)         
(repeat 256
(action_tile (itoa i)  "(set_tile \"box\" $key)((eval vvla) DISPLAY (gps->aci2ole (atoi $key)))")
(setq i (1+ i))
)
(if (null #changebackradio#)(setq #changebackradio# "a"))
(actradiobutton #changebackradio#)
(set_tile #changebackradio# "1")

(action_tile "7a"  "(set_tile \"box\" \"7\")((eval vvla) DISPLAY (gps->aci2ole 7))")
(action_tile "radio" "(actradiobutton $value)")
(action_tile "default" "(actdefaultbutton)")
(action_tile "cancel" "(done_dialog 0)")

(action_tile "help" "(alert \"模型,布局及命令行背景光标颜色修改!\n xshrimp 写于 2010.10\")")
(setq dd (start_dialog))
(unload_dialog dclid)
(vl-file-delete dclname)
(princ)
)
;(princ "启动命令: DCP\n")
发表于 2024-9-2 13:36:36 | 显示全部楼层
(setvar "TILEMODE" 1);模型
(vla-put-GraphicsWinModelBackgrndColor (vla-get-display (vla-get-preferences (vla-get-application (vlax-get-acad-object)))) 255)


(setvar "TILEMODE" 0);布局
(vla-put-GraphicsWinLayoutBackgrndColor (vla-get-display (vla-get-preferences (vla-get-application (vlax-get-acad-object)))) 255)

评分

参与人数 1明经币 +1 收起 理由
qazxswk + 1 赞一个!

查看全部评分

 楼主| 发表于 2024-9-2 20:14:27 | 显示全部楼层
自贡黄明儒 发表于 2024-9-2 13:11
;|
更改
模型窗口背景颜色

谢谢黄老师的回复。这个界面比起CAD的选项设置要方便了一点,不过,我的需求在这个插件里面,仍然没有可以设置的选项。区别可以看图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-9-2 20:17:09 | 显示全部楼层
gzcsun 发表于 2024-9-2 13:36
(setvar "TILEMODE" 1);模型
(vla-put-GraphicsWinModelBackgrndColor (vla-get-display (vla-get-prefere ...

谢谢老师指导。您发的这2处设置,不是我请教的那个设置。我的提问里也提到您这个设置了。还是感谢您回复
发表于 2024-9-2 22:20:55 | 显示全部楼层
我一般都不显示图纸背景色的,不知道你的用意是什么。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:08 , Processed in 0.182894 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表