创建参数化的芯片3D模型
前言
芯片就像机械中的标准件一样,是有尺寸标准的,那这就特别适合用参数化的方式来创建三维模型。针对常见的封装建立参数化的模型,那就是分分钟给嘉立创补全芯片的3D模型。
参数化建模也不是一个多新的技术了,我上大学那会就在课本里学各种参数化建模,只是那会还鲜有软件支持。但是这几年,像FreeCAD这样的开源软件都支持参数化建模了。不过这次我要分享的是更轻量级的OpenSCAD,OpenSCAD采用的是一种更简单更容易理解的建模方式——CSG,简单来说就是把基础的几何体,比如立方体,圆柱等做加减操作来创建新的几何体。CSG的好处就是直观易懂,而OpenSCAD提供了编程语言来实现对基础几何体的运算,这让参数化建模更容易实现,甚至可以脱离软件独立、批量运行了。
今天就来分享一下我是如何用OpenSCAD来实现SOP封装芯片的参数化建模的。
建模规划
CSG建模有一些天然的劣势,会大大增加建模的工作量。举一个简单的例子——倒角,比如要对一个立方体A的顶面做倒角,在一般的CAD软件里太简单了。但CSG建模就需要针对每一条边做一个立方体B,先旋转B形成一个倒角角度,然后移动B到合适的位置,最后用A减去B,这样就完成了。所以我们建模之前得先分析一下模型尽量的简化模型创建步骤。
以上图的SOP16封装的芯片为例,来分析一下核心就是芯片本体和引脚的组合,首先是芯片本体部分,是有倒角的(严格来说不是倒角,应该是拔模),如果按照常规倒角的思路去做的话就会很麻烦了。我们可以换个思路,先把芯片一分为二,分成上半部分和下半部分,那下半部分可以看出是上半部分的镜像,而上半部分可以当作是一个下大上小的梯台,在OpenSCAD里可以采用hull
操作把底面和顶面组合成一个梯台,这样就简单多了。如下图所示:
引脚的部分也有点复杂,引脚是属于Z字行,而且有一定的角度,还有弯折部分的弧度,因为不是精确建模,弯折部分的弧度就不做了,实在是在OpenSCAD里实现过于麻烦了。这如果要精准建模的话,我理解应该是用引脚的横截面按Z字路径去做扫描。虽然OpenSCAD也提供了扫描、旋转,但是没法直接按路径去扫描。为了简单建模,直接把引脚要分成三段,底,中,上。中间竖向那一部分位置得利用三角函数做运算,算是模型中最复杂的计算了。。。不过中间部分也取巧了一下,直接用hull
操作连接了顶、底的两个端面,也就是A、B,注意A、B是单独建的两个方块。
代码实现
OpenSCAD中编程语言与其他语言相比还是简陋了一些,有一些代码是不得已而为之。
1 | $fn=100; |
参数说明
代码中定义的参数完全是按照嘉立创中封装向导中的参数命名的,可以按下图对照使用。
所以,只要根据芯片的具体参数直接修改一下就可以生成模型了。效果图如下:
因为现在最新版本的OpenSCAD直接支持通过定制面板改参数,所以基本上点点鼠标就可以了。下图中红框部分就可以直接修改参数了。
模型使用
因为嘉立创只能导入step格式,而OpenSCAD无法直接导出step,经过我的实验发现只能通过FreeCAD中转一下,这就稍微增加了一下操作复杂性。
首先在OpenSCAD中导出CSG,颜色信息也会同步导出,然后在FreeCAD中打开导出的CSG文件,再把CSG中的union导出为step格式,就可以在嘉立创中使用了。
模型效果
在PCB的3D渲染中,芯片的模型效果还是不错的。这样就不怕用的芯片没有3D模型了。