QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 4141|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
1 O: Q* o' v! o7 e8 ?0 P4 p- E; j/ P0 E6 N) A; g% w4 Z& B. v6 H! f
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”- p) m4 o" R: ]8 c  F2 |% ~4 A
1.gif ( L& M& w. y$ D/ a# Z

9 p* Q; g; R/ F在VBA编辑器中写如下代码
0 m, L# ~1 K- t1 a; A0 Q---------------------------------------------------
4 {: a* P9 s( f* SSub A()
) k8 y+ @8 V9 D8 @7 P4 t    Dim F As Integer, P(2) As Double+ R! b5 ]! E6 @! I% D
    F = FreeFile()
) S2 @. z- @# g0 X    Open "E:\1.txt" For Input As F0 x7 t& J/ a0 I2 Z3 S
        Do Until EOF(F)
6 W# z" d2 U, l            Input #F, P(0), P(1), P(2)7 e+ a8 O, r" T' Q# ~3 @6 m( P
            ThisDrawing.ModelSpace.AddPoint P  T" B( e4 h4 x$ g* f
        Loop
; b! ]: P8 q2 _/ S' h. v% c    Close F# F. \; b$ I6 \3 \' P
End Sub* G* f# f3 ]( V5 ^
---------------------------------------------------
: L) Z1 s) y+ w- d4 h6 e/ U# n- X+ b8 i
下面的代码也可以2 |% }! k" y% E
---------------------------------------------------, _/ Z, j' f" N4 D' ~
Sub B()
- D4 j. K8 _% ?    Dim F As Integer, S As String; R' v1 y+ n8 G' x1 y/ s
    ThisDrawing.ActiveSpace = acModelSpace
! S" j5 ]  p1 \2 t    F = FreeFile()0 B8 O  T3 M6 p) X3 [
    Open "E:\1.txt" For Input As F9 l! C: ~& @6 Z. g& Y0 W
        Do Until EOF(F), `# @+ T* M) d: T) x$ O
            Line Input #F, S
5 {4 ~8 ~8 c9 [5 v" N1 U; W5 k6 f            ThisDrawing.SendCommand "point " & S & vbCr
8 ?7 \3 h/ h# ?8 o& ~3 C        Loop
) B' C0 o$ X& h3 x# m' n    Close F6 k$ z! [" x/ g
End Sub
4 C1 h- I, c  \. h. `" f9 I---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!7 [; h1 K! N7 j1 x/ R. a
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
  I) t. c7 k& m" l( g: b) S
0 x& C' j- |* x, c打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”4 d% U8 H. l' q! M  W+ P
9742466 {& v  d: I& n0 m

, ~" T' t& ^0 P在VBA编辑器中写如下代码
1 m6 ?' m# J0 S% ^& g3 D2 I7 v---------------------------------------------------
; r  M8 E! [6 M! T; P% c4 l6 C/ rSub A()" K; F3 ]4 K3 o5 J& E- I4 p
    Dim F As Integer, P( ...6 e/ Z; f0 t& ]* [7 \- w2 m
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
6 G/ B: x- ]- m6 B! V' _; k9 e% w
非常佩服您,非常感谢您的无私指导。6 L& R3 F# L  p- v8 k3 R- n0 y, m* t" m
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 2 X3 t# h( T; N; L. p! x1 T
参考这个帖子 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 )

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