板子画完、DRC 过了、Gerber 也发出去了,结果结构那边一句"给我个 3D 看看"就把人问住了。打开 3D 预览,正面躺着几十个光秃秃的方块,电容没有身子,连接器没有壳,USB 座就是个扁片,板子看着像一块被人啃过的饼干。这时候你才意识到,嘉立创EDA里的3D模型并不是画完封装就自动长出来的,它需要单独挂上去。这篇东西就是把我这几年在嘉立创EDA里给封装配 3D 模型的完整流程拆开讲清楚:模型到底挂在哪一层、三条添加路径分别适合什么场景、位置旋转缩放怎么调、导入后"看不见"和"卡成幻灯片"怎么排查、模型从哪来找、怎么批量复用。适合已经能画板、但每次 3D 预览都糊弄过去的同学,也适合想把板子交给结构做干涉检查的硬件工程师。不吹概念,全是能直接抄的操作。
1. 3D模型挂在哪一层:先厘清符号、封装、模型的三段关系
很多人第一次加模型失败,不是操作不对,而是在错误的层级上操作。嘉立创EDA的数据结构是三层:原理图符号(Symbol)→ PCB 封装(Footprint)→ 3D 模型(Model)。3D 模型是挂在封装上的,不是挂在符号上的,也不是挂在"这个元件"上的。你打开原理图找半天"3D 模型"入口,当然找不到,因为原理图这一层根本不关心元件长什么样——它只关心引脚和网络的对应关系。
我见过有同学把模型加到了原理图元件的属性备注里,写了句"此处应有 USB 座模型",然后问我为什么 3D 里没显示。这就是没搞清楚层次。3D 模型属于封装属性,和焊盘、丝印、 courtyards 是同一级别的东西,它描述的是"这块 PCB 上这个位置会长出什么形状的实体"。
1.1 在原理图里找3D模型,方向就错了
顺带说一句,嘉立创EDA专业版的原理图符号属性里确实也能看到一些描述字段,但那跟 3D 渲染没有任何关系。真正的入口只有两个地方:PCB 编辑界面选中器件后的属性面板,以及封装编辑器里的 3D 模型设置区。你只要记住"3D 是封装的属性",后面所有的操作路径都能自己推出来。
这里有个容易混淆的点:同一个封装可能被多个器件复用。比如一个 0603 电阻封装,你板子上放了 40 个电阻,它们指向的是同一个封装。你在 PCB 里给其中一个电阻调了 3D 模型的偏移量,理论上其他 39 个也跟着变——因为它们共享同一份封装定义。但嘉立创EDA的处理方式是分层的:如果你只是在当前 PCB 的器件属性里临时改,那是板级覆盖;如果你进封装编辑器改,那是库级修改,所有引用这个封装的地方都受影响。
1.2 封装是模型的唯一宿主,同名封装共享同一份模型
这个机制带来的最大好处是效率。给一个 0805 电容配好模型,你板上 20 个 0805 电容全都有了,不用一个个调。代价是一致性风险:如果你偷懒,把一个 0603 封装的模型偏移量调歪了 0.3mm,那板上所有 0603 器件都是歪的,3D 预览里看着一排电容集体往右飘,特别壮观。
我一般的做法是:先在封装编辑器里把模型绑定好、对齐好,再回到 PCB 里看整体效果。PCB 里只做临时性的、针对个别器件的微调,而且心里要清楚这个微调可能不会被保存到库里,下次更新封装就丢了。
还有一点要提醒:从元件库直接调用、或者从商城带过来的元件,很多自带 3D 模型,但自带的模型质量参差不齐。有些是厂家原厂的精确模型,有些是别人随手拉伸的一个方块,甚至有些模型的原点压根不在焊盘中心。所以不要看到 3D 预览里有东西就以为搞定了,得转到侧面、底面各看一遍,确认它跟封装的实际尺寸对得上。
1.3 独立3D实体是另一条路,别和元件模型混为一谈
除了给封装绑模型,嘉立创EDA还支持在 PCB 里直接放置独立的 3D 实体。这条路是给"非元件"的东西准备的:金属外壳、散热片、电池、排线、亚克力面板、结构件安装柱,这些东西没有焊盘、没有网络、不进 BOM,但它们在物理空间里真实存在,会跟你的元件打架。
独立 3D 实体和元件模型的区别在于:前者是纯粹的几何体,不参与电气连接;后者是封装的一部分,跟着器件走。如果你把一个散热片做成一个"封装"再绑模型,那是绕远路,还容易在 BOM 里冒出一行莫名其妙的东西。直接用独立 3D 实体放进去,干净利落。
提示:独立 3D 实体在导出 STEP 时会被一起带出去,这点很关键。结构工程师拿到的就是一块带外壳、带散热片的完整装配体,干涉检查能一次做完。
理解了这三层关系,后面所有的操作就都有了坐标。你每次动手前先问自己一句:我要改的是库里的封装,还是当前板子上的这一个器件,还是跟元件无关的结构件?答案不同,入口就不同。
2. 三条添加路径的适用场景与操作细节
路径选错的典型表现是:明明只想给板子上的某一个连接器补个模型,结果跑进库编辑器改了半小时,还担心把别的工程搞坏。下面把三条路拆开讲,每条路什么场景用、怎么走、有什么后遗症。
2.1 直接吃库里的现成模型:省事但要看运气
嘉立创EDA的器件库体系里,很多常用器件(电阻、电容、二极管、常见 IC 封装、部分连接器)已经内置了 3D 模型。你在 PCB 里选中器件,右侧属性面板往下拉,如果有 3D 模型区域并且能预览到形状,说明这个封装已经绑好了,什么都不用做。
这条路的判断标准很简单:打开 3D 预览,看这个器件是不是个"能认出来的东西"。0603 电阻是个带两端电极的小长方体,SOP-8 是带引脚的黑色方块,USB Type-C 座子有金属壳和开口。如果长得对,收工;如果是个光板或者一个不带任何特征的方块,那就得自己补。
这里有个实操细节:内置模型不一定跟着封装走。有时候你从库里调了一个元件,原理图和 PCB 都正常,但 3D 预览里是空的。原因可能是这个封装的 3D 模型字段指向的是库里的某个资源,而你本地缓存里没有。解决办法是选中器件,在属性面板的 3D 模型设置里点一下"更新"或者重新指定一次模型,让它从库里拉一遍。不同版本的菜单位置略有差异,专业版和标准版也不完全一样,但逻辑都是"重新绑定一次"。
2.2 封装编辑器里绑定:一次绑定,全工程受益
这是最正规、最推荐的做法,尤其是你自己画的封装。操作逻辑是:在 PCB 里选中器件 → 右键或通过菜单进入"编辑封装"(专业版有"在库中编辑"之类的入口)→ 进入封装编辑器 → 找到 3D 模型设置区 → 指定模型文件 → 调整偏移和旋转 → 保存 → 回到 PCB 更新。
我用这条路最多的场景是自制连接器。比如一个 2.54mm 排针、一个 FPC 座、一个 DC 电源座,这些封装的焊盘是我自己按规格书摆的,3D 模型必须严格对齐,否则结构那边一做外壳就穿模。
绑定的时候有几个参数必须一次性调对:
| 参数 | 含义 | 常见取值 | 说明 |
|---|---|---|---|
| 模型文件 | STEP 或 WRL 路径 | 本地文件 | 建议统一放工程目录下的固定文件夹 |
| 偏移 X/Y | 模型相对封装原点的水平位移 | 0 或按实测填 | 单位毫米,正负号要看坐标系方向 |
| 偏移 Z | 模型相对板面的高度位移 | 通常为 0 | 想让元件"贴"在板上就保持 0 |
| 旋转 X/Y/Z | 模型绕三轴的旋转角 | 常见 0/90/180/270 | 顺序敏感,先转再移 |
| 缩放 | 整体缩放系数 | 通常 1.0 | 出现 25.4 或 0.039 就说明单位错了 |
封装编辑器的好处是改了就是改了,保存后所有引用这个封装的工程都受益。坏处也很明显:如果你改的是别人的库或者团队共享库,可能影响到其他人的项目。所以我的习惯是,自制封装优先放在个人库里,改坏了也不牵连别人。
还有一个细节值得说:封装编辑器里调整模型的时候,最好把焊盘、丝印、装配层都打开对照着看。只看 3D 预览容易判断失误,因为你不知道焊盘在哪。专业版的封装编辑器支持 2D 和 3D 切换,切到 2D 看看引脚位置,再切回 3D 看模型对不对,来回几次就对齐了。
2.3 PCB里给单个器件绑定:临时补救最快
有些时候你不想动库:比如这个工程是临时验证用的,或者这个封装是别人给的你不想改,或者模型只是用来给客户看一眼效果。这时候直接在 PCB 界面选中器件,属性面板里指定 3D 模型就行。
这条路的特点是快,缺点是不持久。板级覆盖的模型设置,在你下次从库里更新封装、或者重新导入网表的时候,有可能被覆盖掉。我有一次做演示板,花了二十分钟给五六个连接器调模型,结果第二天重新导了一次网表,全没了,只能重来。从那以后我就定了规矩:能入库的一律入库,只做一次。
不过这条路也有它的正当用途。比如你想试不同厂家的连接器模型哪个更贴合,可以先在 PCB 里快速换几个看看效果,确定了再去库里正式绑定。把它当成"草稿纸"用,别当成正式方案。
2.4 放置独立3D实体:外壳、散热器、结构件专用
这个功能在专业版里比较完整。入口一般在"放置"菜单里找 3D 相关的选项,选中后可以加载一个 STEP 文件,然后像摆放元件一样把它放到板子上,用属性面板调位置和角度。
我用它做过几件事:给一块小板子配一个钣金外壳,检查板边和外壳内壁的间隙;给一个大功率管配散热片,看它会不会顶到旁边的电解电容;给电池仓配一个占位体,确认装配顺序。这些东西都不进 BOM,只存在于 3D 空间里。
独立实体的对齐方式和元件模型不太一样,它没有封装原点可以参考,你得自己拿板框、定位孔、或者已知的元件位置当基准。我的做法是先在三维 CAD 里把外壳的坐标系原点定在板子的左下角(跟 PCB 的坐标原点对齐),导出 STEP 后直接放进来,偏移量填 0 就基本能对上。如果不这么做,每次都要手动挪,很痛苦。
注意:独立 3D 实体虽然不进 BOM,但它会占用 3D 预览的渲染资源。放三五个没问题,放十几个高精度外壳模型,预览就开始卡了。后面第 4 节会专门讲这个。
3. 位置、旋转、缩放:对齐才是真正吃时间的环节
模型加载进来只是开始,接下来才是磨人的部分。我统计过自己配一个复杂连接器模型的时间,导入只花十秒,对齐要花五到十五分钟。而且对齐这件事,没有"差不多"这个选项,差 0.5mm 在结构那边就是装不进去。
3.1 先问模型原点在哪,再谈偏移量
所有对齐问题的根源都是坐标系原点不一致。你的封装原点是哪个点?通常是元件的中心、或者 1 脚焊盘中心、或者封装编辑时的某个参考点。你的 STEP 模型原点是哪个点?可能是模型几何中心,可能是底面中心,可能是某个角落,也可能是作者随手定的一个位置。
这两个原点不重合,你就会看到一个偏移量。问题是这个偏移量从哪来?不能靠猜,要靠量。
我的标准流程是这样的:先在三维 CAD 或者模型查看工具里打开这个 STEP,看清楚它的包围盒尺寸和原点位置。比如一个 USB Type-C 座子,实际尺寸是 8.94 × 7.3 × 3.2mm,如果模型的包围盒是 8.94 × 7.3 × 3.2 并且原点在底面中心,那恭喜你,偏移填 0 就行。如果原点在底面左下角,那偏移 X 大概要填 +4.47,Y 填 +3.65,具体正负取决于你的坐标系方向。
实测技巧:嘉立创EDA 的 3D 预览里,模型的偏移调整是实时生效的,你可以一边改数值一边看效果。我的做法是把偏移量从 0 开始,先调 X,找到视觉上居中的位置,再调 Y,最后调 Z。每次只动一个轴,不要三个一起改,否则你会不知道是哪个参数在起作用。
还有一个更稳的办法:在封装编辑器里,把焊盘的中心坐标记下来,把模型的包围盒尺寸记下来,用算术算。比如一个 5 脚排针,焊盘在 Y 轴上从 -5.08 到 +5.08,中心在 0,那模型的 Y 偏移就应该是 0。这种算术比目测准得多,尤其是对称结构的器件。
3.2 旋转顺序与Z轴方向:90度不是随便转的
旋转比偏移更容易出错,因为旋转是有顺序的。绕 X 转 90 度和绕 Y 转 90 度,结果完全不同;先转 X 再转 Y,和先转 Y 再转 X,结果也不一样。嘉立创EDA 的旋转参数一般按照固定顺序应用,你填进去的数值是"绕该轴旋转多少度",但实际姿态取决于软件的合成方式。
最典型的场景是立式元件。比如一个 TO-92 封装的三极管,或者一个立贴的电解电容,模型在 CAD 里可能是"躺着"的(轴向沿 X),但你要它"站着"(轴向沿 Z),这就需要绕某个轴转 90 度。转哪个轴?想象你手里拿着这个模型,要把它从平放变成竖放,你是绕 X 轴翻还是绕 Y 轴翻?答案是看你希望它朝哪个方向倒。
我的经验是:先在模型查看工具里把姿态调好,再导出。这样导入嘉立创EDA 的时候旋转量就是 0,少一层出错的可能。如果模型是别人给的改不了,那就老实在软件里转,转完一定要从三个视角(正面、侧面、顶面)都看一遍,确认没有转反。
Z 轴方向是另一个高频坑。有些三维 CAD 软件默认 Z 轴朝上,而 PCB 的 Z 轴是板厚方向,往上是正。如果你发现模型整个"插"进板子里了,或者飘在板子上方老高,八成是 Z 轴方向搞反了。解决办法是把 Z 偏移改成负值,或者绕水平轴转 180 度再调。
还有一种情况:模型看起来位置对,但引脚朝向反了。比如一个连接器,开口应该朝板外,结果朝板内了。这种错误在 3D 预览的默认视角下不一定看得出来,一定要转到底面或者侧面看。我在一个项目里就犯过这个错,DC 座的开口朝着板子中心,结构那边做好外壳才发现装不进去,返工改板。
3.3 缩放异常基本都是单位惹的祸
如果你导入模型后发现它巨大无比,占据了整个视野,或者小得像粒沙子,几乎可以肯定是单位问题。STEP 文件头里会声明长度单位,通常是毫米或者英寸。有些 CAD 软件导出时单位声明和实际数值不匹配,导致模型被放大或缩小 25.4 倍。
判断方法很简单:看缩放倍数。如果模型大了约 25 倍,说明原始单位是英寸但被当成毫米了;如果小了约 25 倍,反过来。这时候你有两个选择:一是在缩放系数里填 1/25.4 或 25.4 修正;二是回 CAD 里重新导出,把单位明确设成毫米。
我强烈建议选第二种。缩放系数硬凑出来的模型,后续所有尺寸标注都是错的,结构那边拿去量间隙,量出来的数字不可信。回 CAD 重新导一次,几分钟的事,一劳永逸。
另外还有一种"假缩放":模型尺寸没错,但你感觉它偏大,其实是因为封装画错了。比如封装焊盘间距按 2.0mm 画的,实际器件是 2.54mm,那模型放上去当然显得挤。这种情况先查封装,别急着调模型。
4. 导入后"看不见"或"卡成幻灯片":完整排查链路
3D 模型这件事,失败的方式比成功的方式多。我整理了一套排查顺序,从最简单的原因往最麻烦的原因查,基本能在几分钟内定位。
4.1 从可见性开关一路查到Z坐标
第一层:模型到底有没有绑上。选中器件,看属性面板的 3D 模型区是不是空的。空的话就是没绑,或者绑定后没保存成功。有时候你点了文件路径,软件也读了,但没点确认,切个界面就丢了。
第二层:3D 预览里这个器件是不是被隐藏了。专业版的 3D 预览有图层或者显示控制,可以单独隐藏某类对象。如果你之前为了看板子背面把元件隐藏了,现在当然看不到。
第三层:模型是不是在板子外面。把视角拉远,转到顶视图,看看板框外面有没有一个孤零零的模型飘着。偏移量填错的时候特别容易出现这种情况,尤其是 X 或 Y 填了个几百的数。
第四层:Z 坐标是不是负数太大。模型跑到板子下面很深的位置,从默认视角看就是"消失"了。转到侧视图往下找找。
第五层:缩放是不是接近 0。如果缩放填了个 0.001 之类的值,模型小到看不见。这个一般是误操作,检查一下数值框。
第六层:模型文件本身是不是空的或者损坏的。用别的工具打开试试,如果别的工具也打不开,那就是文件问题,跟软件无关。
这套顺序走下来,90% 的"看不见"都能解决。剩下 10% 通常是模型文件格式不兼容,换个格式重新导一次。
4.2 面数与文件格式:STEP和WRL怎么选
嘉立创EDA 常见的 3D 模型格式是 STEP 和 WRL(VRML)。这两个东西的定位完全不同:
- STEP:实体模型,描述的是精确几何,有完整的曲面和边界定义。优点是精度高、尺寸准、能导出给结构做干涉检查;缺点是文件大、渲染慢,一个复杂的连接器模型可能几 MB。
- WRL:网格模型,描述的是三角面片。优点是文件小、渲染快;缺点是不精确,圆孔会变成多边形,尺寸有偏差,而且不适合做工程分析。
我的选择原则是:要交给结构做装配检查的,一律用 STEP;纯粹自己看看效果的,可以用 WRL。如果是整个工程都配 STEP,注意控制模型精度,圆角、螺牙、细密纹理这些特征能砍就砍。
面数是卡顿的直接原因。一个带螺纹的螺丝模型,如果螺纹做成真实几何,可能几万个面;而你只需要看它占多大空间,圆柱加个头部就够了。我在 FreeCAD 里做模型的时候,会把圆柱的分段数从默认的 32 降到 16,肉眼几乎看不出区别,面数少一半。
另一个卡顿源是模型数量。一块板子上 200 个元件,每个都配了中等精度的 STEP,3D 预览转起来就很吃力。这种情况下可以分级处理:关键器件(连接器、大芯片、电解电容、结构件)用精确模型,普通阻容用简化模型甚至不配。反正 0402 电阻在 3D 里就是个小方块,配不配区别不大。
4.3 三个我踩过的典型现场
现场一:模型明明绑了,3D 里就是没有,折腾半小时后发现是封装更新没同步。我在封装编辑器里绑好模型保存了,但 PCB 里的器件还是旧封装,需要手动"从库更新"。这个操作在专业版里是右键菜单或者菜单栏里的"更新封装",点一下就好了。后来我养成了习惯:改完库,回 PCB 第一件事就是全选更新。
现场二:连接器开口方向反了,3D 预览里看不出来,结构做完外壳才发现。那次是 USB Type-C,开口应该朝板边,结果模型转了 180 度朝板内。默认视角是从上往下看,只能看到壳体的顶面,看不出口朝哪。现在我调完任何带方向性的器件,都会转到四个侧面各看一次。
现场三:整板 3D 预览卡到无法操作,以为是电脑不行,实际是某个模型的面数爆炸。排查方法是把器件分组隐藏,二分法定位。最后发现是一个散热器模型,CAD 作者把散热鳍片的每一片都做了圆角过渡,几十万个面。换成简化版立刻流畅。
提示:如果 3D 预览卡顿但你又必须看,可以先把板子上的丝印、阻焊颜色这些渲染效果关掉,只留几何体,性能会好不少。
5. 模型从哪来,怎么批量复用
前面讲的都是"有了模型怎么加",但实际工作中更大的问题是"模型从哪来"。这一节讲讲我找模型和管模型的路子。
5.1 优先找原厂STEP,其次才是自己建
模型的第一优先级永远是原厂提供的 STEP。连接器、芯片、电源模块这类器件,正规厂家通常会在产品页面提供 3D 模型下载,格式就是 STEP,尺寸和实际一致。这种模型最靠谱,拿过来对齐一下原点就能用。
第二优先级是元件库平台自带的模型。嘉立创EDA 的库体系里已经带了一部分,直接调用省事。但要注意,自带的模型精度不一定高,尤其是非标器件。
第三优先级是自己建。什么时候必须自己建?找不到、找到了但版本不对、找到了但精度太差、或者这个器件是你自己设计的异形结构件。自己建虽然花时间,但可控性最高。
这里有个坑要提醒:网上流传的模型,尺寸不一定是真的。有些是爱好者凭感觉画的,标注尺寸和实际差个零点几毫米很正常。如果你要用它做干涉检查,一定要拿游标卡尺量一下实物,或者对着规格书核对关键尺寸。我吃过一次亏,一个排针模型的高度比实际矮了 1mm,结果结构那边留的间隙不够。
5.2 用免费工具补一个够用的模型
不是每个人都有商业三维 CAD 软件,但补一个"够用"的模型其实门槛不高。开源工具 FreeCAD 就能干这事,它的零件工作台可以拉伸、旋转、做布尔运算,导出 STEP 也没问题。
我的简化建模流程是这样的:先在草图里画出器件的俯视轮廓(长宽),拉伸到实际高度,然后补上关键特征——引脚、开口、定位柱。不需要做到和实物一模一样,只要外形尺寸准确、关键特征位置准确就够了。3D 预览的目的是看空间占用和装配关系,不是做产品渲染。
几个建模时的实用原则:
- 原点定在底面中心,这样导入后偏移量填 0 就能对上。
- 单位明确设成毫米,导出时检查一遍。
- 圆角分段数降到 8~16,肉眼看不出区别,面数省一大半。
- 不要做内部结构,看不见的地方全填实心。
- 螺纹用光孔代替,除非你真的需要拧螺丝的视觉效果。
按这个标准,一个普通连接器的模型二十分钟能搞定。比起翻遍全网找模型,有时候自己画更快。
5.3 建立自己的模型库与命名规范
模型这个东西,用一次是偶然,用十次就是资产。我现在的做法是:在本地建一个模型文件夹,按器件类别分子目录,文件名带上关键尺寸。
命名我用的格式是:类型_规格_尺寸.step,比如CONN_USBC_16P_8.94x7.3x3.2.step。这样一眼能看出是什么、多大,不用打开就能判断能不能用。三维模型最怕的就是一堆model1.step、新建文件夹(2).step,三个月后自己都不认识。
更进一步,如果你有团队,可以把常用的模型放到共享库里,封装和模型一起维护。这样新人接手项目,调用封装的时候模型自动就有了,不用重复劳动。
提示:模型文件和工程文件最好放在一起管理。如果模型放在某个临时下载目录,换个电脑或者清理磁盘就丢了,工程打开时 3D 预览全是空的,还得重新找一遍。
还有一件事值得做:给自己常用的封装做一次"3D 体检"。把常用库里的封装挨个打开 3D 预览看一眼,缺模型的补上,模型歪的调正,重复的合并。这个活儿一次性花个半天,后面几年都省事。我去年做过一次,把个人库里两百多个封装梳理了一遍,现在新项目开工,3D 预览直接就是齐的。
最后分享一个我个人的习惯:每次做完一块板子,如果给某个器件补了模型、调了对齐,我会顺手把调好的封装存回个人库。下一次遇到同样的器件,直接调出来就是对的,不用再对齐一遍。这个习惯看起来麻烦,实际上是最省时间的——对齐这件事,做一次和做十次,成本差十倍。