Autocad 2012 里面的图表有什么办法转换成Excel格式?

如题所述

将CAD中的文字或图表转入WORD或EXCEL的方法
很多时候,得到图纸的CAD文件,需要将其中的文字或图表特别是图表,打印成电子表格或文字,往往只好重新输入电脑,浪费时间.这是我在总结的一种方法可以极大的提高效率.
一、CAD方件中的图表,转成JPG格式。
具体的方法有多种,可以采用虚拟打印软件fineprinter或CAD自带的.
二、利用可以将图片格式转成文字的第三方软件处理。即JPG转成文本.格式.
具体操作方法:用方正OCR软件,操作简单,.
上述软件在网上下载。
三、另外,对已打成文本的图表,要输入电脑,只须用扫描进电脑,用上述方法处理即可.
四、将cad图形文件中的面域的实际比例导出成一个excel表

提供代码供参考
'工程请引用autocad2004 type library
'以下代码会求出"C:\test1.dwg" modelspace中所有物件之交点,请自行增加物件类别参考判定(If Typeof ** is xx then)
其它部分请楼主参考在Autocad中的VBA使用说明
'******************************************************************************
Private acadApp As AcadApplication
Private acadDoc As AcadDocument

Private Sub CommandButton1_Click()
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application.16")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.16")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
Set acadDoc = acadApp.Documents.Open("C:\test1.dwg")
acadDoc.Activate
acadDoc.Application.Visible = True
MsgBox ("Load OK.Press command2 to count.")
End Sub

Private Sub CommandButton2_Click()
Set acadDoc = acadApp.Application.ActiveDocument
Dim n As Integer
Dim obj() As AcadObject
Dim intPoints As Variant
Dim I As Integer, j As Integer, k As Integer
Dim str As String
n = acadDoc.ModelSpace.Count
If n = o Then Exit Sub
ReDim obj(n)
For I = 0 To n - 1
Set obj(I) = acadDoc.ModelSpace.Item(I)
Next
For p1 = 0 To n - 2
For p2 = p1 + 1 To n - 1
j = 0
k = 0
intPoints = obj(p1).IntersectWith(obj(p2), acExtendNone)
If VarType(intPoints) <> vbEmpty Then
For I = LBound(intPoints) To UBound(intPoints)
str = "Obj(" & p1 & "&" & p2 & ") Intersection Point[" & k & "] is: " & intPoints(j) & "," & intPoints(j + 1) & "," _
& intPoints(j + 2)
MsgBox str, , "IntersectWith Example"
str = ""
I = I + 2
j = j + 3
k = k + 1
Next
End If
Next
Next
acadDoc.Close
MsgBox ("OK")
End Sub追问

第一,我用了方正OCR软件 进行尝试,发现出现很多混乱字符需要自行校正,很不方便。
另外数据的准确性有待考究。
第二,这个软件是否需要付费?可以长期免费使用吗?

温馨提示:答案为网友推荐,仅供参考