QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 4208|回复: 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 | 显示全部楼层 来自: 中国辽宁营口
参考下面例程:
: t- s) j+ e. ?& x9 b1 ^
% b2 X' X3 f  U' l打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
* V$ J( k& a' D8 Q 1.gif
7 x' S9 W7 a: G% q* D7 s. w" x4 j6 W& z4 L
在VBA编辑器中写如下代码
# `' X8 Y5 p9 f  {6 d- q. G---------------------------------------------------
7 J1 X7 {: k, o6 G. eSub A()) x- y* F! C: t& L6 a1 t9 o7 e( {
    Dim F As Integer, P(2) As Double
+ v5 W! e. E5 u) D    F = FreeFile()
, s2 h% s1 m! q" A+ g' s2 Y    Open "E:\1.txt" For Input As F3 b/ ]0 x( F. _8 X, ^; }, `
        Do Until EOF(F)
/ K( Q# @* @  ?1 Z            Input #F, P(0), P(1), P(2)
/ a7 o# n3 r, f/ L/ \            ThisDrawing.ModelSpace.AddPoint P( p( F8 W0 B$ U% I8 B8 A2 ?& e
        Loop7 Q& I3 S% q0 b. f9 T2 H/ U
    Close F! |' u7 q" d. F5 c8 m# [
End Sub, O6 `# C1 `8 \  @
---------------------------------------------------/ Z2 `* a( X+ P; q& V

9 z# o  m$ n$ [% x5 i下面的代码也可以
( X* `: O1 N4 o* q/ H; U3 h---------------------------------------------------
; i: |: Q. l+ _8 y' d$ `! fSub B(), N! Y, I8 v$ E
    Dim F As Integer, S As String
7 f9 J4 C/ A6 |, C& e; Y& O    ThisDrawing.ActiveSpace = acModelSpace
' Q% D) h  x  c: I* }! B    F = FreeFile()
1 m! M4 v7 f4 T$ N0 @    Open "E:\1.txt" For Input As F
6 n. a) `3 Q$ y; T) S        Do Until EOF(F)
2 v2 x$ O0 |# L3 {            Line Input #F, S
0 z9 H' E9 i" R5 i4 V) Y$ C" Z            ThisDrawing.SendCommand "point " & S & vbCr
0 S' B+ n2 h; C        Loop  _+ q- @( f1 O
    Close F" I6 x. i9 U9 p# E- n
End Sub
' d. l- v2 z, O, M* K---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层 来自: 中国四川成都

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!
5 N( c  _- M! Z- a( M& W我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层 来自: 中国四川成都
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层 来自: 中国浙江温州
参考下面例程:/ F7 L  @# u8 B( W: c. Y* L& i
* u9 l/ A) j) d" O2 N; }
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”7 u* C5 |" n4 M
974246+ g6 I4 H" s' h9 B

  @( A1 A* n" L) L/ R3 j5 U在VBA编辑器中写如下代码
# i( U+ j+ a& s0 R2 C---------------------------------------------------
# [, t! c$ K/ b! BSub A()$ _: |9 g+ c  Z* U9 M; e; S$ A
    Dim F As Integer, P( ...
; U) r4 m$ P3 H( fwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif
* Y( o& ^0 x' s
非常佩服您,非常感谢您的无私指导。
& ?! u( M6 `, A/ \& v: R) K想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层 来自: 中国辽宁铁岭
6# bsese 8 f2 O- \$ a5 Y2 H( r
参考这个帖子 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 )

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