QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4229|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
+ q( ^2 f3 a) ?0 r9 H5 }2 j1 l4 V5 G) D) p% @
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”! B" N0 \; J; K9 f9 _, R8 C
1.gif
, w7 X6 g9 r$ {' |8 O/ }* V0 o$ O! r
在VBA编辑器中写如下代码
6 d6 P$ F6 G; T" I) T---------------------------------------------------# m% _$ h5 Z4 e% n, j- J8 q
Sub A()( u7 f# t, O/ `5 R. }+ w
    Dim F As Integer, P(2) As Double
) L- E; G! r$ k- V. p& a    F = FreeFile()
) [4 Y" `2 e! t    Open "E:\1.txt" For Input As F- j" j) [- W9 t" ?7 Z( e
        Do Until EOF(F)9 L5 z+ T) W) ~
            Input #F, P(0), P(1), P(2)4 i& O" w1 H; \7 K
            ThisDrawing.ModelSpace.AddPoint P$ ?4 P" I7 z/ X6 @% Y
        Loop
# P' P/ `/ S; Q0 M" b& E) G    Close F
8 o9 O# ~: h) b7 g: yEnd Sub
) _4 G8 ?0 D/ Z4 ?---------------------------------------------------4 X7 w$ K. i) E' c4 y
. ~9 l! p. q: g4 y- o! v
下面的代码也可以
1 `5 }, [, N/ i- k) v---------------------------------------------------
# o# K8 r9 W' `& A$ HSub B()1 q0 m; S* }& D) c  W
    Dim F As Integer, S As String1 }: A7 s! {/ C& |9 O+ X6 N
    ThisDrawing.ActiveSpace = acModelSpace2 F6 ^2 A& A: ]( G, n
    F = FreeFile()( U! V& k8 B) d0 A, g* ]3 ^/ ]
    Open "E:\1.txt" For Input As F
5 _- p. j4 g& i7 D        Do Until EOF(F)0 T4 C" C1 K: |
            Line Input #F, S/ e  |" N* k' l; M5 c7 C4 K9 q
            ThisDrawing.SendCommand "point " & S & vbCr
  k. K. m9 D& Q; P        Loop% @6 ?0 g( C# R. S$ V  @; ^
    Close F
% ?* F8 O! }) s+ K% PEnd Sub
# w- O5 t- V: R/ i1 I! ^---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!! ^& o" m2 w( G8 d' ?
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
2 E+ U  d4 d+ _  U0 Z1 |& J
5 b0 c9 ]' j) a/ m打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”, A0 c# K( w/ k! `$ {
974246
0 z7 k. g, N4 a# i
" F6 t) k: i$ q8 t( T2 A在VBA编辑器中写如下代码
$ I! C: _. \2 b. w  h---------------------------------------------------$ t) [. v1 Y  B' |
Sub A()
2 d' O1 r& }# i7 l7 ]) O2 P; |4 x! o    Dim F As Integer, P( ...# ?) M, K- s. |4 Z. c
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

: e$ I4 c9 s; p3 q, p* |非常佩服您,非常感谢您的无私指导。
* U+ O8 z4 F, ~6 r) z想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese : S% b8 ^: d1 l! j/ a* t3 v
参考这个帖子 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 )

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