QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4215|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
1 i# p+ O& _. |6 s% L; K" t! d3 @) @3 E8 x; k0 v
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”2 x5 U, ?! ~6 X
1.gif
2 k# W/ g! J0 f
5 j5 }1 e. o4 x- {在VBA编辑器中写如下代码, X+ u2 A7 O1 r& E9 p3 v
---------------------------------------------------
8 u7 Y+ d& H; h8 _Sub A()
' N' a% Q# G2 U- w* h5 |2 ~    Dim F As Integer, P(2) As Double- q6 r2 j: Y# X% g6 S" ~
    F = FreeFile()
( g& a. y: O6 D6 {$ p) a' n    Open "E:\1.txt" For Input As F6 o" z$ P* k3 o
        Do Until EOF(F)% K' B1 n( f# r) l- P
            Input #F, P(0), P(1), P(2)
6 n+ R/ f( e  c1 s+ i9 m" c            ThisDrawing.ModelSpace.AddPoint P+ G8 p6 F. g2 \% W
        Loop5 i: o# z( W5 j
    Close F4 {! R# M8 I# F2 ^5 d
End Sub7 Y8 E4 f3 {0 a" h1 E
---------------------------------------------------+ M; R' d" T6 I9 i
+ Z# U6 }) Q: `1 w& f
下面的代码也可以  ~/ z1 O- @  p. l5 K! e
---------------------------------------------------  o, o- c- n  T  {' c# w
Sub B()
. \/ u2 G6 q  E# n( w, v    Dim F As Integer, S As String
- b$ c2 S* }- d  N9 |    ThisDrawing.ActiveSpace = acModelSpace
5 D$ T# ]; @7 r& p9 M! ~! I    F = FreeFile()
* a) w( z- M. F8 I7 S1 U% u    Open "E:\1.txt" For Input As F: `7 k: @6 C& t. A' e
        Do Until EOF(F)+ d! k/ g" z7 V( p
            Line Input #F, S
/ R' Q2 P% k3 T/ h$ U            ThisDrawing.SendCommand "point " & S & vbCr
% r  }0 a! f2 z        Loop
6 ^# O7 u+ @% G0 y5 ?8 v* Y- Q8 g    Close F+ }# S6 t% L6 Q/ o0 o
End Sub! `: i# I& W: i5 {6 _5 w+ H0 E4 p$ ]
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
' G5 M( G) k7 Z. s3 o" _8 S我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:
0 u: X5 N1 G! {8 B
4 R% Y: y+ ^1 T* {" ?打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”3 t( j& F) e1 w+ p/ J' U. {/ c
974246
% ~5 g. {- z- s5 \. k  m) o8 ^& l- T6 v$ X8 @7 i5 K2 O* H, M7 C
在VBA编辑器中写如下代码
; S5 G/ J, Y' P  Q---------------------------------------------------
  Y  C! S0 [$ R5 iSub A()
; B# ~2 E$ m& ]; I    Dim F As Integer, P( ...
7 }& i8 G+ i. Z+ Iwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
- f# u6 S) L8 n/ U
非常佩服您,非常感谢您的无私指导。- e! j3 U9 Q. q$ Y$ K1 p" V
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese
! Q+ P/ u0 r) M7 U4 x' @/ 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 )

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