找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 631|回复: 2

[求助]:怎样表达可以打印的白色

[复制链接]
发表于 2006-5-14 00:35:02 | 显示全部楼层 |阅读模式

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

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

×
请问斑主或各位高手:CAD的VBA中不采用0图层默认白色或赋值为acWhite怎样表达可以打印的白色?以下是摘自CAD2006帮助文件中的示例
Sub Ch4_NewLayer()
' 创建圆
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 2: center(1) = 2: center(2) = 0
radius = 100
Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius)
' 创建颜色对象
Dim col As New AcadAcCmColor
col.ColorMethod = AutoCAD.acColorMethodForeground
' 设置图层的颜色为白色
Dim layColor As AcadAcCmColor
Set layColor = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Call layColor.SetRGB(255, 255, 255)
'上句:查阅CAD调色板中白色的RGB值为:255,255,255,但此种“白色”打印看不见!我现在解决方法:①不设,让其为默认的0图层颜色;②直接将图层颜色赋值为acWhite。请问:不采用我现在的2种方法而用上述AcCmColor如何解决“打印白色”问题?
'Call layColor.SetRGB(255, 0, 0)      '设为红色,除白色之外其它所有颜色均不存在无法打印问题
ThisDrawing.ActiveLayer.TrueColor = layColor
col.ColorMethod = AutoCAD.acColorMethodByLayer
' 将圆的颜色指定为"随层"
' 以便圆自动拾取所在图层的
' 颜色
circleObj.color = acByLayer
circleObj.Update
End Sub

黄玉宏 2005.5.14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-5-15 21:31:34 | 显示全部楼层
一般的方法就是直接将图层颜色赋值为acWhite,AcCmColor很少有人用的:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-19 21:35:17 | 显示全部楼层
斑主您好,感谢回复,我是用Excel来查询并读取数据,acWhite在Excel中必须引用CAD类型库。看了本坛有关不需要引用CAD类型库的文章(申明为Object),这样Excel软件通用性比较好点。
今天我用Excel编程时调用intersectwith方法时,现出了一个奇怪现象:在CAD的VBA中和在Excel引用CAD类型库的情况下,该方法中参数为acExtendBoth应该使两对象均延伸,但如果在Excel中不引用CADAD类型库的情况下,它并未延伸。不知这是不是Excel两软件的接口问题。
  另:请教一个不该的问题,怎样求两多段线所构成的面积,它们有如下特点:①它们可能相在首尾两点相交,如不相交则将首尾向两侧(外侧)延伸必相交;②它们之间的交点只有两个且只能在首尾两端;③如果求出交点超过2个(有路基挖方)则退出程序给出一个提示即可。
  这个问题我现在是在Excel中解决的,读取两线坐标,画多段线,求交点,用两交点的横坐标筛选重新复制并读取再生成一个闭合多段线。不知在CAD中版解决这个问题?
黄玉宏 2006.5.19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 17:34 , Processed in 0.272662 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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