资讯详情

资讯详情

AD15封装库STEP 3D模型:插件对位与整板导出

简介这份资源是一份面向Altium Designer初学者的实操指导文档聚焦AD15版本下3D封装库的制作流程与PCB立体模型导出方法适合正在学习PCB设计、需要用STEP文件为元件建立三维封装的电子工程师与在校学生参考。压缩包内仅1个pdf文件约1.29MB属于轻量级图文教程其中对插件类元件捕捉点的添加、贴片模型的大致定位、Standoff Height高度参数调整以及Set Body Height快速匹配等环节均有配图说明并延伸讲到3D封装如何更新进PCB、如何通过File→Export→STEP 3D导出整板模型以及STEP文件的打开与单个元器件模型再导出思路。该资料已有1996人学习下载内容按操作顺序编排步骤清晰、门槛较低可帮助读者少走弯路快速掌握从封装建模到三维装配输出的完整链路。1. AD15 里把 STEP 塞进封装库这件事难点从来不在加载结构工程师现在开工第一句话基本都是「把 PCB 的 3D 模型发我」你要是只甩一个二维装配图过去对方多半会直接把需求打回来。Altium Designer 15 这个版本处在一个挺微妙的位置它已经能把 STEP 文件当作 3D Body 塞进封装库也能把整板导出成 STEP但菜单路径、对话框字段跟 AD20 之后的版本差了一大截网上能搜到的截图大多对不上号照着做经常卡在某一步找不到按钮。真正卡人的地方也不是「加载 STEP」这个动作本身。双击一下、选个文件谁都会。麻烦的是插件类封装的对位精度和高度补偿——排针、USB 座、接线端子这些要穿过板子的器件3D 模型偏个 0.2mm跟外壳一干涉前期的结构评审就白做了。贴片器件反而好办大致放在焊盘上方、高度差不多就行。这篇按 AD15 的实际菜单走一遍完整链路封装库里加载 STEP、用捕捉点给插件封装做精确对位、调 Standoff Height、更新封装到 PCB最后用 File → Export → STEP 3D 导出整板。每一步都标出参数该填什么、哪一步最容易翻车。适合手上只有 AD15 的老项目维护者也适合需要从整板上单独抠出某个连接器模型的人。2. Place → 3D BodySTEP 加载入口与贴片/插件两条对位路线2.1 先搞清楚 Place → 3D Body 弹出的对话框打开封装库文件.PcbLibPlace → 3D Body这一步在 2D 模式和 3D 模式下都能执行看你习惯。放置的瞬间会弹出参数对话框里面最关键的是「3D Model Type」这一项要选成 Generic Step Model 才能往下走另外还会问你是 Embed嵌入到库文件里还是 Link只存路径引用。这里有个很实用的操作习惯第一次弹出的对话框直接点取消。原因是第一次放置时你还没确定模型的空间姿态对话框里填的旋转角和偏移量基本都是瞎猜填完还要回头改。更顺的做法是先取消接着在 2D 视图里双击这个 3D Body在弹出的属性面板里重新绑定 STEP 文件并调位置所有参数都能改改坏了还能撤销。对话框字段常见取值说明3D Model TypeGeneric Step Model只有这一项能加载外部 STEPEmbed / LinkEmbed嵌入后库文件自包含换机器不会丢模型Rotation X/Y/Z0 / 0 / 0 起步模型朝向不对时在这里调单位是度Standoff Height0 起步模型底面相对板面的高度Snap Points由捕捉工具生成不要手工填选择 Embed 会明显增大 .PcbLib 的体积但工程交接时省心得多。厂库里几百个器件全 Embed文件做到几十兆是常事。提示STEP 文件路径里不要出现中文和空格AD15 读路径的兼容性不如后来的版本路径含中文时经常出现「模型加载成功但显示不出来」的情况。厂商给的模型命名往往五花八门接进库之前先做一轮批量整理模型名跟封装名对齐后面同步到 PCB 时才不会对不上号# 把厂商 STEP 目录里的文件名规范成「封装名.step」去掉空格和括号 $src D:\vendor_step Get-ChildItem $src -Recurse -Include *.stp,*.step | ForEach-Object { # 空格转下划线去掉 (1) 这类重复标记 $base $_.BaseName -replace \s, _ -replace \(\d\), $new Join-Path $_.DirectoryName ($base.Trim(_) .step) if ($_.FullName -ne $new) { Rename-Item $_.FullName $new -WhatIf } }脚本里的-WhatIf先做空跑确认重命名清单没问题再摘掉它真执行。-replace \s, _处理空格-replace \(\d\), 处理浏览器重复下载产生的那种尾巴。2.2 贴片封装粗放放置加高度对齐就够贴片器件的引脚不穿板3D 模型只要保证 XY 上大致盖住焊盘、Z 方向不沉到丝印层以下视觉上就过关了。具体做法是双击 3D Body在属性里微调 X/Y 偏移让模型本体居中然后切到 3D 视图快捷键 3转一圈看看如果发现黑色实体有一部分跑到丝印层下方去了说明模型底面比板面低了把 Standoff Height 往上加就行。加多少合适最省事的判断方式是看模型有没有埋进板里。板厚 1.6mm 的板子在 3D 视图里用鼠标拖动旋转从侧面看模型底面应该刚好贴在板子顶面上不多不少。偏移量一般不会超过 0.5mm如果需要填一个很大的值才能对齐八成是模型原点本身不在底面中心这时候宁可回 FreeCAD 里重新导出一次模型也别在 AD 里硬凑。2.3 插件封装为什么要走精确对位这条线插件器件在 3D 视图里是一眼就能看出问题的。排针的塑胶体和针脚如果和焊盘孔错开从顶视图看就是歪的USB 座、RJ45 这类连接器偏一点点跟外壳的开口就对不上。AD15 提供的解法是给 3D 模型打捕捉点让模型吸附到焊盘中心上。这套流程比手工拖坐标精度高得多尤其是阵列式排针一个模型上打两三个捕捉点就能一次对正。贴片和插件两条路线的差别可以这样归纳封装类型对位方式精度要求高度处理贴片0402、QFN、SOP手工拖动 XY 偏移目视即可Standoff Height 目测调整插件排针、USB、端子捕捉点吸附焊盘中心亚毫米级Set Body Height 拾取混合带固定脚先捕捉定位脚再微调本体亚毫米级两者结合3. Add Snap Points From Vertices 与 Standoff Height精准对位与高度补偿3.1 两点定中心捕捉引脚中心的完整操作序列这是整篇里最需要照着做的部分。进 3D 视图菜单走 Tools → 3D Body Placement → Add Snap Points From Vertices。第一步单击要添加捕捉点的那个引脚鼠标移动时会跟出一个蓝色的十字光标。第二步把蓝色十字光标移到引脚的一个棱角上此时按一下空格键鼠标不要移动紧接着单击左键这一步是在标记第一个对角顶点。第三步把鼠标移到同一引脚的对角棱角处单击左键。这时如果屏幕上出现了白色的十字架就说明这个引脚的中心点已经被成功捕捉到了。最后点击右键结束本次捕捉。拆开看这个操作的逻辑是用两个对角顶点确定一个立方体空间软件取这个空间的中点作为吸附基准。所以第二步那个「按空格再单击」的顺序不能乱空格起的是锁定当前基准点的作用先单击再按空格取的顶点位置就漂了。注意整个捕捉过程必须在 3D 模式下做2D 视图里没有顶点可选菜单里那几项也会是灰的。阵列排针不用每个脚都打一遍同一个模型上打两到三个分布较开的引脚就够了软件会按这几个基准建立整体的变换关系。3.2 切回 2D 模式验证焊盘自动吸附捕捉点建好之后按快捷键 2 切回 2D 模式。这时候那个白色大十字光标会一直跟着鼠标把它拖到对应焊盘的中心接近的时候软件会自动吸附过去松手即完成对位。对完之后再切回 3D 视图快捷键 3转一圈从侧面看引脚是不是正好落在焊盘孔位上。如果吸附不上通常是两个原因一是捕捉点其实没建成功屏幕上没有白色十字架二是焊盘本身不在网格上先按 G 检查一下网格设置或者用 Design → Board Options 看一下捕捉栅格。还有一种情况是捕捉点是建在模型的一个孤立小特征上比如散热片角落那取到的中心自然就偏了。3.3 Standoff Height 手动调和 Set Body Height 自动拾取对位解决的是 XYZ 方向还得单独处理。AD15 里两条路手动的方式是双击 3D Body在属性面板里改 Standoff Height 的数值一边改一边在 3D 视图里看效果直到模型底面刚好贴合板面或者刚好穿过孔位。适合结构简单、凭肉眼就能判断的模型。自动的方式是工具菜单里的 Set Body Height。点击一下目标 3D 模型会出现蓝色十字光标把它移到黑色实体的底部棱角上单击弹出确认对话框后点 OK软件就把这个棱角的高度写成了体高度基准。对于带台阶的连接器这个方式比手工试数值快得多。参数作用调整建议Standoff Height模型底面相对板面的抬升量插件封装以引脚穿过焊盘为准Set Body Height拾取顶点自动设定体高适合有台阶、有多个高度面的模型Rotation X/Y/Z模型在三个轴上的旋转每次只改一个轴避免互相干扰模型在 FreeCAD 里的实际高度可以先量出来用来反推 Standoff Height 该给多少# FreeCAD 控制台量出 STEP 模型的 Z 向包围盒为 Standoff Height 取值提供依据 import FreeCAD, Import Import.insert(rD:\3DModels\USB_A.step, usb) doc FreeCAD.ActiveDocument shape doc.Objects[0].Shape bb shape.BoundBox # ZMin 通常就是模型底面在自身坐标系里的高度 print(ZMin%.3f ZMax%.3f 总高%.3f % (bb.ZMin, bb.ZMax, bb.ZMax - bb.ZMin))BoundBox返回模型的最小包围盒ZMin是底面、ZMax是顶面两者之差就是总高。如果 ZMin 是个很大的负数说明模型原点离本体很远这正是 AD 里怎么调都对不齐的根因回 SolidWorks 或 FreeCAD 把原点移到本体底面上再导出一次更省时间。3.4 Remove Snap Points 什么时候该用白色大十字光标在 2D 视图里晃久了确实碍眼尤其是做密集布局的时候它会挡住底下的走线。清理方式是回到 3D 模式Tools → 3D Body Placement → Remove Snap Points然后点选要去掉的捕捉点。但不要对完位就立刻删。捕捉点留着后面调整封装、换模型版本、重新同步到 PCB 的时候都还用得上。真正该删的场合是模型已经定版并且要提交到共享库捕捉点信息留在库里除了干扰编辑没有别的用处。如果删完之后发现位置又偏了那就得从头再打一遍捕捉点所以删除前先在 2D 视图里确认对位结果已经正确。4. 封装库同步到 PCB 与 File → Export → STEP 3D 的参数配置4.1 库路径、工程目录与 3D 模型生效的三个前提封装库里做好的 3D Body要出现在 PCB 上得满足几个条件缺一个就会出现「库里明明有模型PCB 里是空的」。第一封装库和 PCB 文件放在同一个工程目录下或者库已经被加入到工程的库搜索路径里。AD15 的库优先级是按工程内库 → 已安装库 → 系统库的顺序找的工程内能访问到的库最优先。第二PCB 文件本身是打开状态。原理图里调用封装生成新 PCB 的场景也要注意得先把目标 PCB 建出来再让它去抓封装。第三更新之后要手动执行一次同步动作。工具菜单里做 Update From Library选上要更新的器件勾选 3D Body 相关的更新项确认执行。执行完切到 3D 视图模型应该就出现了。要是同步完还是空的按这个顺序查库文件是不是没保存PcbLib 改了不保存PCB 那边抓的还是旧版本、工程的库路径里是不是有同名封装被优先命中了、器件的封装名大小写是不是和库里一致。4.2 导出对话框里的格式与单位怎么选AD15 的导出入口是 File → Export → STEP 3D命名保存之后会弹出设置对话框。几个值得留意的字段导出格式上AP214 支持颜色信息机械那边打开后能看到元件的配色做装配说明比较友好AP203 兼容性最广老版本的机械软件也能读。不确定对方用什么软件的时候选 AP214 更稳。单位这一项要跟机械那边的建模单位对齐毫米是最常见的选择。单位选错模型过去之后要么放大 25.4 倍要么缩成一小块。导出范围一般选整板包含板外形和所有器件模型如果只想要结构件可以在导出前把无关的 3D Body 临时隐藏或者在对话框里按需筛选。提示导出前先保存一次 PCB 文件。AD15 在导出较大板子时偶尔会直接卡住没保存的话白干。导出完成后可以用一小段脚本快速核对文件是不是完整的# 统计 STEP 文件里的实体数量和文件体积判断导出是否完整 import re p rD:\export\board.step with open(p, r, encodingutf-8, errorsignore) as f: text f.read() # MANIFOLD_SOLID_BREP 是 STEP 里描述实体的关键字数量通常对应器件个数 print(实体块:, len(re.findall(rMANIFOLD_SOLID_BREP, text))) print(文件大小(MB): %.2f % (len(text) / 1024 / 1024))实体块数量明显少于板上器件数说明有模型没被导出回头检查那些器件是不是只放了 2D 封装没放 3D Body。文件大小只有几百 KB 而板子上有上百个器件基本可以判定导出不完整。4.3 导出后 STEP 打不开或丢件的排查顺序STEP 打不开先分清是文件问题还是软件问题。用记事本打开文件头正常的 STEP 开头是ISO-10303-21;结尾是END-ISO-10303-21;。缺了结尾说明文件写入被中断重新导一次。丢件是最常见的反馈。排查顺序是先在 AD 的 3D 视图里确认所有器件都显示了模型有的器件是 3D 视图里就没模型导出自然不会带再确认导出对话框里的范围筛选没有误勾最后确认那些器件的 3D Body 是不是被放在了机械层以外的层上层不对的话导出时会被忽略。另外整板导出后文件动辄几十兆机械那边打开会很慢。如果对方只关心外壳的干涉情况导出前把板上的小元件0402 电阻电容之类删掉或者隐藏能显著减小文件体积。5. 用 FreeCAD 复核导出的 STEP 并单独剥出单个器件的模型整板 STEP 过去之后机械那边的下一个需求往往是「把那个 USB 座的模型单独给我一份」。AD15 本身不提供从整板里抠单件模型的入口常见的做法是拿 FreeCAD 或 SolidWorks 打开整板文件把不需要的实体删掉再另存。FreeCAD 里打开 STEP 之后左侧模型树是一长串实体列表每个实体对应板上的一个器件或者一部分板体。选中一个实体按 Delete 删掉剩下的就是目标模型。如果实体数量太多用 Ctrl 多选批量删更快。删完 File → Export 另存成 STEP 就行。要更精确地按位置筛选实体可以用 Python 控制台直接过滤# FreeCAD按包围盒位置筛出位于板边缘的实体导出为单独的 STEP import FreeCAD, Part doc FreeCAD.ActiveDocument picked [] for obj in doc.Objects: if not hasattr(obj, Shape): continue bb obj.Shape.BoundBox # 以板右下角 USB 座所在的坐标区间为例按实际板子尺寸改这几个数 if bb.XMin 120 and bb.YMin 15 and bb.ZMax 3: picked.append(obj) Part.export(picked, rD:\export\usb_connector.step) print(导出实体数:, len(picked))BoundBox给出每个实体在整板坐标系里的范围用 XMin/YMin/ZMax 这几个条件就能圈出目标器件所在的区域。坐标区间要先在 AD 里量——把鼠标移到目标器件上状态栏里会显示当前的 X/Y 坐标记下来当参考值。Part.export接收的是对象列表所以可以把多个相关的实体一起导出比如连接器本体加它的固定脚。最后一步验证把剥出来的单个 STEP 重新导回 AD 的封装库跟原封装叠在一起看位置应当完全重合。不重合就说明导出时坐标系被改了回 FreeCAD 里检查是不是动了模型的原点或者导出时勾了「Apply placement」这类选项。把这一步做通之后新建的封装直接复用这套已经验证过的模型比每次重新对位靠谱得多。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →