QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
22小时前
查看: 4095|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:' i5 q9 V7 Y3 i8 O6 J

$ X$ C0 Z! L* e- z0 {打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
4 R9 ~4 f6 |4 b; A& o# N+ } 1.gif
6 M( \  ~# s/ Q6 s# m# C9 ]. h6 c( J5 `
在VBA编辑器中写如下代码
! D: R. \/ J; z/ h---------------------------------------------------) U3 y7 v* M; K  L* s4 ]% O3 A  X3 j( Q
Sub A()
* _8 I1 u; w3 P    Dim F As Integer, P(2) As Double% O9 }4 D8 h4 |, j
    F = FreeFile()" i/ ^' F6 F$ ^. l
    Open "E:\1.txt" For Input As F' Y  a1 R5 W6 W  i
        Do Until EOF(F)
: `! Z$ ?- t; y/ r5 _6 o            Input #F, P(0), P(1), P(2)
2 Q. U# [9 {" ]) L: m2 s4 E            ThisDrawing.ModelSpace.AddPoint P1 a0 u4 |$ M( o2 M3 A1 V  p7 H
        Loop: _6 O" W2 O& o0 b. X! T* Z' ]
    Close F
0 U' Z3 ~! z- N  K/ L: OEnd Sub
9 H* i% e6 M$ u4 e; V1 }# ?8 L% f---------------------------------------------------
8 a6 U8 M- P) ]/ G* \9 ?1 ~% d8 h5 R% T) }
下面的代码也可以
, E/ i1 c' Q  }6 N---------------------------------------------------
2 x4 `0 H: {7 d, E+ \; H: YSub B()
% I! K+ a: H4 a7 E    Dim F As Integer, S As String/ \# T; p, c9 q% }
    ThisDrawing.ActiveSpace = acModelSpace$ H% q7 Z+ u3 Q2 i& t
    F = FreeFile()  G1 e5 ?) s" A, D- v
    Open "E:\1.txt" For Input As F: s$ u! C, M* ^6 A/ d3 N
        Do Until EOF(F)% ~4 O( U1 I  D! C3 |: z, O/ a
            Line Input #F, S
& v% y3 N* X  F            ThisDrawing.SendCommand "point " & S & vbCr* p+ ]/ [2 t: {% h
        Loop( K! h  `: c7 f( N
    Close F
( J! q2 H8 ^( OEnd Sub8 z6 Q$ w( Y$ q. d" v' A
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
. N# ?& w  e/ N& y- u* Z我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:3 G1 S9 K- t9 v

3 B: s4 l: S3 ]* [. L* g打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”6 X1 b' @- \) s! n
974246- t+ W% \1 P- c+ ~( k+ @- q" K- _
7 S6 b4 X# u$ K& {+ t
在VBA编辑器中写如下代码) |7 {/ i/ i  G5 |
---------------------------------------------------* q  [9 Z1 p+ V, J, V
Sub A()$ o1 M! s, b9 B( s2 |8 _5 P
    Dim F As Integer, P( ...
" {: Q* S% d, L9 Jwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

+ M4 j) e! K' T% B) _% ^非常佩服您,非常感谢您的无私指导。( c) A9 I/ {" @1 }* W
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 1 W" }# g1 i" T+ ~0 t
参考这个帖子 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 )

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