QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4094|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
' L* S9 q4 u2 p/ j: y( ?  h9 o
4 k# }9 U+ g3 \# Y+ s打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
' J/ S$ Z1 C, n* U' ? 1.gif ( _" y" n& b2 n

6 J1 R) h8 X8 _; L1 m& k在VBA编辑器中写如下代码
; h$ O/ W. ]& O, A0 r5 ?---------------------------------------------------- i5 \) g; j8 o4 B
Sub A()+ q- ~/ I9 |( y. {
    Dim F As Integer, P(2) As Double
$ Q. d$ K% [7 s; Y    F = FreeFile()5 I. i* t5 U' k/ g
    Open "E:\1.txt" For Input As F- t+ Q2 k- |3 L4 ]5 l
        Do Until EOF(F)- l6 f3 D3 k) J
            Input #F, P(0), P(1), P(2)1 z1 D) m( f) _: d3 h4 V
            ThisDrawing.ModelSpace.AddPoint P
! f2 S; G) ]" G4 O& {        Loop
, `5 Q3 f# s+ s& T8 T; a3 B' W    Close F' }0 W2 w. e' A) B1 Y: o
End Sub
, I+ ~( i% w0 p, _1 i---------------------------------------------------% C. T) E" L9 K  B3 V
( R9 f0 |4 l# ]1 I9 T) {3 n
下面的代码也可以
0 N, C3 a# E6 ^---------------------------------------------------8 D$ `/ U% Z* x: \) V  a
Sub B()! e8 T  I: ]# s  x# T/ e! s# O
    Dim F As Integer, S As String
7 M0 w  e! I6 o7 c# Z6 ?, O    ThisDrawing.ActiveSpace = acModelSpace
* i8 W8 X. O. x' f    F = FreeFile()
/ u! `& u$ s2 S9 Z( P  f7 U    Open "E:\1.txt" For Input As F# k2 o& u! q- r, a  a* |
        Do Until EOF(F)  X( c/ c( T( s0 X
            Line Input #F, S* e5 j* w- d' D& q: G
            ThisDrawing.SendCommand "point " & S & vbCr
5 q' B3 I& c2 ?        Loop
. p- O; P2 l, r) _  T4 F# s8 Y    Close F
/ V( s* y  G. T) }% W: KEnd Sub7 {2 K6 ?8 y. v/ Y* U; M
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!! Y& s2 P" X% K/ s. R: y6 `# O6 z# N
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:2 g- n- y, t- f" u- B
/ S9 |; e$ M0 W( M: `( g
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”1 \; I& L8 }6 _. j9 s8 O6 K5 y( |
974246
8 J9 X) Y" V/ m% l0 [! O7 P1 Q- }$ M; Y6 ~4 D4 f
在VBA编辑器中写如下代码
0 ^6 Z& w: L+ j5 s5 ~" d---------------------------------------------------: v! ]7 s6 a" {5 G! X+ z' Y
Sub A()- K/ G2 \) j' i
    Dim F As Integer, P( ...
- O8 L( P2 ^/ s9 H+ u) B/ Jwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

9 z' y2 ]+ ~# T$ v; y* q非常佩服您,非常感谢您的无私指导。) {0 L) N) g2 O, x0 e* V
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese ( J- H2 [) b5 s$ J% q- o. p. M
参考这个帖子 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 )

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