有向图生成树是如何画的_技术开发:空调换热器组件的仿真与图形生成

2ef50f96ebca5c485f5a4bbc3afd8ae3.gif

e552e6582db278038bb58e860b3427a4.gif

为了快速开发翅片管换热器,需要自动生成加工图,并将仿真软件的设计结果与自动绘图软件关联,实现数据交互。本文开发了一种换热器仿真及图形生成的一体化平台,通过有向图的解码算法,直接将换热器设计软件中的结构和流路参数转化为三维绘图所需要的位置坐标参数。将复杂多变的换热器配件的结构表达成5种基本特征的组合,并将基本特征转化为绘图所需的位置参数。 一起来学习下吧!

f7147a0fda3433dd73599d258ab478a1.png

1、仿真与图形生成一体化平台搭建

集成换热器结构的快速设计和图形的快速生成需要读取设计软件的结构信息,并转化为图形绘制所需的空间结构参数。如图1所示:

4ce5069210e6c359c7dea54da2c0141b.png

空调换热器组件的仿真与图形生成一体化平台的作用是:用程序自动读取仿真软件中换热器结构的数据,利用这些数据编写SolidWorks可识别的绘图代码,即对SolidWorks进行二次开发,自动生成对应的换热器及组件的图纸。具体的平台开发思路如图2所示。

4b9d0fcd7daafe3326612b8b528ce9e7.png

第一步,通过换热器仿真软件设计出性能满足要求的换热器结构,通过流文件序列化(XmlSerializer)方法将仿真软件中存储换热器结构信息的类序列化,生成包括换热器结构参数的Xml流文件,便于后续对绘图软件(SolidWorks)二次开发时调用。

第二步,调用SolidWorks的COM接口,对SolidWorks进行二次开发,分别编写换热器芯体以及钣金件的API的绘图函数[5-6]。将编译好的程序生成解决方案即可生成换热器芯体绘图插件和钣金件绘图插件。

第三步,启动程序会自动打开SolidWorks,在工具下面找到对应的插件,点击即可启动程序主函数。对于换热器芯体插件读入流文件后即可生成换热器芯体。对于钣金件绘制插件除了读入换热器结构参数外,还需通过界面读入其它钣金件结构参数数据,生成钣金件图形。

2、换热器芯体图形生成

2.1  难点分析  

换热器芯体中最核心、复杂的部分是连接管,并且每款换热器的管路连接方式各不相同,图3所示为任意管路连接方式的一种。

连接方式的信息以某种特定形式(有向图)存储在仿真软件中[4],程序中存储连接方式的信息是任意的,存储的结构信息无法直接用于绘图软件,而绘制连接管需要确定的空间结构参数。因此,换热器芯体插件的难点是将任意的连接方式的存储信息反编码为编写SolidWorks绘图函数时所需的特定参数坐标。

6c5a9cb520c4806edadfd0d89aa4c791.png

2.2  解决思路    

将存储换热管路信息的有向图转化成用于SolidWorks绘图的位置坐标的思路是,通过数学描述的方法将有向图中换热器连接管的信息表达出来,再通过公式反编码成对应的绘图坐标[8-10]。

确定换热器芯体空间结构参数后,平台通过对绘图软件(SolidWorks)进行二次开发,通过程序将图形自动绘制出来。SolidWorks二次开发方法主要有两种,尺寸驱动法和模型驱动法。尺寸驱动法是通过改变模型零件的尺寸,获得一系列总体结构相同而尺寸不同的方法。该方法无需反复构建模型,只需通过尺寸变量驱动,生成的零件源于同一个零件模板;模型驱动方法[5-7]是通过程序代码将绘图的整个过程(选择平面、创建草图、拉伸特征等)进行逐一描述。该方法所需代码量与模型的复杂程度直接相关,通常需要大量代码才能完成。由于换热器尚无模型,故采用模型驱动法进行二次开发[9-20]。

2.3  解决方法    

在仿真软件中,换热器的管路信息用有向图表示[8]。有向图的点集和边集分别采用公式(1)和公式(2)表达,并用二维矩阵Mij存储[5]。

反编码矩阵Mij,如图4所示,将每根管路的起始管编号(i)、终止管编号(j)存储在数据列表中。

08687b80a28c79cf15a1b0a23ce550e0.png

d049ac4ad44dc3c8538434ac6fe31c6b.png

