QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4231|回复: 7
收起左侧

[已答复] 如何用vba编程将txt文档中存有点的三维坐标值(有很多点)读出并画在modelspace中?

[复制链接]
发表于 2008-9-10 22:03:01 | 显示全部楼层 |阅读模式 来自: 中国四川成都

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如何用vba编程将txt文档中存有点的三维坐标值(有很多点)读出并画在modelspace中?
头像被屏蔽
发表于 2008-9-10 22:51:47 | 显示全部楼层 来自: 中国上海
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-9-11 08:29:57 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
$ P0 Z2 z; B- p9 b. v. I3 n
; L% M) A. P  l! T1 s打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”  Y; W0 F2 }# p" Q. H, ~
1.gif 4 D5 K* L! K0 n8 K) P
. p' R6 O1 u  C+ `
在VBA编辑器中写如下代码# H% z+ c0 n6 X  t
---------------------------------------------------
7 ?% O1 k% V. G$ J# P; Y: o2 ^9 V7 wSub A()
' S4 R) G: `" ?7 D6 J: j    Dim F As Integer, P(2) As Double5 r6 w. N9 W6 [4 V+ V8 v: `% U
    F = FreeFile()( a6 p3 u5 k6 {4 s3 k5 g
    Open "E:\1.txt" For Input As F
5 |; ?- f  g8 @. ]4 p# j        Do Until EOF(F)
1 R' F6 F/ r2 f. u9 e3 A- n: z            Input #F, P(0), P(1), P(2)# `+ h. N! X: o
            ThisDrawing.ModelSpace.AddPoint P' b% B0 ~( d# k; \8 B8 L
        Loop2 o2 ~9 q1 ?9 H
    Close F
/ {1 h# k# \+ v8 e. l1 ^End Sub. p  f% U, @, ?, S! k5 `) ?
---------------------------------------------------8 G& Z7 Q' X+ ~9 K
3 U* F! S' k' I5 @
下面的代码也可以
: @5 m) ?3 T: ]---------------------------------------------------, C* M" V% C7 E7 G/ F
Sub B()4 r# K& m1 }* Y0 F
    Dim F As Integer, S As String
' e+ k: B! D' |8 b% p' [    ThisDrawing.ActiveSpace = acModelSpace
! u1 ], P5 z- ?( O1 J8 z6 j- Z    F = FreeFile()! q3 ~7 p! p* _! o$ N6 }; J( M
    Open "E:\1.txt" For Input As F7 {7 \, v6 h$ h# y* O3 D
        Do Until EOF(F)1 z0 \2 ?: }! L( @! q
            Line Input #F, S
# L4 O. e9 e! u2 N* O# V            ThisDrawing.SendCommand "point " & S & vbCr
! G/ f) n' ^9 s- H+ \5 [% p4 [        Loop/ p, V3 p; z& W9 A# ], A% J# q
    Close F/ \1 R5 ^: d1 e" u" e
End Sub2 c, \/ }4 n4 b0 c3 _. H
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!% t9 B0 R6 q$ i! @
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
7 {  U4 H* U; T0 z2 q. _3 ~! l9 r+ \
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”1 }: k' B7 O- x# M9 r# ~6 P  D+ s
974246
9 d, |5 ]4 U. l. R4 n% H; h' T. l4 I2 l4 R" K# `. U
在VBA编辑器中写如下代码
& d4 }; q6 @) G8 n---------------------------------------------------' ^, k" k' W% q8 p0 p
Sub A()
! \& f* q6 H/ O) J. S    Dim F As Integer, P( ..., i$ j. p8 |$ U' j
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

7 [9 N# Z$ n& R0 d5 o9 C0 r4 x非常佩服您,非常感谢您的无私指导。# V2 B6 j8 R0 q( p. u# o# D- r8 e. F
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
) _$ ^7 H5 C  d) t' N5 p参考这个帖子 VBA讀寫EXCEL文檔的方法
发表于 2011-7-19 22:16:24 | 显示全部楼层 来自: 中国上海
正好需要,谢谢了!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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