QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 4249|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
& D1 t4 Z+ g9 C4 l5 B  m' [6 f  D
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”7 x; p4 u2 f  }' Z. c
1.gif
' w% x3 Z: G; |7 b  U9 o! Y8 Y) P) a) P$ V
在VBA编辑器中写如下代码" E8 l* k2 O% I  O: z+ M
---------------------------------------------------8 C/ I' X9 L; @
Sub A()
6 w1 l9 D, Z# t, ]4 e/ m9 z6 F3 z5 v    Dim F As Integer, P(2) As Double2 z( w0 y0 o4 _, H3 F7 d
    F = FreeFile()
: c/ g/ Q. c3 U    Open "E:\1.txt" For Input As F
/ S3 q! [0 K% s4 E' W" j! J& |9 j        Do Until EOF(F)3 w/ M+ W2 D7 w& n
            Input #F, P(0), P(1), P(2)7 m7 v( @  `, H; n- F: N. w
            ThisDrawing.ModelSpace.AddPoint P* |$ X# [. f- e% X" `3 V9 y! ^) }
        Loop
. X$ M; A  ^3 j( e$ R5 F( r    Close F% B) u7 o& U/ h/ k. t" m4 S. l# D
End Sub7 S: j6 j3 Q9 e1 q" d) S) ]
---------------------------------------------------6 p; @' c* @& {# p9 o. P1 F

, J3 d+ i0 X6 {% d6 N7 y下面的代码也可以
) X6 J) Z0 N6 o7 K3 a7 Y---------------------------------------------------. a. P2 v$ ?, W' \1 U/ T
Sub B()
0 z1 G) k; X/ m, j  i; Y    Dim F As Integer, S As String
8 A+ e& T$ Q6 w# b" T/ K; p; D    ThisDrawing.ActiveSpace = acModelSpace8 i2 ^; k) N& E: M, g) I- F
    F = FreeFile()
7 J& Z: N% w  h  \; c    Open "E:\1.txt" For Input As F. K* I7 k& I; ]5 U4 G" w
        Do Until EOF(F)' @5 L% C5 T) t1 U, S
            Line Input #F, S
2 h5 M" X( o+ |6 k8 b: m3 k- d            ThisDrawing.SendCommand "point " & S & vbCr2 `$ P) I+ j$ [2 J
        Loop7 Q0 J! p1 V: n1 w8 o! P, F/ x: Q5 i+ d
    Close F+ Z# ~) q# b( ?$ J& m! x3 f( S
End Sub8 {2 l8 q3 J7 B1 Y
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
) d% V! n# y# E+ A+ m- c: ^我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
$ _; y- E1 B* }8 v. z) J1 k0 l8 R
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”4 @# Q/ E5 d$ f; W6 U' i" `
974246
% L% W) A! M8 K) b% e* a3 ^( d1 Q/ J3 J7 b4 l; |- O
在VBA编辑器中写如下代码
" J, \5 P2 c0 ^- p" l( p+ E---------------------------------------------------
, d& X; t, ]: Y" s* mSub A()8 Q- r) N3 A, e. y
    Dim F As Integer, P( ...+ @0 M8 \% X  J. H! n9 n% L* G
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
& X4 Q3 W7 W8 t# ^  b# P
非常佩服您,非常感谢您的无私指导。% i, f3 s# P: G) G5 B' _( }
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
$ P& @2 t6 y1 u( E- s参考这个帖子 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 )

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