QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4226|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:9 g) i( d. f1 R6 n4 `

* C7 d/ c4 I( \  O5 h打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
1 T' r7 U7 y% }/ A' O' N 1.gif , U# N; }. ?* n9 M

: ?# D9 o; x" p9 @在VBA编辑器中写如下代码
9 W! D2 V8 c& @5 O/ y& W, O---------------------------------------------------
5 N  D4 A+ x2 h1 g! Y6 A6 uSub A()0 u+ j' s* g6 t4 B4 d
    Dim F As Integer, P(2) As Double
' x2 z6 |  }- T. P    F = FreeFile()& Z8 V& y- h3 t
    Open "E:\1.txt" For Input As F7 H) V& V% D- n/ L. Z
        Do Until EOF(F)
% M! x% _1 J+ u6 ^7 G            Input #F, P(0), P(1), P(2)/ x  m- n' K3 v+ ^5 e" C
            ThisDrawing.ModelSpace.AddPoint P: |* F9 G: B& M/ B
        Loop" ?" q/ Y7 }( L3 I" _% `+ l" y# W
    Close F
/ g3 s" m: V$ P, E3 h0 [End Sub
2 N0 n2 r3 h$ p! Z3 ^+ l0 d! b---------------------------------------------------2 G  O, v* E: L8 z
. z9 R7 n3 R- r' r% f/ B
下面的代码也可以
* R7 p, H# c/ L---------------------------------------------------) ^, Q% h1 |5 L/ q9 i
Sub B()6 _; v1 U2 l6 X9 m+ u" G7 M+ L# W
    Dim F As Integer, S As String
! L; Y6 l9 |8 c$ j" j1 s2 _9 o    ThisDrawing.ActiveSpace = acModelSpace- |# J) z/ E7 i, {( _& Y, z
    F = FreeFile()
2 t) f4 \0 h6 w( u    Open "E:\1.txt" For Input As F9 l# m, {, Z$ Z
        Do Until EOF(F)
8 F4 \0 r# Y6 M/ r& U. D            Line Input #F, S
6 O3 U  V" r4 W  j            ThisDrawing.SendCommand "point " & S & vbCr
3 ?0 u5 m3 T# Z8 `" Y        Loop
; @0 b  A. d% J  M    Close F
" i9 o; H( b2 `$ U; g8 v8 IEnd Sub9 k$ S0 u5 @8 I! u. ~
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
4 u9 b7 N% e. K2 e) n, }我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
7 O* A- ~8 B* d9 K  t/ v3 P( Q" V8 j( A2 |; H) B
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
. N5 x% b: s2 x3 b974246; T) T; i2 r& g+ U# ~4 x

& E& U, m& u8 [. d+ J在VBA编辑器中写如下代码: R- u8 E/ I" }5 \  b: l$ F
---------------------------------------------------
, \4 D6 }1 M9 k8 p& m9 \1 q) nSub A()
3 Z0 V9 |0 L' c9 e    Dim F As Integer, P( ...' O9 a+ z  n; t) S1 l! x! C- V! ?
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

( c0 f) L4 g  ?非常佩服您,非常感谢您的无私指导。9 h7 s9 i* s5 t
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese   r4 d( a" ]& Y' |$ y( T3 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 )

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