为了快速开发翅片管换热器,需要自动生成加工图,并将仿真软件的设计结果与自动绘图软件关联,实现数据交互。 本文开发了一种换热器仿真及图形生成的一体化平台,可提高 5 倍以上的出图效率。 一起来看。
集成换热器结构的快速设计和图形的快速生 成需要读取设计软件的结构信息,并转化为图形绘 制所需的空间结构参数。
如图 1 所示,空调换热器组件的仿真与图形生成一体化平台的作用是:用程序自动读取仿真软件中换热器结构的数据,利用这些数据编写 SolidWorks 可识别的绘图代码,即对 SolidWorks 进行二次开发,自动生成对应的换热器及组件的图纸。具体的平台开发思路如图 2 所示。
第一步,
通过换热器仿真软件设计出性能满足要求的换热器结构,通过流文件序列化 (XmlSerializer)方法将仿真软件中存储换热器结构信息的类序列化,生成包括换热器结构参数的Xml流文件,便于后续对绘图软件(SolidWorks)二次开发时调用。
第二步
,调用 SolidWorks 的COM 接口,对 SolidWorks 进行二次开发,分别编写换热器芯体以及钣金件的 API 的绘图函数。将编译好的程序生成解决方案即可生成换热器芯体绘图插件和钣金件绘图插件。
第三步
,启动程序会自动打开 SolidWorks,在工具下面找到对应的插件,点击即可启动程序主函数。对于换热器芯体插件读入流文件后即可生成换热器芯体。对于钣金件绘制插件除了读入换热器结构参数外,还需通过界面读入其它钣金件结构参数数据,生成钣金件图形。
换热器芯体中最核心、复杂的部分是连接管,并且每款换热器的管路连接方式各不相同,图 3 所示为任意管路连接方式的一种。连接方式的信息以某种特定形式(有向图)存储在仿真软件中,程序中存储连接方式的信息是任意的,存储的结构信息无法直接用于绘图软件,而绘制连接管需要确定的空间结构参数。因此,换热器芯体插件的难点是将任意的连接方式的存储信息反编码为编写 SolidWorks 绘图函数时所需的特定参数坐标。
将存储换热管路信息的有向图转化成用于 SolidWorks 绘图的位置坐标的思路是,通过数学描述的方法将有向图中换热器连接管的信息表达出来, 再通过公式反编码成对应的绘图坐标。
确定换热器芯体空间结构参数后,平台通过对绘图软件(SolidWorks)进行二次开发,通过程序将图形自动绘制出来。
SolidWorks 二次开发方法主要有两种,尺寸驱动法和模型驱动法。尺寸驱动法是通过改变模型零件的尺寸,获得一系列总体结构相同而尺寸不同的方法。
(1)该方法无需反复构建模型,只需通过尺寸变量驱动,生成的零件源于同一个零件模板;
(2)该方法所需代码量与模型的复杂程度直接相关,通常需要大量代码才能完成。由于换热器尚无模型,故采用模型驱动法进行二次开发。
在仿真软件中,换热器的管路信息用有向图表示。有向图的点集和边集分别采用公式(1)和公式 (2)表达,并用二维矩阵Mij存储。反编码矩阵 Mij,如图 4 所示,将每根管路的起始管编号(i)、终止管编号(j)存储在数据列表中。
编写绘图代码时,先访问连接管位置记录数组,得到连接管位置,再利用换热器的行列距信息(如 图 5)通过解码代码计算出在三维空间内,每一个管路的起始管圆心的位置坐标,然后将坐标作为绘制连接管函数的参数,则可以绘制出每一个连接管。
可以将矩阵内每一个管路的起始、终止管路的信息转化为绘图时所需的坐标,这两个坐标即是该管路两个端点的坐标,但是只有这两个端点的坐标还不能在
SolidWorks
中绘制出连接管,因为绘制半圆弧的
API
函数需要三点的坐标,所以,根据式
(8)
计算出圆弧中点的坐标(
x
,
y
,
z
)。
根据这
3
个点的坐标即可得出两个向量坐标,即图
6
中的
1 2 3 a a a a ( , , )
、
1 2 3 b b b b ( , , )
,通过
a
、
b
与 中心点坐标将半圆
U
管用数学方程的方法在三维空 间内描述出来是其中的难点。
公式 (9) 采用 f(x, y, z,θ) 将半圆描述出来,方程与 SolidWorks 中的方程式驱 动的曲线方法对应,该方法相比于绘制三维曲线, 在二次开发中更稳定,出错概率更低。
由此绘制出二维 U 管后,还需要一个将二维线条转化为三维换热器管的命令。 在 SolidWorks 中,大多使用扫描命令。 扫描形成换热器连接管时,对于不同连接管需选择相应的草图,扫描时只能选择对应的起始或终止换热器管圆。 说明每一个圆管面 都需作为一个单独的草图存在。
在换热器芯体配件中,钣金件数量最多,结构最复杂。钣金件的作用是与换热器芯体装配,便于安装、固定,保护换热器管束,钣金件的自动绘制需要解决两个难点。
(1)难点一:由于钣金件数量庞大、结构复杂,无法对每一 种钣金件类型单独开发,因此对钣金件类型的结构特征进行总结、提取,开发几个通用的钣金件模型是钣金件二次开发的第一个难点。将这些结构特征进行组合即可绘制任意类型的钣金件。
(2)难点二:将钣金件的特征总结归纳后,如何存储钣金件各个特征的参数。例如,对中心板进行打孔使钣金件与换热器管束能够配合是装配的关键。然而,每款换热器管束的管排数、管列数、行间距、 列间距等参数各不相同,说明管束的位置千变万化,所以,需要将记录每根换热器管参数的列表转换为绘制换热器管束所需的参数。
对于第一个难点,解决的思路是根据先整体后 局部、先重要特征后次要特征、优先考虑出现频率 高的特征等原则提取换热器配件的特征。
依次提出的特征为:整体造型、中心板开孔(平孔或翻边孔)、 切角、铆螺母、平孔、四方孔等,这些特征具有通用性。
对于第二个难点,解决的思路是先理清各个特 征数据的来源,并将所有参数统一调取,统一存储。
对换热器配件的特征进行组略提取后,将每个特征可能出现的不同情况进一步细分,具体如表 1所示。整体造型可以为 U 型、L 型、矩形、斜型、翻边型 5 大类。
(1)翻边型钣金件的四周翻边高度(可 以为 0)、方向均可选择,故整体造型共有 10 种以上的方式;
(2)中心板开孔方式可以全部开平孔,或平孔与翻边孔结合;
(3)切角方式可以四角都切,或只切一 角、两角,典型的钣金件可有 3 种切角方式;
(4)铆螺 母的数量在 2~3 之间不等,常用的 3 类结构见表 1;
(6)常规的四方孔只有表 1 所示的 1 种类型。因此,按照排列组合共可提供 300 种以上的钣金件类型。
对于第二个难点,将所有特征结构的参数都存储在钣金件插件的一个数据存储类里面,该类参数 有的通过换热器芯体结构得到,有的需要用户通过界面输入,如图 7 所示。
以中心板的开孔为例,从最小编号 1 开始遍历 换热器管的数据存储列表中的每一根换热器管,根据里面的管列距、管间距确定该管的圆心坐标。具体的公式与绘制换热器连接管时确定起始(终止)管圆的圆心坐标完全相同。
确定中心板孔的位置坐标后,还需确定开孔的方式才能绘制,而开翻边孔的位置随机,将每个孔的开 孔信息记录在数据存储类的一个布尔型的二维数组里(1 为翻边孔,0 为平孔),通过用户交互界面, 让用户点击选择翻边孔的位置,如图 8 所示,翻边孔 记录在数组 Str[,]对应的位置。绘制中心板孔时,先判断 Str 中对应位置的值,确定该位置是否为翻边孔, 先绘制出所有平孔,再绘制出剩下的翻边孔。
在绘制出每种特征以后,只需根据不同钣金件 的特征需求,对这些特征进行组合。该钣金件插件 可绘制上百种常用类型的钣金件。
一体化平台由换热器芯体插件、换热器配件(钣 金件)插件组成。
1)设计 Opendialog 对话框,以便打开、读入流文件;
2)根据反序列化流文件得到的管长、管径、管排数、管 列数、管子的连接方式、翅片尺寸等参数依次编写绘制换热器管、连接管、翅片的 API 函数代码;
3) 生成解决方案,即可生成SolidWorks 插件。换热器芯体插件可绘制直型、一次弯折两大类 换热器芯体,其中一次弯折换热器的弯折角度、方 向可在仿真软件中指定。图 9 所示为换热器芯体插 件运行结果。
2)绘制钣金件所需参数设计用户交互界面以及相应对话框,并设计好数据存储类,以便后续调用;
3)调用数据存储类的参数以及换热器芯体参数依次编写各个特征的 API 函数代码;
根据换热器在现场的实际安装、固定等需求,合理选择钣金件特征,如图 10 所示。以图 9 和图 10 所示的换热器芯体及配件为例,与传统绘制方法进行比较,见表 2。传统方法需要手动绘制换热器管、翅片、逐一装配连接管,绘制大型换热器至少需要 3 h;绘制换热器配件(上下左右边板)的所有特征至少需要 2 h,而平台可以实现换热器芯体及配件一键生成,总体效率提高5倍以上。
全部回复(1 )
只看楼主 我来说两句 抢板凳感谢楼主分享
回复 举报