APP下载

基于AutoCAD&C#.NET的飞机试飞改装物料统计软件开发

2018-09-29刘佳佳赵振王双虎

科技创新与应用 2018年27期

刘佳佳 赵振 王双虎

摘 要:针对试飞改装工作物料统计中存在的问题,文章结合AutoCAD软件和C#.NET,在统一改装制图标注规范的基础上,开发了改装物料统计软件。该软件有效实现了改装图纸中线缆及电气元器件的数据统计,物料核对以及物资核算,有助于相关工作人员高效统计物资数据、合理制定采购计划,进一步提升改装工作效率。

关键词:物料统计软件;制图规范;AutoCAD;C#.NET;物资计划

中图分类号:V217 文献标志码:A 文章编号:2095-2945(2018)27-0016-03

Abstract: In view of the problems existing in the material statistics of refitting work in flight test, this paper develops the refitting material statistic software on the basis of the unified refitting drawing marking standard based on the AutoCAD software and C#.NET. The software effectively realizes the data statistics of cables and electrical components in the refit drawing, material check and material accounting, which is helpful for the related staff to count the material data efficiently, make a reasonable purchase plan, and further improve the refit work efficiency.

Keywords: material statistic software; drawing specification; AutoCAD; C#.Net; material plan

引言

近几年,随着试飞事业的快速发展,改装任务日益繁重。改装工作由传统的简单改装向大型化、复杂化、系列化发展。作为改装工作中的重要环节,科研物资计划的合理安排意义重大[1]。传统的改装物资统计存在着工作量较大、错误概率高等问题,统计结果难以对后续架次试验机改装物资采购提供可靠参考,不利于制定合理的采购计划,对改装工作质量和进度有着较大的影响。针对此问题,本文在传统的改装制图规范的基础上,提出了一种新的标注方式。在此基础上,利用C#.NET开发了AutoCAD物料统计软件。该软件以报表的形式输出统计结果,并利用数据库实现对数据的保存及历史数据的回放。

1 AutoCAD制图标注规范

为了能够有效提取AutoCAD文档中的物料数据,避免错误以及重复的物料统计,有必要对制图标注规范进行统一。考虑到制图过程当中涉及到的物料主要是以长度计的线缆和以数量计的电气元器件,AutoCAD制图标注规范以线缆标注、电气元器件标注以及其他数据标注进行统一。

1.1 线缆标注

目前改装线缆主要是FYPH屏蔽线缆,包括单绞线、双绞线、三绞线和四绞线等四种线制,涵盖了0.24mm2到70mm2之间的多种线径。传统的AutoCAD改装制图针对常用的0.3mm2线缆仅标注了线缆长度,线径在技术要求中进行说明。其余线缆则在长度标识下方标注线径,如“0.5mm2”。因此,为了能够简洁、合理、明确地标注线缆信息以及便于软件识别统计,本文根据厂家提供的所有屏蔽线缆规格将线缆标注规范进行了统一,如图1所示。

其中线缆根数采用1~2位罗马数字,线缆规格采用1位英文字母,线缆长度采用1~2位罗马数字。例如,“5A20”标注了一束5根长度为20米的FYPH-2X0.3G屏蔽线缆。相较于传统的标注,该标注方法仅多了1~2个字符,但格式简洁,信息充分,有利于软件的识别统计。由于平常使用的线缆主要集中于FYPH-1X0.5G、FYPH-1X0.3G、FYPH-2X0.3G、FYPH-3X0.3G以及FYPH-4X0.3G,该标注亦便于设计人员和施工人员识记。

1.2 电气元器件标注

在传统制图过程中,改装电气元器件以型号规格的形式在图纸中标示。电气元器件涵盖了插头、插座、开关、继电器、接触器、断路器、保险丝和保险丝座等,涉及上百家厂家的多型号多规格元件,由此导致了改装电气元器件统计工作量繁重复杂。为了有效实现软件的识别统计,可以将电气元器件的型号规格作为关键字进行检索。但是由于纸张限制等原因,电气元器件往往分多个部分绘制在不同纸张上。为了防止软件重复统计,某一个电气元器件应除了第一处采用型号标注,其余部分均在型号标注前加“/”,以示其为该电气元器件的一部分。同时,为了便于软件有效提取AutoCAD文档中的字符串并识别,要求在单行文字或多行文字中单独输入型号规格。举例如下(图2):

上述分部标注同时有助于施工人员减少失误,避免插头插座等的重复制作,从而提升改装过程中的插头、插座等电气元器件的制作效率。

1.3 其他数据标注

由于只对线缆以及加改装电气元器件进行物料统计,采集器与记录器等测试设备不纳入统计范围。因此此类非改装设备标注要求避免使用上述标注中的关键字及其类似格式,或者采用“/”标识符号防止软件对其进行统计。

2 改装物料统计软件开发

