semisun 发表于 2008-4-13 14:36:00

[求助]定义AutoCAD图层颜色的问题

各位高手,本人使用2006版,在使用VBA定义新的AutoCAD图层时,使用TrueColor方法设置颜色,当只启动一个CAD时,颜色设置没有问题,但是当通过程序启动CAD之前,已经有一个AutoCAD打开了,则图层颜色不能设置,提示“对象 'TrueColor' 方法的 'IAcadLayre2' 失败”错误。
程序代码如下,
Dim locLineLayer As AcadLayer
Dim layColor As AcadAcCmColor
Dim intPos1 As Integer
Dim layerNames As String
Dim entryLayer As AcadLayer
layerNames = ""
For Each entryLayer In DocHuawen1.Layers
   layerNames = layerNames + entryLayer.Name + vbCrLf
Next
intPos1 = InStr(1, layerNames, "locLineLayer", vbTextCompare)
If intPos1 = 0 Then       '如果不存在locLineLayer图层,则创建图层
   Set locLineLayer = DocHuawen1.Layers.Add("locLineLayer")   '添加locLineLayer图层
   DocHuawen1.ActiveLayer = locLineLayer
   locLineLayer.Linetype = "Continuous" '设置
   Set layColor = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
   Call layColor.SetRGB(0, 255, 255) '设置标注颜色为 青色
   locLineLayer.TrueColor = layColor   ' 执行到该语句提示出错
End If
错误提示:Err.Number=-2147417851
               Err.Description = 对象 'TrueColor' 方法的 'IAcadLayre2' 失败
请高手帮着分析一下原因,谢谢!

semisun 发表于 2008-4-13 14:53:00

错误提示



songtq 发表于 2008-4-14 06:40:00

考虑其他方法设置图层颜色,也许就不会出错了,但我也不会

semisun 发表于 2008-4-15 00:00:00

请高手指点,如何设置图层颜色?多谢了!

semisun 发表于 2008-4-15 21:05:00

请大家谈一下如何设置图层颜色吧
大家一定要帮助解决问题呀
先谢了!

home 发表于 2008-4-17 22:16:00

dim hs_layer as AcadLayer
hs_layer.Color = acRed
我是这样设置的

semisun 发表于 2008-4-21 14:10:00

谢谢home的指点,但Autocad2006的AcadLayer没有color属性,只有一个TrueColor属性,没有办法这样设置。



songtq 发表于 2008-4-24 11:34:00

试着使用VBA宏进行设置图层,可能不会出错

mccad 发表于 2008-4-24 12:41:00

Color属性虽然表中没有,但确认还是可以设置的。

zzxxhhu 发表于 2008-4-27 14:24:00

我用2004vba编的,用2007是可以用.color设置的,但2006我没有用过。
页: [1]
查看完整版本: [求助]定义AutoCAD图层颜色的问题