QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4258|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:% s" m) T2 A0 j0 _/ e$ `3 ~" ^
5 M& k5 K- P4 u7 L" V6 g  O0 x
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
1 i1 Q# X9 j) r9 u* ~( L 1.gif / z9 D. }# |4 C) r+ A

1 A1 L$ u  t8 w. X3 ]- o在VBA编辑器中写如下代码& I1 Q+ _) H/ L7 u0 p, X
---------------------------------------------------6 X! Y( `! P% M* Y# G
Sub A()! G5 w& _  _! V" O+ |
    Dim F As Integer, P(2) As Double
# T- |$ t# D/ z' a    F = FreeFile()! y! S/ d2 g0 Q6 [3 b+ I
    Open "E:\1.txt" For Input As F) c0 s4 ?+ i( U8 V7 G. B" X
        Do Until EOF(F): L; \/ |; x; v& v# f
            Input #F, P(0), P(1), P(2); G$ c+ `3 ]6 p2 Q3 z. c  Z4 T3 e
            ThisDrawing.ModelSpace.AddPoint P3 u. b3 u. a) g9 }# @
        Loop$ t; F: R" X- z( s! f, H
    Close F
2 n6 j2 i  e( m0 n1 C& P* J0 bEnd Sub
$ Q& G3 s7 \9 Q$ _8 ?/ D8 g6 I---------------------------------------------------
9 v* m9 M( @" P; |  c' n
7 w9 H$ A( y/ u" U  W4 |. C下面的代码也可以
) E1 Z% w( U' `+ _0 J, K* a---------------------------------------------------
! R6 E% o" _( ?) A' m0 cSub B()
6 k5 K; U8 E, ?9 @1 S- O    Dim F As Integer, S As String2 e# I5 K, K% d0 ?6 Y- }5 v
    ThisDrawing.ActiveSpace = acModelSpace% ^! d0 c" k3 q7 S
    F = FreeFile()
2 D( x3 f/ {2 f/ w3 G6 @    Open "E:\1.txt" For Input As F
8 F# c9 q, m6 T. G1 w0 f* Y        Do Until EOF(F)
) U0 O8 e# ]& ]" O1 _" t5 y            Line Input #F, S+ V4 K2 p6 s# |
            ThisDrawing.SendCommand "point " & S & vbCr; Q/ M8 h" a) ?) S0 f8 p
        Loop
. N2 a+ C3 a2 Z9 {    Close F
2 O( N6 g7 q* b0 U% B+ bEnd Sub# l6 u: A$ R8 h7 `
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!6 v, O2 n! q6 Y7 l3 i3 E+ h$ b
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:9 z% i2 }  K% h9 t& l
3 C$ u4 n* i+ k+ y
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”/ ?' X9 W3 n" V7 E. y; r  G/ A
974246/ x: g2 f! J  Y1 }1 J% \

8 o8 R2 W$ d- k* r" ?在VBA编辑器中写如下代码
! }8 R3 Z* M% G# q% d4 ^+ x---------------------------------------------------
  g8 @$ @7 _* z7 [5 aSub A()8 G& d/ I2 E- F/ K/ D
    Dim F As Integer, P( ...
- O8 l5 R, T* a9 t  s) u6 pwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

& @. @1 y0 A: y5 K/ Z# P( L非常佩服您,非常感谢您的无私指导。/ S0 m3 Z/ S. b9 b2 |# l4 S
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese # {' [0 ~  y4 m5 }
参考这个帖子 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 )

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