QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 3957|回复: 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 | 显示全部楼层
参考下面例程:, ], f6 h0 F5 _0 E. u8 p6 r  t

2 N) ?4 i1 b0 q) I& {* a) _打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
/ b% V: x3 C2 Y) F6 Z! ^8 q7 l 1.gif 7 N2 g1 e, p+ {3 K, s8 ]' }$ F
  u8 D! j( A+ A6 K8 i- m. H0 |2 L
在VBA编辑器中写如下代码0 Z+ `+ {! W6 p1 X$ g# v
---------------------------------------------------6 G. |: M& _6 L* H8 B) J
Sub A()
1 ~! W- f7 u( d7 W: L    Dim F As Integer, P(2) As Double
& T- p4 o5 X1 {5 z    F = FreeFile()& M3 u# V! b; l/ O
    Open "E:\1.txt" For Input As F8 x" G8 n- W  v# T
        Do Until EOF(F)$ m' v2 n" h% o" m8 J
            Input #F, P(0), P(1), P(2)* y! @* g5 B- N, r' E! P2 O0 E) H
            ThisDrawing.ModelSpace.AddPoint P. `% {# [+ k' U  I6 E% s# R) |+ A6 y
        Loop7 X' p, F$ r; Z# \$ B
    Close F
& M% a1 X2 Q$ Q' \* K- f* yEnd Sub
! e" |- {1 p! u% y6 `; R: f# M8 `8 A---------------------------------------------------) [9 x" J6 F! D8 {: i0 Z) c

" @# u9 l& b% X" r$ J5 m* M* w" Z下面的代码也可以) }. T; K  N7 ]0 T' m. k3 G, G6 F
---------------------------------------------------0 M9 S; x% _& N% j+ ^, s7 m
Sub B()
# z& T, P& Z* m% e    Dim F As Integer, S As String2 `0 [! ?* Z4 B% p# c
    ThisDrawing.ActiveSpace = acModelSpace: a' _& O" D8 n' Z
    F = FreeFile()
1 E, q# C! u/ z  u& N1 ~0 p    Open "E:\1.txt" For Input As F
. W7 G% s/ a% _" x4 g0 }        Do Until EOF(F)$ z" I. \* f) x
            Line Input #F, S* C* a) \, A- x! {8 i
            ThisDrawing.SendCommand "point " & S & vbCr
; H* z7 i6 v! l8 y        Loop% ?7 _+ g& @7 Y
    Close F" Q8 t! @) }$ P( l3 ]0 Z
End Sub; b# ], C5 _; }5 N5 L0 C: C
---------------------------------------------------
 楼主| 发表于 2008-9-11 21:45:46 | 显示全部楼层

回复 3# 的帖子

太厉害了,佩服!佩服!!没想到回的这么快,谢谢!% D! v+ M9 m% z$ F( q5 h
我还想再深入的问问:还是txt中的许多点的坐标值,并且每个点都有唯一的编号与之对。我要问的是,如何在modelspace里用vba程序生成一个个球体零件,每个零件的编号与点的编号对应,球的中心就是点的坐标值?
 楼主| 发表于 2008-9-11 21:57:47 | 显示全部楼层
哦,刚才忘了说了,是在mdt里,而不是在autocad里生成与点一一对应的零件
发表于 2010-7-17 19:23:43 | 显示全部楼层
参考下面例程:
- d5 z1 U3 T! u" h; m2 \
4 e$ z& n: `; S* t打开Windows记事本,写入点坐标(如下图)并保存为“E:\1.txt”
: q! b1 W5 v& p% ]974246
! [- r& }1 |- |6 n5 T: Y# G; m) o# ]7 }5 v. D
在VBA编辑器中写如下代码
$ n0 K8 ]0 I: x/ r8 b2 K, R---------------------------------------------------
3 J$ @: I/ |2 S! O: f% w* ySub A()
/ j8 `5 d6 @/ F4 J2 b/ `. g    Dim F As Integer, P( ...
2 R6 ?9 m8 ?3 d: s) T1 Zwoaishuijia 发表于 2008-9-11 08:29 http://www.3dportal.cn/discuz/images/common/back.gif

: c- b: I" c4 ?+ d! t非常佩服您,非常感谢您的无私指导。- f5 o+ E, ]( {6 S# q
想再请教一下:如果三维点数据不是来自文本文件“E:\1.txt”,而是来自Excel文件“E:\1.xls”中的Sheet1;那么,VBA代码要作如何的修改呢?
发表于 2010-7-18 05:43:38 | 显示全部楼层
6# bsese
( I6 M, d+ G3 O$ }" u参考这个帖子 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 )

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