QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 4203|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
5 r: i$ x7 F8 R7 x* ~% X
# |4 }- {  {/ P9 b打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
% a' `7 q5 Q8 x+ z 1.gif ! M" s# b3 B( V9 z& ~
; Z7 B  t, I3 l, V) ~: ^" ?
在VBA编辑器中写如下代码
+ M+ o; l4 b" Z' X6 p& k9 E---------------------------------------------------! v: }0 g. s0 y  q
Sub A()
1 F" m# C/ K' k9 u4 T: A' j    Dim F As Integer, P(2) As Double: e2 N, n  L) W+ P8 w1 ?6 S5 K4 @
    F = FreeFile()2 _4 z/ d4 {+ L  {: u* _
    Open "E:\1.txt" For Input As F
9 G- I' B6 e  u" p        Do Until EOF(F)
5 Q  v) m1 s4 }9 r+ o; b/ L3 j; c            Input #F, P(0), P(1), P(2)1 ?7 t+ m, h/ j' g
            ThisDrawing.ModelSpace.AddPoint P& u% `# |0 p- z' c9 o- i3 e0 N
        Loop$ h0 t) w7 I0 j+ M/ x
    Close F
2 Q( F. F  f: d9 D8 E1 `# D" c0 V6 ?) _End Sub: e6 ]5 T0 }! v/ v5 N
---------------------------------------------------8 C) f' \* y  E4 }& ~1 f# y
! n& Z6 h& |2 m) \( w
下面的代码也可以0 D; s3 i( ], a) f! s& {6 T1 I; w0 Q
---------------------------------------------------
7 o8 d) I: z' i9 V2 aSub B()
& D/ n( `2 _; p* i  j    Dim F As Integer, S As String! o* l9 J, d7 O3 k6 S4 w. W3 o
    ThisDrawing.ActiveSpace = acModelSpace7 j9 _5 Y* ^  A8 T, w
    F = FreeFile()
' ^1 L; L, h( b1 ?) T! M: o    Open "E:\1.txt" For Input As F
. w" P% X) K" ^5 E% G' Y; m5 ]        Do Until EOF(F)0 s. `+ \. d8 _# f6 ]6 J: j+ r' \
            Line Input #F, S
) q/ B" n! z" {; V, u            ThisDrawing.SendCommand "point " & S & vbCr
  x' j2 W5 B' ^& [$ P        Loop4 y5 S, B4 o4 _3 {+ \$ U+ j
    Close F
' T- Q7 o( t1 P: w/ p! j$ NEnd Sub
  V& T! @0 P0 e- e# G' s, C; Y---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
6 R, L- P, L( \* k我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
. I, U4 Y! k+ W9 b: L( r, l: x
3 x7 A) {5 v( D7 E5 _: `打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”# K# q4 S, u8 C2 m4 p
974246& Z1 F$ e* @5 w( V6 R
0 N& L) u1 C) T2 i- ~
在VBA编辑器中写如下代码
: r+ |5 U9 ~. |; G---------------------------------------------------
. Z) V2 x, y1 v' H0 Y; uSub A()
7 t) ~2 W+ R! M/ q8 l    Dim F As Integer, P( ...* i) _  |2 o" ?' L% o5 H$ y" c/ A
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

) S; N+ ]( L' B6 i7 D% E非常佩服您,非常感谢您的无私指导。# h5 S# s: }; K* I; D
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
5 V* Z9 F8 z: o" G7 n4 G) [参考这个帖子 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 )

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