- UID
- 433376
- 积分
- 61
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-5-6
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
请问斑主或各位高手: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 |
|