QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
3天前
查看: 4238|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:. {2 A- {, H8 x1 x) O* \* F
" K0 m: X# o7 E1 \+ o% C7 a
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”$ r7 H2 U9 ^+ p8 @
1.gif
7 g$ \7 X0 |" i2 T- q: G) R# h, Q; Q( X/ M8 N
在VBA编辑器中写如下代码: b3 N0 {) l. s$ T5 ?
---------------------------------------------------
+ L( G3 D3 {) r: P1 dSub A()3 X! j! a' g7 R' U& \9 c4 t# s  D/ O$ U
    Dim F As Integer, P(2) As Double( g" t; {7 I3 O( h9 v- f: x
    F = FreeFile(): t- r; J7 D) U
    Open "E:\1.txt" For Input As F
6 R' [2 V) S5 z2 B3 L        Do Until EOF(F)
* S2 d* J/ }* L& S5 I            Input #F, P(0), P(1), P(2)* }! O4 M0 I5 ^/ y: M
            ThisDrawing.ModelSpace.AddPoint P7 D1 l8 t8 h; d4 V1 v
        Loop
, `( k' B$ Z2 h) w  O    Close F% ?/ R  \( L0 k' i
End Sub
; h2 x. `( j+ ?( U7 [. r5 d3 A---------------------------------------------------' d& I% W/ |9 G) d& V

1 e0 s* _3 \% L3 n, `0 [下面的代码也可以
- u" G; ?  Q' d---------------------------------------------------! s+ G& V' v" @2 Z; X
Sub B()
# x. l. ^. {5 X1 ]. J+ s    Dim F As Integer, S As String% g4 }8 s8 E1 n. m) {: J+ H1 F
    ThisDrawing.ActiveSpace = acModelSpace
0 p5 L+ }" v9 y9 T  K# G. `/ |. n    F = FreeFile()
+ ]2 `! y& E9 o) A. X: R  i    Open "E:\1.txt" For Input As F
* b2 @+ L$ I9 Y  F- H8 f9 |+ @        Do Until EOF(F)0 O% j0 |1 k8 s5 A  l" ^/ Z
            Line Input #F, S7 D% v$ j  G5 X/ l" t: _9 F
            ThisDrawing.SendCommand "point " & S & vbCr
. H, p, M  e# S8 S' S$ G        Loop+ U! e! S4 A* z0 S. n' p
    Close F
. Q8 I8 `8 F' |5 YEnd Sub5 a$ R  d7 c# M: i. Z
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
( I$ }$ p) q  f0 u" a* C我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:% g; y  V4 W9 h$ w

1 m2 D' y) s) h" T' m打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
" v3 K2 S0 H# Y' S0 _9 L/ f- [974246( Z# D+ @9 u/ e! A. b  y+ ^3 m

9 p' \' L! N# ]8 b在VBA编辑器中写如下代码
7 |" M0 i4 e  v- f! G- k3 X---------------------------------------------------
# f$ |  I* f  B" J7 B+ LSub A()
  p4 A6 u  z4 ~    Dim F As Integer, P( ...) }+ u+ z$ j8 v8 k: h' X  t
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
5 {( _9 _& |4 V/ f. V; ^
非常佩服您,非常感谢您的无私指导。
! f; `! Y4 t# s. D+ g. X, j3 o想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 1 }0 L4 b( F4 m  `; ~/ _8 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 )

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