关闭

意见反馈/举报

反馈/举报信息:

联系方式:

3D打印设计开源项目!复杂内流道热交换器!

之前的文章提到,DfAM(针对3D打印的设计方法)充分利用了AM的独特优势,如形状自由度高、材料利用率高、易实现轻量化等,来创造出传统工艺难以企及的复杂结构。

而在众多DfAM的应用场景中,热交换器设计堪称重中之重。

3D打印STL模型分享,超复杂螺旋内流道热交换器

采用AM工艺结合DfAM理念,设计师可打破常规热交换器的束缚,转而采用新颖的流道设计,如变截面流道、分形流道、非光滑表面等,在给定体积内实现传热强化。

可以预见,AM热交换器将在新能源汽车、航天等高端装备领域大显身手。

而LEAP 71无疑是AM热交换器的先行者,他们不仅开源了自己的几何内核PicoGK和建模库ShapeKernel,还分享了基于此开发的螺旋式热交换器模型。

现在,就让我们一起来学习如何利用这些开源资源,DIY一款让传热系数"螺旋飙升"的热交换器吧。

准备起飞:配置开发环境

和之前的教程相似:3D打印参数化设计开源!月球火星都能用的车轮

在开始之前,请确保你已经安装了PicoGK以及ShapeKernel库。然后,从下载换热器源代码(文章评论可以获得源代码),将src文件夹复制到你的VS项目目录下。建议沿用这种"src文件夹存放工程代码"的项目结构。完成后,你的解决方案资源管理器应如下图所示:

定义入口:修改Program.cs

打开Program.cs文件,将其修改为如下所示:


using Leap71.ShapeKernel;using PicoGK;

try{    PicoGK.Library.Go(        0.5f,        Leap71.CoolCube.HelixHeatX.Task);}catch (Exception e){    Library.Log("Failed to run Task.");    Library.Log(e.ToString());    Library.oViewer().SetBackgroundColor(Cp.clrWarning);}

这里的关键是将热交换器的Task()函数作为委托传递给了PicoGK库的Go()函数。

当点击运行后,PicoGK库会初始化并执行Task()函数。而Task()的作用,就是实例化一个热交换器对象,并调用其voxConstruct()方法,后者包含了生成整个几何体的逻辑。由于PicoGK是基于Voxel体素的,所以还要指定一个关键参数——体素尺寸。

不得不说的体素尺寸

体素尺寸决定了几何细节的分辨率,以及生成几何体所需的时间和文件大小。

在实践中,建议先从较大的体素尺寸入手,以便快速迭代;

待外形满意后,再提高分辨率以获得更光滑的打印模型。

下表展示了不同体素尺寸下的生成效果和性能:

从表中可以看出,采用1mm的体素时,整个几何体只需30s就能生成;而采用0.2mm的体素,则需要数小时。

这种规律并非线性,0.3mm是一个实用的平衡点。

再看内部的冷却翅片,它们的壁厚只有0.4mm。在1mm分辨率下几乎难以辨认,0.5mm勉强可分辨轮廓,而0.3mm则能清晰呈现。

因此,对于外部较厚实的部分,用粗体素即可;而内部精细结构,则需要细体素。聪明的做法是将二者的代码尽量分开,这样就可以灵活地采用不同分辨率,既加快开发进度,又能兼顾打印质量。

上图上排:1 毫米体素大小的内部冷却翅片。
上图下排:0.3 毫米体素大小的内部冷却翅片。

运行程序,见证奇迹

万事俱备,只欠东风。点击运行,静待佳音。

程序会在PicoGK查看器中逐步呈现热交换器的生成过程,并将最终结果以STL格式导出。

下图展示了按顺序生成换热器的精彩瞬间:

快速浏览代码,你会发现它大量使用了BaseShapes,通过布尔运算组合出复杂形状,这与传统CAD的特征建模思路大相径庭。

此外,这里先建模了流体区域,再将其布尔减,得到流道壁面,可谓别出心裁。

