注册 发表于 2020-7-21 08:16:00

如何通过lsp编写一命令一键修改屏幕背景色

cad模型空间中,常规的绘图背景为黑色,有时需要将其调整为白色,如何用lsp实现绘图背景在黑色和白色之间一键切换?请赐教

江南十笑 发表于 2020-7-21 08:52:35

(defun c:666(/ col DISPLAY)
        (setq    DISPLAY    (vla-get-display
                        (vla-get-preferences
                                (vla-get-application (vlax-get-acad-object))
                        )
                )
)
        (if (= (getenv "Background") "0") (setq col 255) (setq col 0))
        (vla-put-graphicswinlayoutbackgrndcolor DISPLAY (vlax-make-variant
                        (+ col (* col 256)(* col 65536))
                        vlax-vblong
        ))
(vla-put-graphicswinmodelbackgrndcolor DISPLAY (vlax-make-variant
                        (+ col (* col 256)(* col 65536))
                        vlax-vblong
        ))
        (princ)
)

注册 发表于 2020-7-21 09:52:57

谢谢江南大师~~~~

yangchao2005090 发表于 2020-7-23 16:43:06

注册 发表于 2020-7-21 09:52
谢谢江南大师~~~~

收个搬运费

yangchao2005090 发表于 2020-7-27 10:17:13

yangchao2005090 发表于 2020-7-23 16:43
收个搬运费
一键切换模型或者布局的背景,黑白切换

mokson 发表于 2020-8-11 11:45:52

终于找到我想要的了,感谢!

paulpipi 发表于 2020-8-14 10:37:55

好程序,真方便,谢谢

paulpipi 发表于 2020-8-14 11:06:49

太完美了,谢谢楼主

DLSPH 发表于 2020-12-11 17:03:53

江南十笑 发表于 2020-7-21 08:52
(defun c:666(/ col DISPLAY)
        (setq    DISPLAY    (vla-get-display
                        (vla-get-preferences


如果十字光标也跟着变就完美了

andyding 发表于 2021-4-25 11:43:07

DLSPH 发表于 2020-12-11 17:03
如果十字光标也跟着变就完美了

(vla-put-ModelCrosshairColor
    DISPLAY
    (vlax-make-variant
      (+ col (* col 256) (* col 65536))
      vlax-vblong
    )
)

把上面这段加在(princ)前。
页: [1] 2
查看完整版本: 如何通过lsp编写一命令一键修改屏幕背景色