| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1796 人关注过本帖
标题:[求助]求一个用vb读取dxf的简单程序
只看楼主 加入收藏
lpc9999
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-25
收藏
 问题点数:0 回复次数:1 
[求助]求一个用vb读取dxf的简单程序

高手们帮帮忙啊! 从dxf中提取直线的点坐标并建一个文本保存起来

如要读取C:\Documents and Settings\LPC\桌面\1.dxf 把坐标保存在新建的C:\Documents and Settings\LPC\桌面\1.txt内

越简单越好啊!

搜索更多相关主题的帖子: dxf LPC Settings Documents 
2007-04-25 02:27
lpc9999
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-25
收藏
得分:0 

手上有一个程序不怎么看的懂.高手指点下,还要加点什么?

' ReadDXF从DXF文件中提取指定代码/值对。
' 该函数需要4个字符串参数,一个有效的DXF文件名、
' 一个DXF区域名称、一个在该区域中对象的名称以及
' 一个列出代码的逗号分隔符。
'
Function ReadDXF( _
ByVal dxfFile As String, ByVal strSection As String, _
ByVal strObject As String, ByVal strCodeList As String)
Dim tmpCode, lastObj As String
Open dxfFile For Input As #1
' 获得第一个代码/值对
codes = ReadCodes
' 在整个文件中循环直到找到"EOF"行
While codes(1) <> "EOF"
' 如果该组码为"0"并且其值为"SECTION" ..
If codes(0) = "0" And codes(1) = "SECTION" Then
' 这必定是一个新的区域,所以获取下一个代码/值对
codes = ReadCodes()
' 如果该区域为所要寻找的区域..
If codes(1) = strSection Then
' 取得下一代码/值对并且..
codes = ReadCodes
' 在该区域中循环直到找到"ENDSEC"
While codes(1) <> "ENDSEC"
' 在这个区域中,所有"0"代码表示一个对象。
' 如果发现"0"就可保存对象名以便以后使用。
If codes(0) = "0" Then lastObj = codes(1)
' 如果该对象是所需要的对象
If lastObj = strObject Then
' 在代码的前后加上逗号
tmpCode = "," & codes(0) & ","
' 如果该代码为列表中的代码..
If InStr(strCodeList, tmpCode) Then
' 添加它的返回值。
ReadDXF = ReadDXF & _
codes(0) & "=" & codes(1) & vbCrLf
End If
End If
' 读取另外的代码/值对
codes = ReadCodes
Wend
End If
Else
codes = ReadCodes
End If
Wend
Close #1
End Function

' ReadCodes从打开的文件中读取两行并返回一个两项的数组:
' 一个组码和它的值。只要在读取DXF文件能同时读取两行,
' 则在处理时不会出现问题。然而,为了让你的代码更加可*,
' 你可以增加一些附加的出错及纠正检查。
'
Function ReadCodes() As Variant
Dim codeStr, valStr As String
Line Input #1, codeStr
Line Input #1, valStr
' 修剪代码中的前导及后随空格
ReadCodes = Array(Trim(codeStr), valStr)
End Function

2007-04-25 02:29
快速回复:[求助]求一个用vb读取dxf的简单程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015717 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved