QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 4209|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
/ ]! V7 f. w5 T! t
/ E3 R# t& a2 D打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
; D+ X2 v( H6 o/ c" m4 J8 V& L 1.gif 1 u1 a. N9 g8 g2 [1 k. i0 x6 @

* I( ?( X$ I: E* m4 s( {在VBA编辑器中写如下代码, c! ?& F; H  Y8 u- ^6 {# }
---------------------------------------------------9 X( n$ H- R; W* c, ]
Sub A()
1 l+ b. i' [, x% o+ e! w9 C% ^    Dim F As Integer, P(2) As Double
& W5 V' b% F% \6 C) R: _0 W    F = FreeFile()- k- a6 f5 `5 b& m) i/ i6 N% M1 W
    Open "E:\1.txt" For Input As F
+ v' G$ f/ m; N8 {1 O        Do Until EOF(F)
+ f$ s+ B. l7 C7 L8 j8 h$ d6 V            Input #F, P(0), P(1), P(2)8 X; d. c9 D. W) ~
            ThisDrawing.ModelSpace.AddPoint P
0 q. A" V  y! \4 O        Loop
0 ?, b( |4 p) ^# }1 J2 ~5 S    Close F
# T2 K8 S0 [, J" VEnd Sub
* h( l+ T; x7 Z$ x) a/ V0 \0 L---------------------------------------------------1 I& R9 J0 c5 I1 z

$ T# |% A- n; f. s9 \: C下面的代码也可以
/ A4 Y" b3 R! z0 }5 A---------------------------------------------------1 m3 y0 T- R% _& S; A4 _2 ^
Sub B()9 I) k1 d! Z* z& \
    Dim F As Integer, S As String
9 c( d- `3 q' r/ M) s: S" ?    ThisDrawing.ActiveSpace = acModelSpace7 G, a% V- o( K" Z& [0 X
    F = FreeFile()# `+ p8 l! ^: {" j; C+ h9 `' H2 A
    Open "E:\1.txt" For Input As F! E* f1 \1 L% P$ ?; x
        Do Until EOF(F), k" C6 Z1 Y3 ^) |% T( c  E
            Line Input #F, S
& O7 X$ b. {9 Q1 @            ThisDrawing.SendCommand "point " & S & vbCr$ z. @3 v, |& N8 s* v2 }
        Loop
3 r& {. A3 b/ _! Z* n0 j4 D9 u    Close F
; \# |1 y1 N8 [; i& ]. f" D! bEnd Sub
. N$ r6 W- A4 u7 p5 ^: T' q( w. E---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

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

2 k0 q7 g, g$ g0 a. j# K打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
) i) ?9 u1 _( J9742465 v9 M2 H9 E8 m8 m
2 [( {( Y5 k" N: q9 e$ N: s% O
在VBA编辑器中写如下代码
2 p. u' L  v$ b- s---------------------------------------------------
% ]/ g) p" \! _( W0 qSub A()6 E2 N  f8 {7 |0 }) E& G0 h
    Dim F As Integer, P( ...
5 v0 v4 }, S$ lwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

* K6 i  r8 {, U非常佩服您,非常感谢您的无私指导。
* a0 t; s7 P( i" [想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese $ D( m3 a8 `0 w
参考这个帖子 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 )

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