QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 4202|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:' P( \$ J4 d+ ^" O
, j. M6 x8 \7 U3 }# c7 }
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
/ p7 j- V$ ~1 B* |2 t4 k1 P 1.gif
! @$ r+ o  |9 Z  J1 _$ G- U6 U( z8 o
& _6 [# D( Y  B6 V在VBA编辑器中写如下代码2 F% p  g2 k$ |
---------------------------------------------------
4 R/ Q; P" @/ w) U2 V4 N: H" r6 TSub A()
3 M2 w# c1 y1 b    Dim F As Integer, P(2) As Double
+ E6 u# ~4 I3 G/ h" i! Y6 ]    F = FreeFile()
* A. t! w2 I' }    Open "E:\1.txt" For Input As F
% N2 ]2 |; X0 y: Y% ~3 K        Do Until EOF(F)8 }8 O( W! L, n, h" n/ Y
            Input #F, P(0), P(1), P(2)7 e" w, `  ~% b+ j' Z3 ?
            ThisDrawing.ModelSpace.AddPoint P
& `9 A- J+ p3 W4 o/ N+ r, ]; G( Q- E        Loop2 z0 a9 n2 ^. t1 ~9 U
    Close F) X4 ^& s2 Y$ a0 e' w. x# G
End Sub
- o! _9 B1 W5 A' y' P---------------------------------------------------) Y. C$ o% w- K0 J$ |

3 K! }6 H/ N) {5 S/ z; g2 I$ Y: ^下面的代码也可以/ q; O  x5 p: Z/ L( y6 V5 _- W& m
---------------------------------------------------
- b/ B; }  M" ]. Y* MSub B()
6 @- u$ a/ ?" T2 y  T* H$ U    Dim F As Integer, S As String. ~( H& ]7 x$ M1 L; k
    ThisDrawing.ActiveSpace = acModelSpace# V4 A: J" C& B* x% j- V7 F: q
    F = FreeFile()
$ D! C$ |8 P2 s$ J- ~: ~% ?5 ?    Open "E:\1.txt" For Input As F+ P' H/ q; x: |0 M: P2 H  t  V
        Do Until EOF(F)2 h; l6 R. O. N# k% H0 U
            Line Input #F, S
! V" I5 o* j$ W( S2 |' w, r7 l            ThisDrawing.SendCommand "point " & S & vbCr, @  e0 y: x( W; R7 X: r9 l8 e
        Loop  e  ]% g1 V$ [
    Close F
6 a, ?" H& g- U4 @. Z, |4 m3 iEnd Sub: Y+ @9 G$ ^- C, J& X/ _
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!6 M4 N" W7 [5 W& l+ g
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:; F+ ~# x: X$ G8 _* g5 i9 h

; x4 n2 N3 ]7 ^/ N' Z4 j打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
# H7 q: V3 s/ N9 \2 h+ Z974246
& g1 ~5 E2 G: B6 X5 F5 c2 b' @% e$ c% w9 d0 @+ I" P8 W% W  d
在VBA编辑器中写如下代码
. z7 D8 w! u  R' v---------------------------------------------------4 ^9 g6 h2 q, R4 C% N4 R+ e
Sub A()' C6 N1 [3 I  o5 R3 S
    Dim F As Integer, P( ...+ R. B! N9 k( q: Y4 s) S% y- |
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
0 l0 n: R: U0 `
非常佩服您,非常感谢您的无私指导。1 t& I+ B$ i7 U' a: V& q1 D7 J) z7 ~
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
7 \7 K) N. C" o9 }参考这个帖子 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 )

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