QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
4天前
查看: 4139|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
/ |- c  M- W8 `
3 o6 V0 I% A/ D- J7 o) e打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”0 W  `8 z# r5 @2 Z* \" [( v( w
1.gif ' d7 b0 r6 a! k* i1 C/ [- S- I: g
7 ]' ~3 q( G  I+ K
在VBA编辑器中写如下代码4 j% }3 J* L4 ?3 W
---------------------------------------------------
# y7 H, c, ]  WSub A()
/ d- j: V3 ?$ W) m( j    Dim F As Integer, P(2) As Double
! D" l8 a2 h5 H: n8 ]5 H    F = FreeFile()
* \, H( }4 {0 z7 z  A! q+ o    Open "E:\1.txt" For Input As F
3 x' \# q- G$ `# M' r' S        Do Until EOF(F)- M! S: Y7 W# e
            Input #F, P(0), P(1), P(2)( m; ~) f# ]8 x( l% z; R; o
            ThisDrawing.ModelSpace.AddPoint P
% U( l. }2 s& r7 o/ V, G) C/ o        Loop
! p/ W6 Z6 m4 l* n; k( B    Close F
; Y. n6 {$ Y- H- c- WEnd Sub
( C# G2 x& H+ t---------------------------------------------------- c- N) b; {; A; ?6 K
0 E& u/ Q0 n" `7 L9 j% b- d7 g
下面的代码也可以
6 g) A: b' W3 T, ?: ?; Q3 d3 b* Z---------------------------------------------------
3 f3 s2 V% G5 I2 ?; a0 G) }. f. b& K9 ISub B()2 Y; R$ x: p* n7 _# Y$ W: v6 ^
    Dim F As Integer, S As String
) C9 a. b' J: s" B/ K  O    ThisDrawing.ActiveSpace = acModelSpace
" `1 J% m! h7 @3 s0 _& S2 J    F = FreeFile()
. p; \& H4 w* R* f5 }2 a    Open "E:\1.txt" For Input As F/ G8 A- Y7 c% `9 [) P% a/ E. k" k
        Do Until EOF(F)0 c7 Y7 t$ @& C7 K  P
            Line Input #F, S
" k0 r7 M- Z8 u0 l, X# ?! \: w            ThisDrawing.SendCommand "point " & S & vbCr2 c- q$ i' G7 j! h
        Loop
9 n7 z8 {- @& x; ?% y$ w    Close F
! R" d, z! t) D3 aEnd Sub
, }5 u+ F# S# ?3 I---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!, z$ `4 l# e% Z9 a. U
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:0 S# ]! J- |) y  f8 ~7 |
0 }1 H6 X7 ~/ u( A" _% H
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”; ]3 j8 h2 I' c! \" f
974246
" u- ^8 ~8 Y) S4 @$ d2 J4 A
* F- m* f" m9 m9 c* u6 D. n在VBA编辑器中写如下代码. n/ W- P0 V7 p- W6 S9 {! L" O1 X4 r
---------------------------------------------------5 A+ {& [2 t6 Z: \7 Q1 r9 u. T
Sub A()
, d" ~$ ]9 b1 X    Dim F As Integer, P( ...
* E6 ?% n2 ~; \0 G: t% ?) L. Z" mwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
+ u$ [& |& i; {* ]$ A
非常佩服您,非常感谢您的无私指导。. d. ?5 J+ _  n. c6 e
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese ! h6 V+ I# K! y$ N5 W9 j
参考这个帖子 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 )

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