明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1199|回复: 1

Add3DFace 变量类型问题

[复制链接]
发表于 2012-7-24 12:24:03 | 显示全部楼层 |阅读模式
本帖最后由 Flyingdancing 于 2012-7-24 12:27 编辑

直接借用帮助里面的例子
  1. Sub Example_Add3DFace()
  2.     ' This example creates a 3D face in model space.

  3.     Dim faceObj As Acad3DFace
  4.     Dim point1(0 To 2) As Double
  5.     Dim point2(0 To 2) As Double
  6.     Dim point3(0 To 2) As Double
  7.     Dim point4(0 To 2) As Double
  8.    
  9.     ' Define the four coordinates of the face
  10.     point1(0) = 0#: point1(1) = 0#: point1(2) = 0#
  11.     point2(0) = 5#: point2(1) = 0#: point2(2) = 1#
  12.     point3(0) = 1#: point3(1) = 10#: point3(2) = 0#
  13.     point4(0) = 5#: point4(1) = 5#: point4(2) = 1#
  14.    
  15.     ' Create the 3DFace object in model space
  16.     Set faceObj = ThisDrawing.ModelSpace.Add3DFace(point1, point2, point3, point4)
  17.     ZoomAll
  18. End Sub
这里point定义为Double型数组

我的问题如下:
在我把Double改为variant后,就会出错”无效的过程调用或参数“
显然就是因为变量类型不符合
帮助中对point 的说明是:
Variant (three-element array of doubles); input-only
The 3D WCS coordinates specifying a point on the 3DFace object

同样,做如下定义:
dim point as variant
point=array(1,2,3)
也出现同样的错误,显然,跟上面的错误是一样的

我想知道的是,这种改变为什么不行?VB/VBA/CAD对于这种定义的区别是什么


发表于 2012-7-24 15:30:40 | 显示全部楼层
array(1,2,3)
=>变体的数组
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:21 , Processed in 0.148172 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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