QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4142|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
/ v5 h+ W3 R5 S& Z, U/ Q! {
2 I# f9 X( J* C! ]$ x打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”! Z% q6 W7 J  i' U9 b! V2 T. O
1.gif 7 F! d' o- p. L

5 r0 b- Z4 Q1 s$ M0 y在VBA编辑器中写如下代码4 M$ e& B! _) O6 Y7 |$ A
---------------------------------------------------
( t+ _4 k/ R9 K4 S; Q3 ZSub A()  \, E. V4 k; M* f6 Z6 F5 k8 P
    Dim F As Integer, P(2) As Double  W! N! p4 v( F1 F  h
    F = FreeFile()
8 N) s! ]  i! o8 S    Open "E:\1.txt" For Input As F' `9 B& N+ V# b3 v) r* k
        Do Until EOF(F)
% z4 S/ _" o' A) i) O            Input #F, P(0), P(1), P(2), ~# _0 r1 N3 Y
            ThisDrawing.ModelSpace.AddPoint P
3 x& ], n  ?, E$ q/ }6 ?2 T: J        Loop2 A3 o0 E3 @1 k* b0 |' ?
    Close F
  O2 d0 _% o5 K% H- G% _End Sub
( h! V7 K" O4 o8 i' ]---------------------------------------------------" V2 l+ V( G( P3 y; r) o
/ P1 w# O& S1 Q
下面的代码也可以
3 O  z$ N- @& _---------------------------------------------------8 }. E: z6 i. z- U( G( X$ E- L# g
Sub B()4 }" I' i# x8 v6 [
    Dim F As Integer, S As String
9 z$ d8 F# `. d: H    ThisDrawing.ActiveSpace = acModelSpace' J9 Z7 y7 U$ v. R4 U! k# q/ N
    F = FreeFile()" E# S$ L- q$ F6 |3 K
    Open "E:\1.txt" For Input As F5 b$ N' l0 U1 z. }0 ^- E6 m, U
        Do Until EOF(F)
' |# |7 A/ q: d            Line Input #F, S" q- @$ k4 j7 x# H
            ThisDrawing.SendCommand "point " & S & vbCr
, g/ K3 T, i3 t/ ~& H! r        Loop
0 k2 d2 [$ m( t% @$ p    Close F1 e- _( r: n3 n1 T9 Q: l: j2 A
End Sub- P$ K- f" V4 @
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!2 a3 ?) x: V/ f, d% z3 L, C
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
! g& J! v) E4 q) J- f1 w# L3 C5 w3 z
% O4 T; C0 ]. P0 H9 b/ E打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
4 ^7 b& K( W4 x( e5 p, n  ?974246# j; k& ^4 d: f$ d4 i  O
) ~- }1 n% t" d/ u/ ~! `7 h
在VBA编辑器中写如下代码
% ^6 T. S( t1 S. Z---------------------------------------------------
+ V, f! x" Z: N0 S' E5 j1 l9 HSub A()
- e8 y, m9 A( I8 t    Dim F As Integer, P( ...) U. Q, N0 O# h. y7 k
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

8 g, ^, T# J- ^3 [8 H1 E非常佩服您,非常感谢您的无私指导。+ a1 R7 w' w9 k& u* f
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese # h! A) e% |  B
参考这个帖子 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 )

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