没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
22页
利用VBA自动提取CAD图纸明细表并进行数据库管理.pdf利用VBA自动提取CAD图纸明细表并进行数据库管理.pdf利用VBA自动提取CAD图纸明细表并进行数据库管理.pdf利用VBA自动提取CAD图纸明细表并进行数据库管理.pdf利用VBA自动提取CAD图纸明细表并进行数据库管理.pdf
资源推荐
资源详情
资源评论
.专业整理.
自动提取 CAD 图纸明细表及数据库管理的研究与实践
本文 TAG:工程图 明细表 自动提取 AutoCAD 数据库管理 2008-10-21
作者:尹胜安 出处:e-works 阅读:1582 推荐:0
本文详细介绍了如何开发应用 AutoCAD 来自动提取 CAD 图纸明细表及管理数据库,其切切实实的
为设计工作节约了大量的时间。
制造企业工程技术人员在利用 CAD 进行产品设计时产生大量的 DWG 文件,每一个 DWG 文件中包含
一张或数张图纸,设计的基础资料如:工程项目、图号、设备(物料)名称、型号规格、材质、数量、
重量、备注等等文本信息都记录在图纸标题栏明细表中。设计工作完成后,工艺编制、成本预算、物料
消耗、物流采购、计划调度、车间生产等项管理业务都将依据图纸进行操作。在通常的管理中,各业务
部门往往通过人工的方式从 CAD 图纸或纸质图纸明细表中获取技术文件数据,再利用 WORD 或 EXCEL
进行手工二次录入,编制各自需要的明细表、经过汇总,生成相应的报表,并在此基础上产生工艺技术
文件通俗简称为(工单),按不同的用途也有的称之为物料消耗单、物料清单 BOM 等。这种单页面的文
本制作方式虽然使用了电脑操作,但并未能摆脱繁重的手工录入和编辑工作,不能进行数据的自动处
理,存在图纸与制表数据不一致、差错率高、工作量大、编制周期长、效率低下、查询繁琐、数据不能
共享等多种弊端。因此,采用自动提取 CAD 明细表与进行数据库管理的方法是克服以上弊端提高企业设
计、技术、管理效率和工作质量的有效途径。
AutoCAD 是 AutoDesk 公司开发的通用 CAD 工作平台,在机械、造船、电子、汽车、测绘、建筑等
许多行业中得到广泛的应用,其完善的图形绘制和编辑功能,多种接口文件,较强的数据交换能力,特
别是开放的二次开发功能给用户提供了有力的技术支撑。
Microsoft VBA (Visual Basic for Application) 是一个面向对象的可视化编程环境,它是由 Visual B
asic 派生而来,AutoCAD 内嵌的 VBA 提供了与 Visual Basic 相似的丰富的开发能力。AutoCAD 从 R14
版开始增加了作为 ActiveX Automation 服务器应用程序的功能,这是一个功能强大的接口,它提供了一
系列开放的对象,通过这些对象,VBA 应用程序便可以对 AutoCAD 进行编程控制。AutoCAD2000 及以
.学习帮手.
.专业整理.
后版本其功能进一步扩充,强化了 AutoCAD 与数据库的通讯能力,能够使 AutoCAD 与其它应用程序
(例如 Microsoft Excel、Word、Access)直接共享数据。它是对 AutoCAD 进行二次开发的一种强有力
的手段。
笔者以 AutoCAD2004 为背景,应用 VBA 开发工具和 Access 数据库技术成功地实现了自动提取 CAD
图纸明细表与进行数据库管理的研究目标并取得较好的实用效果。
一、自动提取 AUTOCAD 图纸明细表
工程技术图纸的右下角区域一般都布置着标题明细栏,记载着图形总体和明细的特征信息和基本技术
要数,它是所有派生技术文件的信息源头和依据,CAD 图纸继承了这个惯例。我国国家技术标准 GB/T10
609.1~2-1989 对图纸标题明细栏的形式、内容、尺寸都作了具体规定。虽然各企业图纸标题明细栏样式
不尽相同,但大同小异,基本结构一致。标题栏记载着图形的外部信息,明细栏记载着图形内在的详细
要素和彼此的关联。
(图一)
明细栏由若干明细行组成,明细行则由各栏目组合。自动提取 AUTOCAD 图纸明细表的信息其实质就是针对明
细行对各栏目进行提取数据的操作。提取明细行数据的方法概括起来,通常有坐标定位法和块行取值法两种:
1.坐标定位法:即先点选起始明细行左下角坐标与末尾明细行右上角坐标所在的位置,确定提取数据的区
域范围,对该区域范围内的所有实体对象进行逐一扫描 ,读出文字对象(TEXT、MTEXT)的(X、Y)坐标属
.学习帮手.
.专业整理.
性和字符串属性。通过文字对应坐标值的分析确定该文字在明细表中的位置,实现自动提取数据的操作。这种
方法对单图的 DWG 文件效果较好,但对多图的 DWG 文件和不规则的标题明细栏操作起来就很复杂且取数的
精度也较难控制,实用效果不够理想,这种方法对以往标题栏未作规范要求的老图纸其作用显而易见。
2.块行取值法:即利用 AutoCAD 块行属性特征来提取明细栏的信息。
在 AutoCAD 内部对象模型(AutoCAD Object Model)以层次结构组织起来,顶层可编程的 Application 对象
启动 AutoCAD 应用程序的一个实例 ,通过 Application 对象定位到其它对象 ;第 2 层是 Document 和
Preference 对象,Document 对象代表当前在 AutoCAD 应用程序窗口中打开并操作的一个 AutoCAD 图形文
件,Preference 对象对应于 Preference 对话框包含 AutoCAD 当前的配置信息;第 3 层是 Document 的集合对
象,如 ModelSpace,PaperSpace,Blocks 对象等等 ,通过集合对象我们就可以访问当前图形中的所有实
体。
块行取值法主要使用集合中 Attribute 和 Block 两个对象。具体设计明细行时,没有格式限制,唯一要求就
是必须使一个 Attribute 对象对应明细行中的一个栏目项,将对应明细行中所有栏目的 Attribute 对象组合在一
起放入 Block 对象中,该 Block 对象就是用户定义的块行(明细行)。将定义好的块行依次插入(复制)到图
纸标题栏上方,组成图纸明细栏。其操作如下:
·绘图→块→定义属性(图二、图三)
·修改→对象→属性→块属性管理器(图四、图五)
.学习帮手.
.专业整理.
图二
图三
图四
.学习帮手.
.专业整理.
图五
图六
Attribute 对象是具有交互功能的一种标签,含有 3 个配置项:Tag,Value 和 Prompt。
Tag 项是该 Attribute 对象的标志符,即 Attribute 对象的名字。例如 Tag 设置为"件号",表示该 Attribute
对应明细栏中的"件号"栏目。
Value 项表示 Attribute 中包含的真实数值,如某个具体的件号值为"001"。在定义 Attribute 对象时,由于
初始明细栏目中的具体内容不确定 ,则该属性一般暂不输入数据 。待块行建立后其输入的数据就存储在
Attribute 对象中,这样通过程序访问 Attribute 对象的 Value 属性就可以获取其中的数据。
.学习帮手.
剩余21页未读,继续阅读
资源评论
- weixin_401466062022-07-27资源内容详实,描述详尽,解决了我的问题,受益匪浅,学到了。
a66889999
- 粉丝: 35
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功