明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3715|回复: 8

(已解决)VB读CAD中的文字

[复制链接]
发表于 2010-5-5 12:38:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-5-9 14:23:35 编辑

大家好,我刚刚到这里,以前用VB做EXCEL和WORD方面的应用,没有接触过CAD编程。

请给我一个VB调用CAD的例子,希望有如下的完整内容:

1、打开一个CAD文件(如:C:\TEST.DWG)

2、用DEBUG.PRINT列出文件中的所有单行文字与多行文字的内容。

3、关闭CAD文件

希望能用VB写,不要用CAD中自带的VBA。

谢谢!

发表于 2010-5-5 21:55:00 | 显示全部楼层
我想知道你想得到文本块还是纯文本。
 楼主| 发表于 2010-5-6 08:13:00 | 显示全部楼层

谢谢回复。

我不需要读文本块的内容,想得到的就是所有文本的内容,如果文本读出来还包含格式信息都不要紧的,不需要您额外写代码整理成纯文本内容,只要读出来的数据含有文本的内容都可以的。

希望能得到大家的帮助。

 楼主| 发表于 2010-5-7 20:55:00 | 显示全部楼层
本帖最后由 作者 于 2010-5-7 21:16:48 编辑

一个同事让我帮他写一个程序,把一个工程中的所有图纸的电缆统计到电子表格中,

所以我临时注册提问题的,请斑竹把这个帖子收回,问题已经解决了。

发表于 2010-5-7 22:20:00 | 显示全部楼层
请教是怎么实现的呢?
 楼主| 发表于 2010-5-9 14:11:00 | 显示全部楼层

我没有做过CAD方面的编程,为了帮助同事,首先要解决的问题是能工程图纸中的文本读出来这个问题,所以就注册了一些CAD论坛发帖子问(有的CAD论坛现在都不让注册)。同时自己也在网上搜索和看一些编程资料。参考了一个VBA,自己写了一段代码,但不理想,第二天在《博学论坛》http://www.boxuesky.com有热心网友“wuyunpeng888”(CAD二次开发板块的斑竹)答复了我的这个问题,得到下面这段代码,经过试验,很正常。

在这里,感谢关心本帖的网友。我把它贴出来大家共享,希望大家在技术上别太保守,只有互相交流技术才能更好的突破。

Option Explicit
Public cadApp As AcadApplication, cadDoc As AcadDocument
Dim ent As AcadEntity
Private Sub Command1_Click()
On Error Resume Next
'连接CAD
Set cadApp = GetObject(, "autocad.Application")
If Err.Number <> 0 Then
    Err.Clear
    Set cadApp = CreateObject("autocad.Application")
End If
cadApp.Visible = True
'打开DWG文件
Set cadDoc = cadApp.Documents.Open("C:\TEST.DWG")

' 安全创建选择集
Dim SSet As AcadSelectionSet
Dim fType(0) As Integer, fData(0) As Variant      ' 选择集过滤器
Set SSet = cadDoc.SelectionSets.Add("Example")
If Err.Number <> 0 Then
    Err.Clear
    Set SSet = cadDoc.SelectionSets.Item("Example")
    SSet.Clear
End If
fType(0) = 0: fData(0) = "*text"
'选择文字并输出
SSet.Select acSelectionSetAll, , , fType, fData
If SSet.Count > 0 Then
    For Each ent In SSet
        Debug.Print ent.TextString
    Next
End If
SSet.Delete
'关闭文件
cadDoc.Close False
Set SSet = Nothing
Set ent = Nothing
Set cadDoc = Nothing
Set cadApp = Nothing
End Sub

发表于 2010-5-21 22:46:00 | 显示全部楼层
学习了。谢谢!!
发表于 2012-8-30 20:56:42 | 显示全部楼层
非常感谢,无私奉献,共同进步
发表于 2012-8-31 12:35:28 | 显示全部楼层
不错,学习一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:56 , Processed in 0.186396 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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