没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
VBA 自动提取 CAD 图纸明细表及数据库管理的研究与实践
来源:原创点击数:511
作者:碧海
摘 要:笔者认为:在企业信息化建设中,依靠软件商开发和购买大型管理软件是必要的,
但不是唯一的。信息系统的开发和应用切忌一味搞“大而全”、“高版本”,而应针对应用的具
体对象灵活的采取不同的开发方式。需要强调的是:充分地调动和挖掘本企业信息技术人
员的积极性和创造性,有效地组织他们去攻克解决企业信息化道路上的难题和开发实用型
专业化软件工具显得尤其重要,这才是企业信息化建设的真正动力和技术支撑。遗憾的是
这个问题也正是当前许多企业在信息技术开发工作中的不足之处。
一切管理软件都是工具,工具不是万能的,关键还是人的创新精神和责任心。因此能否
真正发挥软件的作用解决企业的实际问题,还有待于依靠企业领导、管理人员、信息技术
人员的同心协力,鼎力相助。这种信息系统开发的模式也是企业特别是中小型企业信息化
建设的一条可借鉴的有效途径。
正 文:
制造企业工程技术人员在利用 CAD 进行产品设计时产生大量的 DWG 文件,每一个
DWG 文件中包含一张或数张图纸,设计的基础资料如:工程项目、图号、设备(物料)
名称、型号规格、材质、数量、重量、备注等等文本信息都记录在图纸标题栏明细表中。
设计工作完成后,工艺编制、成本预算、物料消耗、物流采购、计划调度、车间生产等项
管理业务都将依据图纸进行操作。在通常的管理中,各业务部门往往通过人工的方式从
CAD 图纸或纸质图纸明细表中获取技术文件数据,再利用 WORD 或 EXCEL 进行手工二
次录入,编制各自需要的明细表、经过汇总,生成相应的报表,并在此基础上产生工艺技
术文件通俗简称为(工单),按不同的用途也有的称之为物料消耗单、物料清单 BOM 等。
这种单页面的文本制作方式虽然使用了电脑操作,但并未能摆脱繁重的手工录入和编辑工
作,不能进行数据的自动处理,存在图纸与制表数据不一致、差错率高、工作量大、编制
周期长、效率低下、查询繁琐、数据不能共享等多种弊端。因此,采用自动提取 CAD 明细
表与进行数据库管理的方法是克服以上弊端提高企业设计、技术、管理效率和工作质量的
有效途径。
AutoCAD 是 AutoDesk 公司开发的通用 CAD 工作平台,在机械、造船、电子、汽车、
测绘、建筑等许多行业中得到广泛的应用,其完善的图形绘制和编辑功能,多种接口文件,
较强的数据交换能力,特别是开放的二次开发功能给用户提供了有力的技术支撑。
笔者以 AutoCAD2004 为背景,应用 VBA 开发工具和 Access 数据库技术成功地实现
了自动提取 CAD 图纸明细表与进行数据库管理的研究目标并取得较好的实用效果。
一、自动提取 AUTOCAD 图纸明细表
工程技术图纸的右下角区域一般都布置着标题明细栏,记载着图形总体和明细的特征信
息和基本技术要数,它是所有派生技术文件的信息源头和依据,CAD 图纸继承了这个惯例。
我国国家技术标准 GB/T10609.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 对象时,由于初始明细栏目中的具体内容不确定,则该属性一般暂不输入数据。
剩余22页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功