明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1708|回复: 7

[提问] 背景颜色切换问题

[复制链接]
发表于 2020-5-16 10:32:33 | 显示全部楼层 |阅读模式
本帖最后由 菜卷鱼 于 2020-5-16 10:41 编辑

背景颜色切换, 是我CAD 问题还是 代码错了 ,不能切换 自动追踪矢量线的颜色。?

由于自动追踪矢量线颜色无法如预期切换,背景白色的时候,看不到矢量线,背景黑色的时候可以看到。
  1. ;;;切换背景颜色 ,十字光标颜色 ,自动追踪矢量线颜色
  2. (defun c:bkex (/ DISPLAY whitecol blackcol)
  3.   (setq  DISPLAY  (vla-get-display
  4.       (vla-get-preferences
  5.         (vla-get-application (vlax-get-acad-object))
  6.       )
  7.     )
  8.   )
  9.   (setq whitecol (vlax-make-variant 16777215 19))
  10.   (setq blackcol (vlax-make-variant 0 19))
  11.   (cond
  12.     (
  13.      (equal (vla-get-GraphicsWinModelBackgrndColor DISPLAY)
  14.       whitecol
  15.      )
  16.      (vla-put-GraphicsWinModelBackgrndColor DISPLAY blackcol)
  17.      (vla-put-ModelCrosshairColor  DISPLAY whitecol)
  18.      (vla-put-AutoTrackingVecColor DISPLAY whitecol)
  19.     )
  20.     (
  21.      (equal (vla-get-GraphicsWinModelBackgrndColor DISPLAY)
  22.       blackcol
  23.      )
  24.      (vla-put-GraphicsWinModelBackgrndColor DISPLAY whitecol)
  25.      (vla-put-ModelCrosshairColor  DISPLAY blackcol)
  26.      (vla-put-AutoTrackingVecColor DISPLAY blackcol)
  27.     )
  28.     (T
  29.      (vla-put-GraphicsWinModelBackgrndColor DISPLAY blackcol)
  30.      (vla-put-ModelCrosshairColor  DISPLAY whitecol)
  31.      (vla-put-AutoTrackingVecColor DISPLAY whitecol)
  32.     )
  33.   )
  34.     (princ "\n背景颜色已经切换。")
  35.     (prin1)
  36. )



本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-5-17 07:00:45 | 显示全部楼层
发表于 2020-5-17 09:28:34 | 显示全部楼层
我试了可以用呀 没有什么问题 vla-put-AutoTrackingVecColor(自动追踪矢量线颜色),这是个啥?
 楼主| 发表于 2020-5-18 08:36:41 | 显示全部楼层
taoyi0727 发表于 2020-5-17 09:28
我试了可以用呀 没有什么问题 vla-put-AutoTrackingVecColor(自动追踪矢量线颜色),这是个啥?

就是那根绿色的线

本帖子中包含更多资源

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

x
发表于 2020-5-18 14:20:59 | 显示全部楼层
好像这个不是用在你说的哪里

先用vla-get-AutoTrackingVecColor获取出来
再手动把这个位置颜色改了
然后用vla-get-AutoTrackingVecColor获取出来的值并没有改变

这个是官网上的
http://help.autodesk.com/view/OA ... B-9082-C91BE0EDDF5D
 楼主| 发表于 2020-5-19 08:44:55 | 显示全部楼层
taoyi0727 发表于 2020-5-18 14:20
好像这个不是用在你说的哪里

先用vla-get-AutoTrackingVecColor获取出来

这个追踪线颜色不能改的话,切换背景颜色也失去了意义,还是要手动去点,手动去点的话还不如直接全部点了。
发表于 2020-5-22 23:51:33 | 显示全部楼层
本帖最后由 1993063 于 2020-5-22 05:52 编辑

看看这个合不合你胃口
  1. (Defun c:bg ( / disp drafting)
  2.   (setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
  3.   (setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
  4.   (if (= (vlax-variant-value (vlax-variant-change-type (vla-get-graphicswinmodelbackgrndcolor disp) vlax-vblong)) 0)
  5.     (progn
  6.       (vla-put-graphicswinmodelbackgrndcolor disp 16777215)
  7.       (vla-put-graphicswinlayoutbackgrndcolor disp 16777215)
  8.       (vla-put-layoutcrosshaircolor disp 0)
  9.       (vla-put-modelcrosshaircolor disp 0)
  10.       (vla-put-autotrackingveccolor disp 0)
  11.       (vla-put-autosnapmarkercolor drafting 6)
  12.       ;(princ "\n →背景切换到白色")
  13.     )
  14.     (progn
  15.       (vla-put-graphicswinmodelbackgrndcolor disp 0)
  16.       (vla-put-graphicswinlayoutbackgrndcolor disp 0)
  17.       (vla-put-layoutcrosshaircolor disp 65535);布局空间十字光标颜色
  18.       (vla-put-modelcrosshaircolor disp 32767) ;模型空间十字光标颜色
  19.       (vla-put-autotrackingveccolor disp 16777215)
  20.       (vla-put-autosnapmarkercolor drafting 2)
  21.       ;(princ "\n →背景切换到黑色")
  22.     )
  23.   )
  24.   (princ)
  25. )
 楼主| 发表于 2020-5-23 08:48:00 | 显示全部楼层
1993063 发表于 2020-5-22 23:51
看看这个合不合你胃口

谢谢,一样的,自动追踪矢量(极轴)颜色不会变,
要事先把自动追踪矢量,应该说是极轴,改成背景颜色黑色或白色都能看到的颜色。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 01:34 , Processed in 0.159376 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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