.NET是微软的新一代技术平台,运行于公共语言运行时之上的应用程序。C#作为.NET开发的首选语言,综合了VB简单的可视化操作和C++的高运行效率,提供了强类型检查、数组维度检查、初始化的变量引用检查、自动垃圾收集等支持。C#拥有Lambda表达式、LINQ语言继承查询等一系列新功能,高效敏捷。同时,AutoCAD从2004版本开始便在.NET框架下进行开发,为C#.NET开发人员提供了良好的组件接口,使其能夠快速访问AutoCAD文档的模型空间、图纸控件等内建的对象[2][3]。

2.1 AutoCAD架构简介

AutoCAD文档内部结构关系如图3所示,利用C#.NET的application对象可获取当前操作系统中AutoCAD进程,通过Document对象打开并访问该进程下的文档数据库。在调用SelectionSets选择集的SelectOnScreen方法后,便可跨进程在AutoCAD文档中选择要统计的图纸内容。利用这一原理对改装电气图纸进行物料统计软件开发,将繁杂的计算工作量交于计算机解决,势必大幅提高数据统计的效率及准确性。

2.2 具体实现

改装物料统计软件的开发是适应两化融合的发展要求,借助信息化手段,实现物料统计的准确化、物资核算的精准化。基于这一目标,对软件功能设计进行分析。图4是改装物料统计软件的功能展示。

软件实现的具体步骤如下:(1)访问AutoCAD进程,获取当前Document对象;(2)添加选择集,并在AutoCAD软件中进行图纸选择;(3)访问选择集中的AcadText与AcadMText文本行字符串;(4)利用正则表达式对第3步骤中的字符串进行筛选,获取线缆及电气元器件数据;(5)利用LINQ语言继承查询,以型号类别对线缆及电气元器件数据进行分类统计;(6)将统计结果以报表的形式输出,由用户决定是否将数据存储为数据库文件;(7)利用数据库技术回放历史数据,并实现对数据库记录的查询、修改和删除。其中,为了对原始数据中的字符串进行快速筛选分类,本文软件采用正则表达式予以实现[5],程序代码如下:

Regex(@“^\d{1,2}[A-Z]\d{1,2}$”);//线缆正则表达式

Regex(@“^[A-Z].{1,6}[A-Z]/?\d{2}[A-Z]{1,3}\d{1,2}[A-Z]+$”);//插头正则表达式

将所有筛选出来的物料数据添加到materials列表当中,并利用Lambda表达式以及LINQ语言继承查询进行分类统计[6]:

var query=materials.GroupBy(a => new {a.type, a.name, a.unit, a.price}).OrderBy(g => g.Key.type).Select(g => new { 名称 = g.Key.name, 型号规格 = g.Key.type, 数量 = g.Sum(item => item.num), 单位 = g.Key.unit }).ToList();//物料分类统计

将统计数据以报表的形式显示在DataGrid控件中。针对图纸中无法标注或者难以统计的物料,诸如绝缘漆、开关盒等,可通过添加、修改和删除按钮对统计数据进行补充。同时,软件利用C#.NET数据库开发工具实现了改装物料数据库的新建及访问[7]。C#.NET提供了OleDbConnection类型用于创建数据库连接对象,OleDbAdapter数据库桥接器类型用于实现对数据库的访问。如需对数据库进行修改可利用OleDbAdapter对象下的进行插入、删除等操作[5]。相关数据库访问及操作代码如下:

工程实践证明,该软件操作简单,运算快速,统计结果准确,能够很好地实现改装线缆以及电气元器件的物料统计。

3 结束语

本文针对传统改装任务中出现的物料统计不精确,物资难以核算问题,提出了一种改进的标注规范,并在此基础之上,结合AutoCAD和.NET技术,开发了改装物料统计软件。该软件能够大幅减少设计人员的统计工作量,提高了计划员的物资数据统计的准确性,为改装物资预算提供了可靠依据,有效提升了试飞任务和改装工作效率。

参考文献:

[1]周自全.飞行试验工程[M].北京:航空工业出版社,2010,12.

[2]蒋元星.基于C#的AutoCAD二次开发技术研究及应用[J].中国制造信息化,2017,14(36).

[3]郭朝勇.AutoCADR14(中文版)二次开发技术[M].北京:清华大学出版社,1999.

[4]董玉德,赵韩.CAD二次开发理论与技术[M].合肥:合肥工业出版社,2009.

[5]陈增鑫,欧阳林艳,龚思思,等.正则表达式在数据抓取中的应用研究[J].佳木斯职业学院学报,2017(04):408.

[6]曾洪飞.AutoCAD VBA&VB.NET;开发基础与实例教程[M].北京:中国电力出版社,2013,5.

[7]软件开发技术聯盟.C#开发实例大全[M].北京:清华大学出版社,2016.