在CAD中直接用VBA编程的时候,可以使用acRed 、acYellow 等常量,但是我在使用VB操作CAD绘图的时候却遇到这些常量不能用的问题。而我看到许多VB操作CAD绘图的教程中都是直接使用这些常量的。折腾了今天一上午才弄清楚:

    原来我连接CAD使用的是后期绑定,没有引用CAD的库,这些CAD库中的常量就不能用了。而如果使用前期绑定,引用CAD库,那这些CAD库中的常量是可以用的。怪不得资料中能够通过的程序到了我这里就发生错误了。

    为了保持统一,也容易辨认,就自己定义这些常量了。如下:

Const acRed = 1
Const acYellow = 2
Const acGreen = 3
Const acCyan = 4
Const acBlue = 5
Const acMagenta = 6
Const acWhite = 7
Const acByBlock = 0
Const acByLayer = 256

    而为什么不使用VB中的颜色常量呢?如vbRed、vbBlue 等呢?因为CAD指定图元或图层的颜色只能使用使用0到256的颜色索引号码,而VB中的这些颜色常量的数值超出了这个范围,会发生错误。