QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
3天前
查看: 4136|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:* k% F% b! ]) v% H5 H  o
& j, ]# [7 ^% }( R  h( o
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”* V6 j9 W' {7 ^( S/ g; N3 o5 f
1.gif
2 f6 ^4 P. ]: d/ `4 [7 d
  x( {" z5 `0 U6 z! @9 x在VBA编辑器中写如下代码
! C! R0 G8 }" N4 l' J. s8 l% T---------------------------------------------------
9 C! P  j* l& E8 ySub A()1 @! O$ N* ]/ y5 E
    Dim F As Integer, P(2) As Double; C' X. |. O3 }5 m& Q# K
    F = FreeFile()8 M; x- ?( _% X) b. n
    Open "E:\1.txt" For Input As F
5 I1 u7 U9 \$ {: |; l* B3 D        Do Until EOF(F)1 V. t" w6 z3 x) [  H+ t# A' c
            Input #F, P(0), P(1), P(2)8 _/ W' d+ q. Z1 \
            ThisDrawing.ModelSpace.AddPoint P+ y- G4 A# l2 V: L( p( i
        Loop
& W- ~  w5 n# d% q    Close F
* \* E) F* z  h3 KEnd Sub6 k1 I& v$ W  @
---------------------------------------------------! [" e6 U% T% V. P8 a

) F" g4 W  A/ K下面的代码也可以
8 i# s% h5 w& B" U. l---------------------------------------------------
, h. A  z( l4 A4 QSub B()* K) k& e; o! `0 T( X3 X
    Dim F As Integer, S As String
* L+ I& A2 I' H& C: n5 Q  X    ThisDrawing.ActiveSpace = acModelSpace6 o* h+ C( P  G7 O6 w: Q
    F = FreeFile()
6 C% V, r  z% S* ?3 C4 Y    Open "E:\1.txt" For Input As F
' k' u/ I) t0 y        Do Until EOF(F)
% G' l5 j$ _& L# \+ |- a: y            Line Input #F, S
) h4 g  g9 c& N: |/ P: f$ N            ThisDrawing.SendCommand "point " & S & vbCr
4 V. m; V4 x& I3 M        Loop/ g2 t' C7 `. @1 P$ n
    Close F; t5 q( T4 i2 @) ~& B7 x5 [) V2 w
End Sub
9 J4 D+ J) C, {+ ]# [, Q6 ~---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!1 p  \, }$ n; n4 {
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:1 ^% [" R: Q. C: q

, s& g% I7 t$ _' a- [打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
  p0 p7 y- E$ x  ]9 O. @974246+ l& d% |! h8 i2 R  z

' f0 r1 j0 l- k在VBA编辑器中写如下代码1 G6 w! b* p- @% U; G
---------------------------------------------------' A; z7 B+ ^# T2 M2 ?9 L5 B: `9 h
Sub A()
* a2 C( x. g4 ^    Dim F As Integer, P( ...4 Y  ?% }. O! @# n2 b# b
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

3 x; ]! @0 ~& }0 Q) I$ E8 W9 O非常佩服您,非常感谢您的无私指导。% _( m: k# H1 n4 g# R9 G8 [
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese : W0 h0 o/ ]$ R2 \: ^2 z% }
参考这个帖子 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 )

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