APP下载

基于VBA模式开发的参数化绘图软件

2021-06-12邵彦锟高志良

水泥技术 2021年3期
关键词:冷机控制柜二次开发

邵彦锟,高志良

1 前言

当前,参数化绘图已成为工业领域的主流绘图方式之一,参数化绘图水平体现了企业的设计实力。如今Auto CAD软件依然是平面绘图中受众面最广的软件,但Auto CAD软件的基础绘图工作完成的仅是逐项添加对象和图元,图元与图元之间不具备良好的参数联动性。能否通过对CAD软件的二次开发实现以交互方式进行参数化绘图,甚至实现一键生成图纸的功能,这是本文重点探讨的问题。本文以第四代两段篦冷机液压系统的电气控制柜图纸设计为例,介绍在CAD软件基础上二次开发的参数化绘图软件。

2 第四代两段篦冷机控制柜图纸设计特点

不同项目的产量不同,其篦冷机篦床篦板列数和液压泵数量也会有很大变化,同时第四代篦冷机是双段篦床,搭配时可能会出现两段不一致的情况,如一段9列、二段6列。另外,在不同项目中,根据篦床列数及所提供传感器种类的不同,液压厂家提供的电气接口数量及信号位置等的组合方式也非常多。这就导致不同项目中,即便是同一产量甚至同一型号的篦冷机液压控制柜内,电气元件的变化也非常大,无法真正实现电气设备的标准化作业流程。每个项目的篦冷机控制柜图纸绘制约消耗工时2~5d/人,在工期被严格控制的工程项目面前,这部分的工时消耗不容忽视。

3 篦冷机液压控制柜CAD图纸参数化绘制软件的开发

3.1 在CAD基础上进行二次开发的途径

为解决上述问题,推进标准化作业流程,决定对篦冷机液压控制柜的CAD制图方式进行二次开发。Auto Desk公司旗下的Auto CAD对外发布了Object ARX、.net、Auto Lisp、VBA等多种开发途径。

Object ARX是Auto Desk公司针对Auto CAD二次开发推出的开发包,它提供以C++为基础的面向对象的开发环境及应用程序接口,能快速访问Auto CAD图形数据库,具有强大的功能。.net使开发人员可在.net框架下使用VB.net、C#、C++等多种编程语言对CAD进行开发,其比Object ARX结构简单。Auto Lisp是直接由Auto CAD产生的语言,往往需配合其他语言一起使用。

VBA是以VB语言为基础嵌入在CAD内部的一种开发环境,无需额外的编译环境(IDE),无需引用外部库,能够为用户提供良好的交互性界面,非常适合非计算机专业的技术人员学习使用。通过几行简单的VBA代码即可实现CAD中简单图元的自动参数化绘制,能够显著提高设备图纸二次开发的工作效率。

3.2 利用VBA代码提高CAD图纸绘制二次开发工作效率

CAD图纸绘制的二次开发工作由图纸处理和代码构建两部分组成。

3.2.1 图纸优化

优化控制柜CAD图纸,将设备所有的非标特性元素集成为同一套图纸,并将所有同一特性的图元整理规划成图块,并对每一种图块单独命名。完成这一步骤即完成图纸图元“数据库”的搭建,避免后续使用VBA代码重复构建图纸图元,能够节省大量代码编制时间,提高软件运行效率。如图1所示,亮蓝部分表示同类块的所有图元。

图1 同一种图块中的所有的图元元素

优化完成后的图纸拥有设备全部可选特性,并拥有大量图块,后续的所有代码工作都将在这张优化后的图纸上进行相应的减法和局部的排序、统计等工作。

3.2.2 代码构建

在CAD的VBA环境中设计窗口面板,规划需要的功能区,如图2所示。窗口面板分为三个功能区,一部分是统一的图纸项目信息;一部分是图纸设计人和审核人的电子签名,这部分可以将已记录的电子签名块和拾取的签名块自动布置到每张图相应的签名区域,同时也可选择文本格式的签名方式;最后一部分是对设备非标特性的选择,这部分可根据不同类型的设备随时进行调整。

图2 参数化绘制软件的窗口面板

(1)代码方面

首先创建选择集,选择集是被提取图元的“暂存器”,会多次出现在后续代码中。

定位每张图纸的位置,并传输面板的项目信息。

(2)签名方面

提前在图中创建所需的签名块,放在任意位置,再通过代码复制粘贴面板所选择的签名,并部署到每张图纸相应的位置。

以上代码只是其中的一小部分,但已能够说明程序的主要思路,在代码执行面板设定命令并执行后,会在原有“标准库”图纸上进行修改。代码执行前后“标准库”图纸画面如图3、4所示。

图3 代码执行前“标准库”图纸的内容

图4 代码执行后“标准库”图纸的内容

综上所述,最终的运行结果是在原“标准库”的基础上进行了相应的“减法”、排序、统计等操作,以VBA模式对设备图纸绘制方式进行二次开发,不需要庞大的代码量,前期的图纸优化承担了大部分工作量,二次开发的软件结构清晰,便于学习,可供其他类型设备图纸的开发工作参考。若仅依靠代码来绘制图形,图元重复生成的工作量非常大,而且还会涉及到外接数据库等相关操作。执行参数化绘制软件的一键出图功能后,几秒钟即可自动生成项目所需图纸,极大节省了图纸设计时长。

4 结语

基于VBA模式的图纸开发工作同样适用于其他的设备,如DCS控制柜、辊压机液压控制柜、辊磨液压控制柜、变频控制柜、软启动柜等设备,甚至工艺或电气系统的蓝图设计,只要整理出设计内容的共性和非标特性,并将其量化和优化,再进行功能细分和代码构建,即可达到同样的效果。

猜你喜欢

冷机控制柜二次开发
水泥熟料篦式冷却机的技术发展和应用研究
基于关键指标法的某大型公共建筑空调供冷系统用能诊断与优化
动力集中电动车组综合控制柜热分析计算
自动浸蜡控制设备控制柜散热设计
智能变电站室外控制柜防潮措施研究
勘误
浅谈Mastercam后处理器的二次开发
具有散热功能的PLC变频电机控制柜设计
例谈课本习题的“二次开发”
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用