QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4227|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:4 H' a. @4 r0 j2 I

0 X$ t; K* |7 D7 l( f: z打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”0 c) \5 {3 B5 g$ r0 e2 v+ ?4 X
1.gif # h3 x/ T# H5 f3 S& f  A

' d- z+ |  H$ n$ x/ H% K( v在VBA编辑器中写如下代码2 j& [' C$ A! r$ W
---------------------------------------------------- u: ?4 F  J9 l* Z
Sub A()
# X# t  I! K6 ]. X4 D! s    Dim F As Integer, P(2) As Double
" \( _- h0 ^3 X* B# N    F = FreeFile()
  D( R' f/ s; @5 H! F    Open "E:\1.txt" For Input As F7 O/ H6 _1 k" H6 [8 X- ^
        Do Until EOF(F)* q6 H9 \6 `4 {) E
            Input #F, P(0), P(1), P(2)3 e, }. Z* p. s! D9 f/ }, c, P. y
            ThisDrawing.ModelSpace.AddPoint P
& j2 }( x, i: c+ u7 M        Loop
. h# C+ D  k8 J, G    Close F
4 Y$ {  L% @% q$ J% hEnd Sub8 \: H; {9 Z5 {# Y( _' E
---------------------------------------------------
1 M7 _7 |4 i/ q- X* M) H5 |; @& o2 m8 n) P- y% p" t. a* \
下面的代码也可以
7 ~7 J% {1 f" b- N+ z---------------------------------------------------8 F3 r5 e6 g! }( W4 D8 }1 `0 B
Sub B()1 `  ]/ u# B* f9 e- G
    Dim F As Integer, S As String
. Z2 B7 ^9 v* J/ P/ K2 M* k6 c    ThisDrawing.ActiveSpace = acModelSpace- v6 R( ^8 m: T0 P2 c$ @
    F = FreeFile()
/ F# }3 y9 V) d$ i& h' L    Open "E:\1.txt" For Input As F
' w" N0 y* q  a& q0 X9 l5 k" x        Do Until EOF(F)- X# ]; P, M2 ?  Z8 J; J  R& `4 n. o
            Line Input #F, S/ M; S5 F/ B4 f' V7 A3 K
            ThisDrawing.SendCommand "point " & S & vbCr
3 v$ @( n8 T0 p+ ~1 _( ]* s) \        Loop8 B* F. R' i2 i! ]1 r! L
    Close F
* b! o6 u, B5 f. @3 oEnd Sub, \  e1 [% ~6 ^+ w( P( w6 L( D
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!( U6 Q! _( @. `- \; M( R
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
" r" }  l0 u- E; E1 R. d5 \, D* R
2 v% |9 J* @$ ]& y打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”( Q0 m/ Z; A; `  c% x* w5 A" X
974246( Q* c! ~: ]) L5 W. }: M; c% Q' S
* x. [: [4 n% r  u& ~. I
在VBA编辑器中写如下代码- H4 Z8 B! o" W2 P4 v* O& u+ g
---------------------------------------------------  t* I% k, h* k0 X5 A( G
Sub A()
$ Z8 Y0 O$ }3 n, W) K    Dim F As Integer, P( ...9 ^6 |5 |) p3 }. j# \9 {5 h
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

* _$ X4 e& d9 L' w非常佩服您,非常感谢您的无私指导。
/ o/ u4 |2 h5 C9 x想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
4 m5 d  e* o  a/ h; G  e参考这个帖子 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 )

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