QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 4234|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:4 h0 z) Y) `+ c3 Z( s; n2 u' @

' @9 m( n/ Q4 S打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
3 @. _+ d: A6 s" t  u3 F8 ]* ?4 _0 m1 H0 i 1.gif 6 O5 I  x# Y, D9 k5 S% R" |
; c( a, L7 r. E( I
在VBA编辑器中写如下代码" v. |2 Z4 x. `- [3 R/ B  `
---------------------------------------------------3 H  c: o7 B$ {7 w# @$ T& e  M
Sub A()6 {( o9 m2 f9 O' A+ H
    Dim F As Integer, P(2) As Double% p. a4 [. I7 P- O
    F = FreeFile()/ l3 e) I- [% Y3 |# H1 {# C7 B
    Open "E:\1.txt" For Input As F6 d; T5 I" u/ D3 f) d
        Do Until EOF(F)' x# g( w$ r- z# ~, r$ i9 T
            Input #F, P(0), P(1), P(2)
+ Z* C  j' G7 z            ThisDrawing.ModelSpace.AddPoint P( P+ K, E* T( @6 o( F4 U% P
        Loop6 k3 ?) U, s8 x0 F$ X
    Close F2 c, k( r6 U& |4 J
End Sub
! E5 ^# d; x. h8 T' N; `( P2 q---------------------------------------------------* U' H& J2 ~4 `3 X3 P& ?$ @
& |/ d& D2 ^+ O# w9 K3 }* A
下面的代码也可以7 S% }* X. J  i8 U, _% M  d3 A
---------------------------------------------------
0 A; f: R/ O1 Q& p, TSub B()
$ p0 ~6 I+ O2 U/ W9 e2 h4 Q    Dim F As Integer, S As String
0 D0 e1 K* c( d- Y$ ~& v7 X    ThisDrawing.ActiveSpace = acModelSpace$ c7 Z5 N+ ~( Z5 Y+ c
    F = FreeFile()2 B3 X7 C3 ~% v& N$ C9 ~
    Open "E:\1.txt" For Input As F
$ \" ?! h0 r3 E# |9 U1 p& m0 w        Do Until EOF(F)
2 j5 n/ y" h; S# v: V& m            Line Input #F, S* T0 n% ]0 a2 B& Y) {. O
            ThisDrawing.SendCommand "point " & S & vbCr" E1 o2 J5 D5 O" u! S8 _
        Loop
! g! j2 ]# [# n, ^8 C4 L4 }    Close F$ ?" L6 Y' W/ C3 N4 I2 i3 s* J
End Sub
1 R( k. G/ P% V2 D---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
1 O3 w, b: V$ |. _! Q9 w$ D我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
6 j8 H) v5 W5 A: E* u9 @& A
6 G- a, L/ [, H4 o打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
7 g7 j+ T8 D: b6 v+ h5 j3 O974246/ D# n+ B  v+ D9 z! A5 b) _, L
7 X, E' }0 d+ f( Z7 i4 ]
在VBA编辑器中写如下代码, g" e' u, [) x. S% I  [) f: a
---------------------------------------------------4 k, F8 ]  F: T8 P8 T
Sub A()/ t3 d/ j/ L$ Z6 k
    Dim F As Integer, P( ...
. h; I% X! }0 F, Qwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
" S. s3 x9 O3 L  P4 x  I8 J4 I
非常佩服您,非常感谢您的无私指导。
! n) {& k; a1 K  x, N$ ?+ c想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 3 [7 |$ S0 A+ L$ `' V9 Y$ S
参考这个帖子 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 )

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