- 积分
- 5
UID822412
主题
在线时间 小时
注册时间2008-10-31
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
按照AUTOCAD VBA的学习资料,我把二维的改成三维的之后出现如图错误,哪位大大能帮忙指正一下 非常感谢% e7 d6 U! O8 R5 U& l& B
& O6 H$ W, ~( O. }) C9 A改过后程序为:8 h/ ]* Y& O' m) D- L* ~6 x
- I) [& K/ k: f, o
Public Sub move()3 N6 g. n$ ]* l4 Z
Dim p0(2) As Variant '起点坐标
( x7 t5 |+ K( l+ s" d8 n1 `) LDim p1(2) As Variant '终点坐标
8 E+ L2 A: c% p% h( h: JDim pc(2) As Variant '移动时起点坐标
$ k) f) S! r0 Z8 F4 d- w7 vDim pe(2) As Variant '移动时终点坐标" Q& K3 h' K6 o! O
Dim movx As Variant 'x轴增量
$ Z; w4 B* A7 }4 GDim movy As Variant 'y轴增量
7 u9 C& S6 N& J, u! K! cDim movz As Variant 'z轴增量 ]" C* s# m$ d3 C* t5 _! X
Dim getobj As Object '移动对象! v+ H! {; R- ?# M7 E9 s6 }9 @
Dim movtimes As Integer '移动次数8 _8 J2 A L. z6 g; i& Q/ a% I2 H' r
ThisDrawing.Utility.GetEntity getobj, po, "请选择移动对象"/ j' @* h* X3 e: _" i
p0(2) = ThisDrawing.Utility.GetPoint(, "起点:")
: Z% V& j" K' l; Up1(2) = ThisDrawing.Utility.GetPoint(p0, "终点:")
4 R! P& e4 V* `' upe(2) = p0(2)
) R( u$ D- F+ c g( epc(2) = p0(2)7 l% u* E% c& ^ B% }
movtimes = 30% h. x+ C( p! W: e
movx = (p1(0) - p0(0)) / movtimes# J, [. O# q" ~' |3 w/ S$ {
movy = (p1(1) - p0(1)) / movtimes4 U5 u0 @% C% Q0 c1 W
movz = (p1(2) - p0(2)) / movtimes
* t1 H, S! x0 M& TFor i = 1 To movtimes7 u& u& S3 w; v, y$ z' a' i
pe(0) = pc(0) + movx
$ Q; _" |1 k2 h3 \1 o8 G H% F pe(1) = pc(1) + movy7 a% Z6 w8 E5 z P4 b. S( a8 F
pe(2) = pc(2) + movz
; P6 w* n; F, I5 ] getobj.move pc, pe '移动一段' {1 r; i* a: M
getobj.Update '更新对象
- q/ {2 \# {( B4 ]" P% FNext
, S p L5 D9 DEnd Sub
( G6 [' r7 J* z! d/ B5 o9 @# |" P8 C; z% Y/ H% O' J3 n b
( \: {3 }) v$ }! I+ r- h程序编译执行都没有错误,但是在选择完移动对象,选择起点的时候就报错(如图)
/ p! L* q4 A w h
* x' h' s' q" @% d) s# v+ e' \" v2 u2 K[ 本帖最后由 jasmine126 于 2008-10-31 15:17 编辑 ] |
-
|