QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4228|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
# |* W  J7 c8 R- s' l* u0 L0 ]8 h2 m3 }0 k
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
! M% ?8 k! |+ y 1.gif $ y1 c" X0 c2 I$ Z, i' h

9 H) x- E+ ~9 \9 C4 i9 ]7 R7 K5 I在VBA编辑器中写如下代码6 y& c0 q4 n0 P
---------------------------------------------------# u$ S# i  e' X9 n6 D" w* `% s
Sub A()
1 n8 s2 M7 P1 T1 k8 }! |/ s    Dim F As Integer, P(2) As Double3 @/ w  i. x+ u4 u1 n" @# u5 g
    F = FreeFile()9 J3 R. Z1 E9 e, a- c' e) L$ M
    Open "E:\1.txt" For Input As F1 f* F3 }, ]& g% G; B' q8 e
        Do Until EOF(F)
% \# b, p% i% M            Input #F, P(0), P(1), P(2)7 r; j) G, c' r3 M$ u
            ThisDrawing.ModelSpace.AddPoint P
" h+ ?' e+ j' v. C; p        Loop/ _" r' x+ K/ j! H3 F
    Close F
$ |, s' h# C( MEnd Sub
( H6 x* _& d5 }---------------------------------------------------
& t0 B& U$ L- d5 z
  Z# q3 r1 E' a; @5 g" f' ^下面的代码也可以3 w0 t7 T; H- o( h6 u# l. [
---------------------------------------------------
' p& |7 O6 y' @2 S2 i# vSub B()
9 a6 N, L/ n! R! ]& w    Dim F As Integer, S As String
; R' k% f6 R( c9 D3 }' N8 g' p    ThisDrawing.ActiveSpace = acModelSpace
8 G  t% M# G0 ?    F = FreeFile()
! J8 x% w4 b+ K7 ]( f- L3 h# f    Open "E:\1.txt" For Input As F4 w4 _' X, i% ^
        Do Until EOF(F). s- d! F' x( f' k0 j( f
            Line Input #F, S. I/ b1 O( Z4 d% N' N2 l
            ThisDrawing.SendCommand "point " & S & vbCr0 m4 r+ N- s/ Y0 c! d
        Loop
$ p. H/ _( ?2 m  N* m3 f- @    Close F
1 j6 P1 @) R- ?0 H3 sEnd Sub8 K0 [4 `. O% i; h* p! ]7 j
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!2 E$ Y) i2 B2 _7 t# C0 e
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:6 z- s' v8 Y& f

; K- {/ e! P6 d+ A- o( _$ S2 \打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”( M' o, o$ d6 u1 `: K. m8 h
974246: J: G/ x' P7 I6 W& L, e+ S

+ G; N. N$ O5 Q  G7 i在VBA编辑器中写如下代码
5 Q  @$ V2 G" t  a% Q/ v---------------------------------------------------
( X9 E( Q0 k7 P( t1 `& o, tSub A()
% Z" o  \2 q1 y9 ~8 Q8 U    Dim F As Integer, P( ...
3 q9 l, ?: p/ D: p9 Awoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

3 z5 S7 k- L+ T% _5 s0 I! s非常佩服您,非常感谢您的无私指导。
  P! h8 w' v( w7 a! b; Q: ?想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
, J# `  ?" G) V7 c参考这个帖子 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 )

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