QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4218|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
8 W: M. v, ~) I* H1 j/ \7 ~; W0 Y, K7 y$ ^  |
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”# z1 p4 _0 T" S4 l# Q
1.gif . [: m: t+ `3 j2 k3 E
6 e! [' r9 Z" p
在VBA编辑器中写如下代码
1 U$ P: n; k, t* e0 U. e( y---------------------------------------------------
5 K2 W  }4 y& R2 A9 ZSub A()
. _: M# H+ I# }* X  A    Dim F As Integer, P(2) As Double% E) H$ s; B' ]/ K* U, t7 V0 M5 Y, K
    F = FreeFile()
8 {6 [5 Z' w) j6 w$ p7 j. B    Open "E:\1.txt" For Input As F5 F* |* r7 {/ m  h
        Do Until EOF(F)
) L- ?7 i7 I( ]) l( H) L1 q            Input #F, P(0), P(1), P(2)
: _( a/ {+ n( m8 i            ThisDrawing.ModelSpace.AddPoint P
* G- u: ^& [6 W4 [4 g        Loop
8 B. a2 ~1 I6 D# G8 k1 a5 J    Close F
  c& a9 s) u# v9 k: [2 l0 uEnd Sub; K" W; c) d0 }5 A' p
---------------------------------------------------
' y3 a+ Z* D9 q$ m* R8 d- C# d# X+ b3 R% i) n7 Y! ?$ W9 ?4 B: b
下面的代码也可以3 G2 Q+ b9 o; f2 ]" ]% P. |
---------------------------------------------------
" o- ]: z7 n  w) a8 R1 p* G# c/ eSub B()
/ o- u, P  S( R2 Q    Dim F As Integer, S As String9 T5 `9 q. f* r: N
    ThisDrawing.ActiveSpace = acModelSpace
1 C. ]% g5 [6 E( N1 t8 J    F = FreeFile()0 T! K7 f9 @4 {$ Q7 S
    Open "E:\1.txt" For Input As F2 J: {& s' ?: G
        Do Until EOF(F)
) ?+ f; I: m9 ?9 c            Line Input #F, S
8 i9 z( z7 P8 w& K9 b            ThisDrawing.SendCommand "point " & S & vbCr
4 H" A+ B- T. J0 M        Loop
0 O+ F' d+ c  m& P% ~2 ^- Y    Close F
/ N( u. F3 w1 ~- y8 w/ h! X; fEnd Sub& `4 W- w+ @5 `3 I3 l
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
. Q9 o& S/ Z8 |我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
! U" U$ K# v# k5 L6 b. Y3 {+ f8 w* h* G: ^7 R" e5 }* Q; y
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
2 C( a" k7 v7 B7 a- \2 o974246
- g" l, _( s6 D4 r! B8 W8 u! X3 \5 G6 P* k6 s* t
在VBA编辑器中写如下代码) C( ^, D, x2 V! H: A% X
---------------------------------------------------
% Q$ K  a& ]9 LSub A()
7 q, z3 N% d( s" b8 [4 L" S$ l    Dim F As Integer, P( ...
( S3 U3 o$ A; l+ G/ ~woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

9 \9 j$ p$ [" Q4 ~$ @4 G- J2 Q非常佩服您,非常感谢您的无私指导。
1 ^2 Q/ Z: t9 [想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
( T* e3 C# S2 d1 L( i' C* H! R- 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 )

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