QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 4204|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:& p+ |# ?' W+ r7 a1 F$ D9 [% R

7 ^2 K2 P, @6 u; M' x0 [打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”) a  X! m5 ~* S; ~/ @
1.gif   A; v( A4 T' Q

- f2 Y1 Y: m4 u/ W7 P# _$ t8 z- `在VBA编辑器中写如下代码8 z5 |& g3 T! x
---------------------------------------------------- S, S2 K1 P8 e% i" t
Sub A()3 N4 W* y% d2 N& Y
    Dim F As Integer, P(2) As Double
7 X2 V0 R- F/ Y    F = FreeFile()
$ _( g1 `$ l; ]0 |3 j" K5 e    Open "E:\1.txt" For Input As F" H% i' X  \- k
        Do Until EOF(F)
! ^$ q( g0 |) B            Input #F, P(0), P(1), P(2)$ V" y* i6 C% w$ a8 o
            ThisDrawing.ModelSpace.AddPoint P, }) [0 V, ~6 q& E+ [
        Loop( Z  p) d; |1 Q0 i. ~4 i) p
    Close F
2 A# G/ Q8 S% K% k$ _End Sub
" W3 r& P3 I$ T1 m* Z$ K6 m; h* D% m---------------------------------------------------
% ^2 X+ N$ m" ?2 S7 \( ]2 a+ Z, ]" A2 s  u4 w2 ?8 j: Q3 `
下面的代码也可以6 K5 q/ e$ w  X$ m4 D- ?5 B
---------------------------------------------------/ r9 w) u' c! r& s# ~& C" B  Z$ N9 e
Sub B()
! y) p. ]1 |- |2 U! y3 b    Dim F As Integer, S As String- s2 w" K6 |2 q
    ThisDrawing.ActiveSpace = acModelSpace' t* \2 ^: @4 w' i$ e/ g
    F = FreeFile(), p$ A2 o2 I, r, r" C! z
    Open "E:\1.txt" For Input As F0 L- C/ Q9 V- q8 J/ f
        Do Until EOF(F)" k( G& x7 d' y/ o
            Line Input #F, S
' C2 t  b! |' B# q# M: u            ThisDrawing.SendCommand "point " & S & vbCr
; U7 k/ v" y! X8 F# Q# _        Loop
" U* m- o; g5 a" D6 G5 e" `    Close F
, y2 j- ?% l6 J/ kEnd Sub5 D+ G: f2 G  _/ e% ]- v
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
: a" k& i1 F( b8 P0 m# Y( j8 c我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
6 C9 T! S3 N2 M: m. ^" p$ h# B) i7 d
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”; y' e: y- W6 j: G8 h3 U
974246) t, j2 Z' X/ O3 ]# g3 F+ |  s9 R# p5 X

. W; _& @7 j! }) Y在VBA编辑器中写如下代码+ ?* J3 L- f, P# U, B6 \4 o
---------------------------------------------------4 y7 o5 f8 }) G+ P/ G) C# V7 J
Sub A()
% b9 F! i" o! |, Z  H0 W& q    Dim F As Integer, P( ...
  x8 K% }7 D" B# h+ Mwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
" J: u* b2 r; H9 B6 \! V
非常佩服您,非常感谢您的无私指导。, b  e+ x- E- W9 t3 d: m- r
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
/ d1 i) e; G/ I% ?参考这个帖子 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 )

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