QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4224|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:0 ~( ^* f, ]! n+ L6 B
# E+ Y, R( ~" R. Y% R6 [2 z
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
' Q  J% Q. q0 K  `+ ]1 M. f( O# p 1.gif 1 v# M& @3 m  W( ]

/ {! v+ D' J: j1 V8 k3 F在VBA编辑器中写如下代码# S9 ?8 D. [6 Z9 ~5 h4 J# w2 q
---------------------------------------------------. m+ l+ Z. d* ^; R9 W
Sub A()
+ P! [9 u3 z# D( r) i- Q    Dim F As Integer, P(2) As Double
7 k9 |9 w3 q# a) l2 u    F = FreeFile()
/ Y* I, |' j- c. V    Open "E:\1.txt" For Input As F8 _( e# S$ O: s+ ?0 Z' l' I, m! ?9 h
        Do Until EOF(F)% D( q/ ~' V4 H3 E. N
            Input #F, P(0), P(1), P(2). L( L% C* e' M& ], X
            ThisDrawing.ModelSpace.AddPoint P
. }8 g' d, z" J5 a3 b$ g        Loop
6 y( I$ o: Z# R7 `2 i    Close F
$ B8 r; t8 ~: a1 X+ [End Sub9 b1 f% d9 a5 }1 y0 F0 y5 [& J1 j
---------------------------------------------------
' {8 ?; K. Z# e& M) R+ _7 t) k5 y0 C/ H! J! L3 ~( O& h" A6 b
下面的代码也可以
; e( J. [) k! ~' `. U' K$ G---------------------------------------------------5 @# N6 p" Z9 ?/ T* b: Q4 R
Sub B()
" m2 o! G& j6 r$ W9 r    Dim F As Integer, S As String( G+ L, L) O7 h" P. b# ?8 M
    ThisDrawing.ActiveSpace = acModelSpace
6 C5 O/ \/ L1 A$ J8 g8 W    F = FreeFile()
. _% K. ]; t4 n    Open "E:\1.txt" For Input As F1 ^4 R2 {& |! y# J. f) h
        Do Until EOF(F)) n- n9 T. C' L5 u& s
            Line Input #F, S
( ]+ w! U7 ^; Y/ m5 R+ F1 K9 v4 {            ThisDrawing.SendCommand "point " & S & vbCr
. T3 E6 i# Z5 j' t2 [* l4 k1 }        Loop
: C3 W# G% t$ ]. ~6 y% }    Close F
7 u1 E% n' d9 L$ s* IEnd Sub
* \: r! ~1 r( y6 O! a' O7 g---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!. e7 i3 \' Z& P( k
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
( X, V5 a4 S, a9 M. x# D2 D, j) c4 _
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”8 s% A* v' J! z$ H4 T
9742466 i# c8 w2 e7 P8 @; p
$ O* \7 \, p4 y7 L* Q
在VBA编辑器中写如下代码. ]5 i+ C6 Y- f7 a* h
---------------------------------------------------
- a7 O0 |9 J% ^+ f, v; e7 jSub A()7 X: |6 z8 h2 H; Q3 u' Q
    Dim F As Integer, P( ...
3 c: N2 K* w: q& m4 H) pwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

4 J, c" k8 K# J3 _! Z2 z非常佩服您,非常感谢您的无私指导。. z* A& R; U' K& J6 c% ~
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese ) t6 ^* E* L8 ?( U7 U
参考这个帖子 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 )

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