QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
系统
[系统通知] 平台第一个项目外包——项目拼多;正式上线,欢迎各单位个人有外包、设计、采购、加工需求的,在此寻找更牛的解决方案
2021-07-01
查看: 3953|回复: 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 | 显示全部楼层
参考下面例程:
- N3 G# T" \5 P( p9 Y. |" |' W' L! t
! M. L5 y5 N. o8 k* i/ \& x4 ]打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
. I) a8 u  x2 d; s/ ` 1.gif 0 N) |* ?0 }# w% W/ Y* \; d
* P9 C  t# o! E; r
在VBA编辑器中写如下代码- Z3 ^# }7 _" j6 V
---------------------------------------------------0 V& Q2 h, q$ N& e/ P, |
Sub A()" n- ]- B( C. }+ x
    Dim F As Integer, P(2) As Double0 f% @4 p0 b& ^6 v7 s$ m
    F = FreeFile()
' q+ F1 E+ ~! X2 D! C) Z: r    Open "E:\1.txt" For Input As F
  H* d8 g7 h* e, _        Do Until EOF(F)
) W3 B2 {+ P6 H; E% v" V0 }3 F            Input #F, P(0), P(1), P(2)- F% ?( F& ^6 Y3 m' j
            ThisDrawing.ModelSpace.AddPoint P/ V2 E+ {6 U: ~3 n4 P. @
        Loop9 L! w2 K$ a% X! \
    Close F% T; ]# P5 S5 t) q4 U4 t
End Sub: D- H) `% A* n$ P) ]
---------------------------------------------------) }0 J( j" p0 H, u6 c$ Y& w

* I6 T3 k* ?! Y  G7 }0 h" ^下面的代码也可以
- c. Y- L4 J- ]---------------------------------------------------; t8 q' S) [, w' J, a& x! h; m
Sub B(): Z! u! Q+ G7 A# I& J+ g; b
    Dim F As Integer, S As String
& c, P9 {- C9 F    ThisDrawing.ActiveSpace = acModelSpace
3 _8 Z- n  P* ~    F = FreeFile()
3 w, f7 v8 l4 G: m' \" Q3 R& e    Open "E:\1.txt" For Input As F
/ V& Y2 A. d* v: U. n* K* N        Do Until EOF(F)
( T$ g' P8 V9 q. [3 I7 S3 M- ~$ d5 ^            Line Input #F, S& N$ J: Y2 k. z! v2 c
            ThisDrawing.SendCommand "point " & S & vbCr
9 a+ a! J  n' ~7 M6 r        Loop' [3 J6 H% L. O
    Close F5 H2 A2 ?! A' \6 v7 I
End Sub
9 S8 q0 J+ d7 ^* M' I3 I---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!& y' J, g5 \# D; Y
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层
参考下面例程:
7 W3 n' k- p# a. V+ R& q7 S+ z% N! K) j6 r  v
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”' o7 P5 M. |% v& o$ W/ q
974246$ q. L& v/ t! c9 k

' {" q4 V$ D9 b7 V6 ^  I5 F在VBA编辑器中写如下代码
* a( T0 O7 R  |2 h, ]- z---------------------------------------------------& D% A9 Z* p" \4 N) I$ J
Sub A()
! ~; J3 ]. ~. O  e6 A    Dim F As Integer, P( ...
; Q, J2 @- s# Z+ R# s; E" twoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

' e5 ]0 m+ e% G: g+ s; F9 R( d; \+ }+ B9 F非常佩服您,非常感谢您的无私指导。
" C+ r( ~+ Z( ^- L# V2 Y  ?3 L想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层
6# bsese
4 l9 B- p  x, y) S/ B参考这个帖子 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 )

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