QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4230|回复: 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) Q* \' {' p2 j
6 }: F* B+ g6 T. n2 M! ]
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”$ M" t0 h8 ]0 q3 ^' S: _
1.gif + w- w- b" a8 s& a5 p- }8 G
4 }* _/ |. @4 Q$ y
在VBA编辑器中写如下代码: K2 }$ h# P$ z- E2 j* B/ U
---------------------------------------------------. m! \+ j0 h# R
Sub A()7 W/ a0 ^6 [- I' N6 a$ q7 F3 f
    Dim F As Integer, P(2) As Double
. o0 M: |1 _: v5 u$ ?+ Y    F = FreeFile()
% K3 K7 C3 J. ^. Y; n5 n    Open "E:\1.txt" For Input As F
7 t8 m" L5 _% x4 {- A        Do Until EOF(F)6 j8 Y- f4 i6 @9 c& d
            Input #F, P(0), P(1), P(2)+ N+ }" N5 r: y) ]& c( i
            ThisDrawing.ModelSpace.AddPoint P5 [. L" l. d, V) U
        Loop
9 M9 U+ m. S* |2 Z    Close F" n* U  b* X& V" [5 U$ ~& ]) g5 t
End Sub: ?4 [; @6 \. X8 J5 \
---------------------------------------------------2 \  V, s+ R- i3 O. f3 ^

, ^* V) Y% y3 C' F" L( h下面的代码也可以
% r0 N- h) V3 Z- ~7 j* J4 `) F, e2 O---------------------------------------------------; }- x: L. U6 I, Y5 J4 d; V
Sub B()1 d( z! Y* K3 q; x6 F1 O$ w
    Dim F As Integer, S As String* R% [0 B: A) G) [- e: P
    ThisDrawing.ActiveSpace = acModelSpace
4 ]& V9 j2 d, O' w5 b# j7 Y    F = FreeFile()
/ H: N7 K" ~3 U! L( \- [  n    Open "E:\1.txt" For Input As F. _  e" c, u, ^! ~1 p3 l- ~; x
        Do Until EOF(F)
) l2 h- h' g: O4 U! |            Line Input #F, S5 q+ I" [5 u: g5 P1 h; a4 z5 ~1 P6 J
            ThisDrawing.SendCommand "point " & S & vbCr! o1 r4 U4 K7 j. e, \
        Loop
( R$ P6 q, Y6 S8 _) v    Close F2 N2 A2 V* {6 T# l# Y' F
End Sub7 n+ e+ L2 x! V2 T
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
5 \" B" R# ~* ~$ H我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
, h, x  o9 D* v" E  i/ Z# B, t0 O" ?# J
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
7 z  B, ?/ f1 V) }8 z3 Y+ J% f# w974246
; y4 l2 {, z3 M2 r" o3 k" R/ I! E4 b( N* F6 \
在VBA编辑器中写如下代码
8 W$ ~) V+ G% }: ~' M---------------------------------------------------' J  S$ F: a: V) v1 M( F8 _/ `8 \7 ^
Sub A()
% d  p; T" |% v/ F# E2 q3 ]! O    Dim F As Integer, P( ...
+ e1 F' D, g3 j( _1 B% Bwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

' R- M* c4 u' @- A' d: }: ^非常佩服您,非常感谢您的无私指导。% T# O2 Q6 p1 z- |
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
! W5 k) S' @4 W& B% r/ G参考这个帖子 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 )

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