QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
系统
[系统通知] 平台第一个项目外包——项目拼多;正式上线,欢迎各单位个人有外包、设计、采购、加工需求的,在此寻找更牛的解决方案
2021-07-01
查看: 3952|回复: 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 | 显示全部楼层
参考下面例程:6 B) C+ v+ ?1 Q
1 c) I* ]1 u. v" ]! i; ?
打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
0 k7 m6 ~/ V& W% h: R/ j; z5 Q 1.gif 0 n8 t9 s' p+ V$ R% `
1 q( {+ R! d, ]# I3 z0 L2 X/ Q8 n
在VBA编辑器中写如下代码: m* `2 y; t6 `' ~0 }& Z
---------------------------------------------------2 r" P' Q- m; F% [' W
Sub A()
; ^( z1 p+ \% p! M    Dim F As Integer, P(2) As Double  T1 d" Y) |0 \! \
    F = FreeFile()- z% S# ^1 u9 \# v  d2 N* i/ Q+ x: W4 k6 z
    Open "E:\1.txt" For Input As F: Z# n7 _& V* h3 i' S3 U& n2 F: A" p
        Do Until EOF(F)% h7 z1 J4 C; l: q7 W3 I0 h
            Input #F, P(0), P(1), P(2)
  P6 u1 n2 e) `            ThisDrawing.ModelSpace.AddPoint P9 k. b1 G3 o' `- p- ]+ m, }
        Loop
' ?: h) }' q" ~7 @0 H- N9 j6 Z7 n+ f    Close F0 ^2 e/ d, w) a- ?
End Sub7 z/ _" L' ^2 {0 B! m
---------------------------------------------------
' a4 m4 S5 M2 _# b* F4 V1 ~4 J. p7 {
+ `" A- c1 G! G5 `1 j下面的代码也可以7 S' M1 h5 _2 Q% S: u
---------------------------------------------------: [0 [" O# A5 E7 W# j5 ]
Sub B(). m- V  Y1 q% w: @, Q
    Dim F As Integer, S As String
' m* p- o1 v* {3 l    ThisDrawing.ActiveSpace = acModelSpace
+ e! J5 r/ V4 Z: W- b% ^: C6 |    F = FreeFile()% ?9 F: v3 c7 M" Z% x% l5 Y" ]2 V
    Open "E:\1.txt" For Input As F
4 ^4 ?- C4 U' E, m6 R: I2 C6 ?        Do Until EOF(F)! a4 D7 Q7 f2 h( B
            Line Input #F, S
' w0 i3 l, o. R7 ?" n6 ^            ThisDrawing.SendCommand "point " & S & vbCr
, R; {8 R* o+ Y7 x7 L8 o: E4 L        Loop
- E1 \* e% R1 G! n2 @, L- E( I- D    Close F
0 W* O* o; ?4 tEnd Sub
4 Q8 g1 T, h: h9 t8 _7 T" y3 [0 O---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!4 G! M3 X" s. d4 u- {0 q$ M
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层
参考下面例程:
/ j5 `: n+ q/ k4 S
1 `3 t; \! N! s& M2 N) i' L2 `打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
: f+ `0 F0 r) n# W% n( K" h% W974246' {+ r: D+ a4 p: @, d# K& u
+ X1 j  W% d) @( f9 Q. ?& V: h5 X4 y
在VBA编辑器中写如下代码
( R3 ?/ a6 M# z* |+ o---------------------------------------------------
  ^9 v' Y/ \2 HSub A()7 F( N  |5 H. D$ N$ J" Z- N
    Dim F As Integer, P( ...
( i3 }4 [2 Q1 Zwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

0 t  y* P, x0 z, P% V1 B( B" ]非常佩服您,非常感谢您的无私指导。, t% y6 f: `( ?
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层
6# bsese
8 C- D, G7 o, S# f参考这个帖子 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 )

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