pjm8765 发表于 2017-6-20 08:08:40

添加圆时出错

我收到一条题为'值不在预期范围内#039;错误号为-2147024809,没有其他信息(没有内部异常等) 当'圆圈1=myDocuments.ThisDrawing.ModelSpace。添加圆(点,15)'运行以下行:
                If keypair.Value.Weepholes.Count > 0 Then
                  For Each point As Point3d In keypair.Value.Weepholes
                        'Add a weephole
                        circle1 = myDocuments.ThisDrawing.ModelSpace.AddCircle(point, 15)
                        circle1.color = ACAD_COLOR.acByLayer
                        circle1.Layer = EASICAD_LAYERS.SOLIDENDWEEPHOLES

的坐标'点#039;变量在模型空间限制内(-40073,-77029,0) 从本质上讲,我从另一个功能中复制并粘贴了这段代码的基础,该功能运行良好
有什么想法吗?

pjm8765 发表于 2017-6-20 08:19:47

对不起,作为一个木偶 已将Point3d转换为双精度数组。

pjm8765 发表于 2017-6-20 08:21:33

P、 美国;为什么't生成编译时错误,即当它需要一个double数组时,为什么它接受Point3d变量?

n.yuan 发表于 2017-6-20 15:09:36


因为:您在与.NET API的混合中使用了COM API(因为我看到了.NET API中的“Point3d”),其中AddCircle()的第一个参数是一个;“对象”;类型(实际上是变体),在编译时可以是任何类型。这是不好的(或者至少不是“最佳实践”)虽然您已经在使用.NET API,但不知何故,在代码中添加了另一个不必要的依赖层(到COM API)
页: [1]
查看完整版本: 添加圆时出错