当然,要完全读懂代码还需要一定的编程和数学功底,鉴于篇幅所限,这里就不展开了。

好在LEAP 71将整个项目拆分成了多个代码文件,并采用了标题明确的函数命名,便于理解内在逻辑。感兴趣的读者不妨试着对号入座,体会不同函数。

分步讲解:定义换热器边界和管口

上图展示了热交换器的边界条件:进出口位置、内部复杂结构的边界盒、外部整体的边界盒。这些约束都在HelixHeatX()构造函数中定义。

分步讲解:换热器内部精细结构初现

内部流道并非光滑,而是布满了各种翅片,以强化传热。这些翅片按照一定规律交错排列。

其中,转弯段的翅片通过voxGetTurningFins()生成(橙色部分),直线段的翅片则通过voxGetStraightFins()生成(青色部分)。

垂直翅片还进行了扭曲,以促进流体混合。所有水平翅片都采用了双坡屋顶式的高度分布,以便于在流道内部打印。

内壁面则通过对螺旋流道求壳并添加内部翅片而得。

分步讲解:构建内部流道

热交换器的核心是两个螺旋形的流道,分别容纳冷热流体。

每个流道由螺旋段、进口段和出口段三部分组成,分别通过GetHelicalVoid()、GetInlet()和GetOutlet()生成。

流道的内外半径分布由fGetInnerRadius(float fPhi, float fLengthRatio)和fGetOuterRadius(float fPhi, float fLengthRatio)两个函数控制。

其中,外半径分布采用的函数可以更好地随形适应内部矩形边界盒。

分步讲解:换热器外部设计- 添砖加瓦,完善细节

对于热交换器外部,我们通过调用GetFlange()、AddCentrePiece()、voxGetIOThreads()、voxGetIOCuts()、voxGetPrintWeb()、voxGetIOSupports()和voxGetOuterStructure()等函数,添加了一系列实体元素,如法兰、中心筒、螺纹、切口、打印支撑等。这些元素的布尔并给了热交换器一个强健的"外骨骼"。

分步讲解:内外结合、大功告成

有了内部流道和外部实体,就该让二者水乳交融了。这就要用到CSG建模中的布尔减运算。通过从外部实体中减去内部流道,就可以得到既符合功能又便于打印的热交换器模型:


Voxels voxResult = Sh.voxSubtract(voxOuterVolume, voxInnerVolume);

AM易道点评

AM易道认为,换热器开源项目展示了DfAM的一种典型思路:

先外再内;先功能建模,再结构建模;从粗到精,螺旋递进;模块化设计,参数化驱动。

这种思路不仅适用于热交换器,也可以推广到其他复杂构件的设计中。

相比于车轮的设计,换热器的结构虽然更复杂但步骤更为简洁明了。

随着AM工艺的不断进步,DfAM必将成为工程师的必备技能。

而LEAP 71的开源设计核心技术,无疑将极大地降低DfAM的门槛,惠及整个行业。

当然,再先进的DfAM工具,也只能辅助设计,而非取代设计。

工程师仍需对流体力学、传热学、材料学等有深刻理解,并在反复的建模-仿真-优化中,不断迭代完善设计方案。

这个过程中少不了经验和直觉的指引。而经验往往源于实践,直觉则来自对行业发展的洞察。

因此,在拥抱DfAM工具的同时,工程师更应开放视野,紧跟前沿,用创新引领行业突破。

文章源代码下载:

本文源代码开源免费下载,在本文评论区任意留言,即可获得下载链接。

24-06-13 08:04 本文为 AM易道 原创内容,如对内容有疑问,请联系我们:yihanzhong@amedao.com
点赞
反对
收藏
分享
标签
LEAP 71 PicoGK ShapeKernel 热交换器 螺旋式热交换器 体素 DfAM STL CSG BaseShapes HelixHeatX Program.cs AM 3D打印
AM易道招聘编辑 招募AM易道行业合伙人