编写绘图代码时,先访问连接管位置记录数组,得到连接管位置,再利用换热器的行列距信息(如图5)通过解码代码计算出在三维空间内,每一个管路的起始管圆心的位置坐标,然后将坐标作为绘制连接管函数的参数,则可以绘制出每一个连接管。

c7882d7c0f8cef5dcbf6a18f81b67ad0.png

具体的解码方法分为5步。

440b00bb30b8a67eb9b3b63b5a21e026.png

可以将矩阵内每一个管路的起始、终止管路的信息转化为绘图时所需的坐标,这两个坐标即是该管路两个端点的坐标,但是只有这两个端点的坐标还不能在SolidWorks中绘制出连接管,因为绘制半圆弧的API函数需要三点的坐标,所以,根据式(8)计算出圆弧中点的坐标(x,y,z)。

8e7b7f5427626f272e669b0f2a42e751.png

fd5c54a9e30fcd7775c49458e54fadfc.png

根据这3个点的坐标即可得出两个向量坐标,即图6中的c4dfdd9dda064e1bec7161891cdd9f8f.png,通过3596bdf3b4f2e361cf4601bb9ddcc62e.png与中心点坐标将半圆U管用数学方程的方法在三维空间内描述出来是其中的难点。公式(9)采用f(x, y, z, θ)将半圆描述出来,方程与SolidWorks中的方程式驱动的曲线方法对应,该方法相比于绘制三维曲线,在二次开发中更稳定,出错概率更低。

13be9c4e5d6076da593128da2f8f1748.png

由此绘制出二维U管后,还需要一个将二维线条转化为三维换热器管的命令。在SolidWorks中,大多使用扫描命令。扫描形成换热器连接管时,对于不同连接管需选择相应的草图,扫描时只能选择对应的起始或终止换热器管圆。说明每一个圆管面都需作为一个单独的草图存在。

3、换热器芯体配件图形生成

3.1  难点分析  

在换热器芯体配件中,钣金件数量最多,结构最复杂。钣金件的作用是与换热器芯体装配,便于安装、固定,保护换热器管束,钣金件的自动绘制需要解决两个难点。

由于钣金件数量庞大、结构复杂,无法对每一种钣金件类型单独开发,因此对钣金件类型的结构特征进行总结、提取,开发几个通用的钣金件模型是钣金件二次开发的第一个难点。将这些结构特征进行组合即可绘制任意类型的钣金件。

将钣金件的特征总结归纳后,如何存储钣金件各个特征的参数,并且将这些特征参数转化绘图时所需的参数是第二个难点。例如,对中心板进行打孔使钣金件与换热器管束能够配合是装配的关键。然而,每款换热器管束的管排数、管列数、行间距、列间距等参数各不相同,说明管束的位置千变万化,所以,需要将记录每根换热器管参数的列表转换为绘制换热器管束所需的参数。

3.2  解决思路  

对于第一个难点,解决的思路是根据先整体后局部、先重要特征后次要特征、优先考虑出现频率高的特征等原则提取换热器配件的特征。依次提出的特征为:整体造型、中心板开孔(平孔或翻边孔)、切角、铆螺母、平孔、四方孔等,这些特征具有通用性。

对于第二个难点,解决的思路是先理清各个特征数据的来源,并将所有参数统一调取,统一存储。

3.3  解决方法

对换热器配件的特征进行组略提取后,将每个特征可能出现的不同情况进一步细分,具体如表1所示。

f1adde5fc9feb8f6a6a17bb6796cddf9.png

整体造型可以为U型、L型、矩形、斜型、翻边型5大类。其中翻边型钣金件的四周翻边高度(可以为0)、方向均可选择,故整体造型共有10种以上的方式;中心板开孔方式可以全部开平孔,或平孔与翻边孔结合;切角方式可以四角都切,或只切一角、两角,典型的钣金件可有3种切角方式;铆螺母的数量在2~3之间不等,常用的3类结构见表1;平孔的数量未定,通常左右侧各开1~2个;常规的四方孔只有表1所示的1种类型。因此,按照排列组合共可提供300种以上的钣金件类型。

2d51a213014e38934aa1d1d9925d899e.png

对于第二个难点,将所有特征结构的参数都存储在钣金件插件的一个数据存储类里面,该类参数有的通过换热器芯体结构得到,有的需要用户通过界面输入,如图7所示。

以中心板的开孔为例,从最小编号1开始遍历换热器管的数据存储列表中的每一根换热器管,根据里面的管列距、管间距确定该管的圆心坐标。具体的公式与绘制换热器连接管时确定起始(终止)管圆的圆心坐标完全相同,这里不再重复。

