找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1177|回复: 5

[求助] 【已解决】如何将AutoCAD图纸显示为黑白,是显示,非打印黑白

[复制链接]

已领礼包: 6个

财富等级: 恭喜发财

发表于 2018-4-10 17:20:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 b27117 于 2018-4-12 15:41 编辑

如题所示,之前搜索看到08年有大佬说是黑白显示器->黑白,但是没搞懂他意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2018-4-11 14:16:38 | 显示全部楼层
b27117 发表于 2018-4-11 09:04
并不是的,就是类似PS的去色效果,将彩图变成黑白的图,我目前的想法是遍历所有块表记录,然后将所有实体 ...

一个是你的方法,
一个是设置图层颜色为7,实体的颜色随层,
怎么的,你都得遍历实体。

遍历块表得到实体记录速度很快的,效率不低。你图形在大,能有多少实体,n次读取。
ARX遍历个几十万的实体,毫秒级时间。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2018-4-10 18:20:19 | 显示全部楼层
楼主,你是说绘图窗口背景颜色是黑色吧? 上个图多好明白啊。
使用COM接口


  1. Acad::ErrorStatus XDComUtils::setModelSpaceDisplayColor(OLE_COLOR &color)
  2. {
  3.         IAcadApplication *pApp = NULL;
  4.         IAcadPreferences *pPref = NULL;
  5.         IAcadPreferencesDisplay *pPrefDisplay = NULL;

  6.         pApp = (IAcadApplication *)acedGetAcadWinApp()->GetIDispatch(TRUE);
  7.         pApp->get_Preferences(&pPref);
  8.         Acad::ErrorStatus es = eNotImplemented;
  9.         if (pPref!=NULL)
  10.         {
  11.                 pPref->get_Display(&pPrefDisplay);
  12.                 if (pPrefDisplay!=NULL)
  13.                 {
  14.                         if (pPrefDisplay->put_GraphicsWinModelBackgrndColor(color)==S_OK)
  15.                                 es = eOk;
  16.                         pPrefDisplay->Release();
  17.                 }else
  18.                 {
  19.                         return eNotImplemented;
  20.                 }
  21.                 pPref->Release();
  22.         }else{
  23.                 es = eNotImplemented;
  24.         }
  25.         pApp->Release();
  26.         return es;
  27. }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2018-4-11 09:04:13 | 显示全部楼层
LoveArx 发表于 2018-4-10 18:20
楼主,你是说绘图窗口背景颜色是黑色吧? 上个图多好明白啊。
使用COM接口

并不是的,就是类似PS的去色效果,将彩图变成黑白的图,我目前的想法是遍历所有块表记录,然后将所有实体的颜色改成白色,记录在字典中,需要恢复的时候再遍历一遍把颜色改回去,但我想应该有高效率的做法,我这种效率太低

点评

一个是你的方法, 一个是设置图层颜色为7,实体的颜色随层, 怎么的,你都得遍历实体。 遍历块表得到实体记录速度很快的,效率不低。你图形在大,能有多少实体,n次读取。 ARX遍历个几十万的实体,毫秒级时间  详情 回复 发表于 2018-4-11 14:16
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2018-4-12 15:38:46 | 显示全部楼层
感谢上面朋友的回答,然后我分享一下我最后的做法,我最后发现SummerMark也是按照我的思路来的,所以就按我自己的思路去做了,遍历所有实体以后,先用XData记录当前颜色,设置colorIndex为254,对于属性块,需要将属性的colorIndex也设置为254才能达到去色效果;然后需要恢复的时候只需选择集选中带有XData的实体,将颜色取出来设置即可。

评分

参与人数 1D豆 +5 收起 理由
marting + 5 有始有终奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

发表于 2018-9-2 12:35:00 | 显示全部楼层
我也是来学习的   正在学习中
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 22:31 , Processed in 0.324358 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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