QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4253|回复: 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 \2 x7 I% ?, |! ~

0 n1 k% \) y$ Z- V打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”7 _$ Q& x( |2 {: D
1.gif
' L5 d4 y. J* P
* W* j8 t4 P* e  f* |6 k; e在VBA编辑器中写如下代码7 C( m$ T! b6 G0 K( b( h
---------------------------------------------------. Y/ H# A0 P. `" ^
Sub A()
+ ?* K* l" H6 l$ K, O4 o# `( K$ ]    Dim F As Integer, P(2) As Double
: r& B8 t$ m' \* B. s+ t    F = FreeFile()" L% [, Y9 g% W8 L: p$ w
    Open "E:\1.txt" For Input As F" C5 M# V+ O9 J- x, ^# ?% Q
        Do Until EOF(F)
: U9 Z  N$ H3 a            Input #F, P(0), P(1), P(2)- i3 N  R  X' G( o
            ThisDrawing.ModelSpace.AddPoint P
, I0 [1 w( A, H; `        Loop$ h* P2 d4 R% e! t6 p
    Close F
8 X( P3 m) f; X9 d9 oEnd Sub) h5 z0 ?) |* d  H9 E
---------------------------------------------------
4 O7 g; d1 P( O' o- y
. D- M- U: o8 [" U, `# I& _下面的代码也可以( N+ s4 I9 z3 I
---------------------------------------------------. M" ]3 {3 f! [% u% C8 M
Sub B()/ \2 `3 O2 G6 ?: t% Z, b
    Dim F As Integer, S As String
& V  w6 A+ O  z; a3 |  [    ThisDrawing.ActiveSpace = acModelSpace& h) S; ]5 O3 }, |% \
    F = FreeFile()
' e, D% @. ~3 l: h& f8 H7 L+ J    Open "E:\1.txt" For Input As F! f% ]* a. L% N4 @; d
        Do Until EOF(F)3 H! O& Z. s" H8 }, A" ?( p
            Line Input #F, S  R6 X4 F# v9 }# M' C
            ThisDrawing.SendCommand "point " & S & vbCr
' [& f2 v; g3 S4 |) \; r        Loop
8 A: O; l" D) y    Close F
( {5 M5 b9 ^! ^4 x, x, d& `End Sub* i) _# k  W+ W# U
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
  k; d. B* ?" c( E我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:7 F3 u' S5 G1 u, L( e) \" }
) n+ s3 F7 v0 G2 H+ S
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
7 g# _, d' L7 h+ w. r" d. W974246+ _) O5 A; J! o& W' i; ?; K( b0 c2 x

7 `/ s1 v7 o/ |* l4 z在VBA编辑器中写如下代码" F2 O/ L1 ?  v9 m
---------------------------------------------------
  w! ]" P8 l* h7 ~% N% i+ L$ f" ^& HSub A()
( Y" }7 \& w  x1 U/ a    Dim F As Integer, P( ...
3 G9 O" a( S9 X$ U& s; q8 Pwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
' E2 L6 ]" V& v' O0 x- B8 C9 T; B
非常佩服您,非常感谢您的无私指导。7 N5 r8 m4 a. E6 F. V6 G
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 7 |3 S, n& z+ o
参考这个帖子 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 )

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