确定中心板孔的位置坐标后,还需确定开孔的方式才能绘制,而开翻边孔的位置随机,将每个孔的开孔信息记录在数据存储类的一个布尔型的二维数组里(1为翻边孔,0为平孔),通过用户交互界面,让用户点击选择翻边孔的位置,如图8所示,翻边孔记录在数组Str[,]对应的位置。绘制中心板孔时,先判断Str中对应位置的值,确定该位置是否为翻边孔,先绘制出所有平孔,再绘制出剩下的翻边孔。

96c04c2e6ae903d251839f5fe15ea962.png

4、一体化平台应用

一体化平台由换热器芯体插件、换热器配件(钣金件)插件组成。

换热器芯体插件的开发过程为:

1)设计Opendialog对话框,以便打开、读入流文件;

2)根据反序列化流文件得到的管长、管径、管排数、管列数、管子的连接方式、翅片尺寸等参数依次编写绘制换热器管、连接管、翅片的API函数代码;

3)生成解决方案,即可生成SolidWorks插件。

换热器芯体插件可绘制直型、一次弯折两大类换热器芯体,其中一次弯折换热器的弯折角度、方向可在仿真软件中指定。图9所示为换热器芯体插件运行结果。

b53c165e27558049171c4f80260a18f0.png

钣金件插件开发过程如下:

1)读入换热器芯体的整体参数及换热管位置;

2)绘制钣金件所需参数设计用户交互界面以及相应对话框,并设计好数据存储类,以便后续调用;

3)调用数据存储类的参数以及换热器芯体参数依次编写各个特征的API函数代码;

4)生成解决方案,即可生成钣金件自动绘制的插件。

根据换热器在现场的实际安装、固定等需求,合理选择钣金件特征,如图10所示。

0d917ec7251ccdc7de22999ac45f900c.png

以图9和图10所示的换热器芯体及配件为例,与传统绘制方法进行比较,见表2。传统方法需要手动绘制换热器管、翅片、逐一装配连接管,绘制大型换热器至少需要3 h;绘制换热器配件(上下左右边板)的所有特征至少需要2h,而平台可以实现换热器芯体及配件一键生成,总体效率提高5倍以上。

7bdd3500018ee9c9e6c74c2a7ff4d121.png

5、结论

本文研究了翅片管换热器仿真软件中换热器结构参数与三维绘图软件所需的绘图参数坐标之间的映射关系,开发了基于换热器仿真软件的图形生成的一体化平台,得到如下结论:

1)利用数学方法可以将仿真软件中的换热器结构信息用三维绘图软件描述出来。通过解码将仿真软件中换热器连接管位置、连接方式和换热器管参数等存储信息转化为绘图软件中的绘图坐标参数,并且对绘图软件二次开发,实现换热器芯体的一键生成,避免了传统的人工绘图方法的手动装配、耗时费力和出错几率较大的问题;

2)利用归纳的方法将绘制换热器配件所需的特征提炼,即可通过特征组合的方式生成配件的三维图形。利用数学描述的方法将结构特征转换为绘图所需的坐标参数,实现钣金件的自动绘制,避免了传统的人工绘图方法需要做大量重复性工作和绘图效率低的问题;

3)该仿真与图形生成一体化平台可提高换热器开发效率。根据实际应用,换热器芯体插件的使用可以将绘图效率提高10倍以上,且随着换热器芯体的管路连接越复杂,效率提升越显著;换热器配件(钣金件)插件可以提高5倍以上的出图效率,对于机柜钣金件,可实现全特征自动绘制,且钣金件非标结构越少,提升效率越显著。因此总的绘图效率至少提高5倍以上。

参考文献如下:

b0707ee68b7796f06e73db500dc50580.png

aeea627de9fe021c45ef0da5c53bdaf5.png

1000beac5ede18df4bf3b0f814ad4039.png

aa7cc843d5cbe0b404ec20fa4d2ef4dc.gif 版权声明:本文作者王康硕、任滔等,版权归属原作者,由制冷空调换热器技术联盟编辑整理,转载请注明来源。 点赞鼓励进步 | 转发传递友谊 本微信公众号是制冷空调换热器技术联盟的官方微信,致力于成为业界专业信息传播平台。欢迎参加分享,投稿/留言信箱:reporter@craheta.org,请附上媒体+姓名,实名或匿名发表。 7b34a0d7f80ee46f2eaf1c2c2fa61e83.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值