QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
3天前
查看: 4138|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
  e7 X9 {7 m0 i6 W& L% k
+ n7 u6 ?7 M( _; k! {/ z+ R打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
6 Z8 z+ Q/ {6 ^6 A  [7 d# L 1.gif & u5 R7 \$ W/ W1 ]4 X: \( w, p; N; x' n
/ }* d" [( b) c; v2 J2 c
在VBA编辑器中写如下代码- q8 _7 [, B1 k
---------------------------------------------------
* m4 m$ y4 w" T9 E/ n; ?! |8 ]( ?Sub A()7 d8 |2 i& F3 k8 J$ m* a
    Dim F As Integer, P(2) As Double- a# {- v8 c7 n3 P0 b2 P
    F = FreeFile()
5 h! P4 K# d: p    Open "E:\1.txt" For Input As F8 ]5 c. A8 T$ t+ h, D' P
        Do Until EOF(F)- _8 ~4 Z: O, D  X" h
            Input #F, P(0), P(1), P(2)
- N: z2 [, K4 {            ThisDrawing.ModelSpace.AddPoint P
3 O3 O5 {8 L  Z7 D6 G        Loop
7 |/ a; F3 e$ W. T( C    Close F
; ~; f( V2 Y$ I( SEnd Sub
& h9 b8 W* i8 q( ^# [---------------------------------------------------
' s; I  Y5 E, s, i$ O# f  w3 p: j+ i5 y5 x3 l' M" E
下面的代码也可以
! D9 d2 i8 m$ V& q% m) X0 G---------------------------------------------------  G  x$ Y. G" S4 C6 J
Sub B()) }7 n7 B4 [2 }0 y0 X& P' t
    Dim F As Integer, S As String
0 p7 D/ h' n' Q) ^& e( o    ThisDrawing.ActiveSpace = acModelSpace
' O0 Z- Q9 x9 g/ v  d! R1 Y; H    F = FreeFile(), Y. Z* ^0 a$ a3 \2 v
    Open "E:\1.txt" For Input As F. d* e: y3 m" A8 l3 y- m& x
        Do Until EOF(F)
4 S  `/ j, }! h, v8 U5 I1 U            Line Input #F, S
/ `1 y8 z6 C% ]7 C; s; Z# s- l            ThisDrawing.SendCommand "point " & S & vbCr2 X7 g& U5 [5 R: n, a
        Loop9 ?8 u! K; P' J& b- q& o2 @
    Close F7 q5 g  d+ ^6 E  L; S2 ?
End Sub7 i( v& P7 l' l. I3 V
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!0 P  a. ?6 D0 W3 `( V' Z' s: ^# i
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
% u: c) ]5 B& x' k, t
" k. B! ?' o' t: L打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
: n8 d& t# ^& c- p0 z974246! n9 [: m- Q3 {& h/ g4 x+ }, v

3 O) e" \2 \1 H/ o8 b* h: z在VBA编辑器中写如下代码
3 O' Q" l9 G- \/ z/ E+ A---------------------------------------------------4 m4 B: ^1 N9 I- o: @! a
Sub A()" ]5 j& o% t1 o4 K& I
    Dim F As Integer, P( .../ S  S# E( F' e8 q% ^" _/ e" p
woaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
  ?1 p8 S% r' O/ C- k/ j( k; n2 U+ b9 g
非常佩服您,非常感谢您的无私指导。
8 P2 t3 e! G8 S" T7 \% m  I. h想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
0 W! [' q  Q1 _! f& i0 Z参考这个帖子 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 )

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