明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3428|回复: 16

关于读取文本的紧急求助!

  [复制链接]
发表于 2005-3-16 20:45:00 | 显示全部楼层 |阅读模式
我现在急需要将文本格式(比如hac.txt)的数据根据X,Y坐标和半径Radius调到CAD里面画圆,请各位帮帮忙! 以下是数据的格式.其中"MaximumHeight"是没有用的. X Y MaximumHeight Radius
-38 0 11110 0.0474054054054
-38 0.44 11110 0.0474054054054
-37.6189488223 0.22 11110 0.0476319763759
-38.3810511777 0.22 11110 0.0471788344349
-37.6189488223 -0.22 11110 0.0476319763759
-38.3810511777 -0.22 11110 0.0471788344349
-38 -0.44 11110 0.0474054054054
-38 0.88 11110 0.0474054054054
-37.56 0.76210235533 11110 0.047667027027
-38.44 0.76210235533 11110 0.0471437837838
-37.2378976447 0.44 11110 0.0478585473464
-38.7621023553 0.44 11110 0.0469522634644
-37.12 1.03087894124e-015 11110 0.0479286486486
-38.88 1.03087894124e-015 11110 0.0468821621622
-37.2378976447 -0.44 11110 0.0478585473464
-38.7621023553 -0.44 11110 0.0469522634644
-37.56 -0.76210235533 11110 0.047667027027
-38.44 -0.76210235533 11110 0.0471437837838
-38 -0.88 11110 0.0474054054054
-38 1.32 11110 0.0474054054054
发表于 2005-3-16 21:39:00 | 显示全部楼层
  1. Sub ReadTextDrawCircle()
  2. '数据文件位置
  3.        Dim File As String
  4.        File = "d:/program/vba/data.txt"
  5.        Dim txtLine As String
  6.        Dim Center(2) As Double
  7.        Dim Radius As Double
  8.        Open File For Input As #1
  9.        Line Input #1, txtLine       ' 读第一行标题行。
  10.        Do While Not EOF(1)       ' 循环至文件尾。
  11.                Line Input #1, txtLine       ' 读入一行数据并将其赋予某变量。
  12.                Center(0) = Val(Left(txtLine, 20))                   '圆心的X坐标
  13.                Center(1) = Val(Mid(txtLine, 21, 20))             '圆心的Y坐标
  14.                Radius = Val(Right(txtLine, 20))                       '半径
  15.                ThisDrawing.ModelSpace.AddCircle Center, Radius         '画圆
  16.        Loop
  17.        Close #1
  18.        ZoomExtents '缩放到全图
  19. End Sub
 楼主| 发表于 2005-3-17 16:14:00 | 显示全部楼层
实在太谢谢老大了!终于搞定了!再谢谢!
 楼主| 发表于 2005-3-17 18:15:00 | 显示全部楼层
File = "d:/program/vba/data.txt"
这一句可不可以改成由用户打开并寻找txt文件呢?
发表于 2005-3-17 22:36:00 | 显示全部楼层
可以啊,在实用函数栏目中找吧。
发表于 2005-3-18 09:51:00 | 显示全部楼层
CommonDialog1.Filter = "文本文件 (*.txt)|*.txt|"
CommonDialog1.DialogTitle = "打开文件"
CommonDialog1.FilterIndex = 2
CommonDialog1.ShowOpen
File = CommonDialog1.FileName
发表于 2005-3-18 14:52:00 | 显示全部楼层
在此感谢二楼的先生,帮我解决CAD与*.TXT连通问题。


------------------------------------------------------------------------


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 CQY
 楼主| 发表于 2005-3-18 18:07:00 | 显示全部楼层
如果再把修改过的CAD文件(全是圆点)怎么导出到txt中呢?
 楼主| 发表于 2005-3-18 18:38:00 | 显示全部楼层
我改了一点,可出现了错误了,怎么办? Sub ReadTextDrawCircle()
'数据文件位置
Dim File As String
CommonDialog1.Filter = "TXT文件|*.txt|DAT文件|*.dat"
CommonDialog1.DialogTitle = "打开文件"
CommonDialog1.ShowOpen
File = CommonDialog1.FileName
Dim txtLine As String
Dim Center(2) As Double
Dim Radius As Double
Open File For Input As #1
Line Input #1, txtLine ' 读第一行标题行。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, txtLine ' 读入一行数据并将其赋予某变量。
Center(0) = Val(Left(txtLine, 20)) '圆心的X坐标
Center(1) = Val(Mid(txtLine, 21, 20)) '圆心的Y坐标
Radius = Val(Right(txtLine, 20)) '半径
ThisDrawing.ModelSpace.AddCircle Center, Radius '画圆
Loop
Close #1
ZoomExtents '缩放到全图
End Sub
发表于 2005-3-19 09:15:00 | 显示全部楼层
在窗体中插入CommonDialog控件,添加CommandButton控件: Private Sub CommandButton1_Click()
On Error Resume Next
Dim File As String
CommonDialog1.Filter = "TXT文件|*.txt|DAT文件|*.dat"
CommonDialog1.DialogTitle = "打开文件"
CommonDialog1.ShowOpen
File = CommonDialog1.FileName If File = "" Then Exit Sub
Dim txtLine As String
Dim Center(2) As Double
Dim Radius As Double
Open File For Input As #1
Line Input #1, txtLine ' 读第一行标题行。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, txtLine ' 读入一行数据并将其赋予某变量。
Center(0) = Val(Left(txtLine, 20)) '圆心的X坐标
Center(1) = Val(Mid(txtLine, 21, 20)) '圆心的Y坐标
Radius = Val(Right(txtLine, 20)) '半径
ThisDrawing.ModelSpace.AddCircle Center, Radius '画圆
Loop
Close #1
ZoomExtents '缩放到全图
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 10:19 , Processed in 0.192453 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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