Altium Designer实战:在PCB封装界面按坐标与尺寸创建3D基础结构

1次阅读
没有评论

共计 2375 个字符,预计需要花费 6 分钟才能阅读完成。

image.webp

手工绘制 3D 体的效率痛点

每次在 PCB 封装设计中手动绘制 3D 体时,最头疼的就是需要反复调整尺寸和位置来匹配焊盘坐标。传统方法通过鼠标拖拽不仅精度难以保证,当遇到复杂结构时更会消耗大量时间。特别是在设计带散热片的 IC 封装或异形连接器时,这种低效操作直接影响整个项目的进度。

Altium Designer 实战:在 PCB 封装界面按坐标与尺寸创建 3D 基础结构

坐标驱动的基础几何体创建

1. 精确创建基本 3D 体

Altium Designer 的 3D Body 工具(Place->3D Body)其实支持直接输入坐标和尺寸参数,但很多工程师都忽略了这一高效功能。以下是具体操作流程:

  1. 激活 PCB 库编辑器,切换到 3D 布局模式(快捷键 3)
  2. 执行 Place->3D Body 命令,在属性面板选择 ”Extruded” 类型
  3. 关键步骤:在 ”Properties” 面板直接输入以下参数
  4. X/ Y 坐标:与焊盘中心对齐的绝对位置
  5. 长 / 宽 / 高:根据器件手册的机械尺寸填写
  6. Standoff Height:处理器件底部间隙

对于圆柱体等特殊形状,需注意:
– 半径值 = 直径 / 2 需换算
– 旋转轴心默认在几何中心,必要时用 ”Rotation” 参数调整

2. 参数计算公式实例

以某 QFN 封装为例:
– 主体尺寸 5x5mm,高度 1mm
– 中心坐标 (10,10)
则应输入:

X=10mm, Y=10mm
Size X=5mm, Size Y=5mm, Size Z=1mm

STEP 模型的高级应用

1. 模型导入规范

当基础几何体无法满足需求时,可导入专业机械建模软件生成的 STEP 文件:

  1. 准备 STEP 模型时需确保:
  2. 文件版本建议 AP214 或 AP203
  3. 单位必须与 PCB 库一致(毫米 / 英寸)
  4. 原点对齐器件几何中心

  5. 导入步骤:

  6. 执行 Place->3D Body
  7. 选择 ”Generic STEP Model”
  8. 指定文件路径后,检查 ”Scale” 参数(通常 1.0)

2. 单位校准技巧

曾遇到某次导入的模型显示尺寸异常,原因是:
– 建模软件使用英寸单位
– PCB 库设置为毫米
解决方案:
– 在 CAD 软件导出时转换单位
– 或导入 AD 时设置 Scale=25.4

模型关联的黄金法则

1. 2D/3D 匹配校验

完成 3D 体放置后必须执行:

  1. 切换至 3D 视图(快捷键 3)
  2. 开启 ”View Configurations” 中的透明模式
  3. 逐层检查:
  4. 焊盘与 3D 体引脚是否对齐
  5. 丝印轮廓是否包裹 3D 主体
  6. 禁止布线区是否匹配实体尺寸

2. 常见问题处理

遇到 3D 体不显示时,检查:
– 是否启用 ”View->3D Bodies” 显示选项
– 模型法线方向是否正确(翻转面用 ”Invert 3D Body”)
– 机械层是否与 3D 体所在层冲突

自动化脚本解决方案

1. Delphi 脚本实例

以下脚本可批量生成立方体 3D 体:

procedure Create3DBody;
var
   PCB3DBody : IPCB_3DBody;
   X,Y,SizeX,SizeY,SizeZ : Float;
begin
   // 参数设置区域
   X := 10.0;       // 中心 X 坐标 (mm)
   Y := 10.0;       // 中心 Y 坐标 (mm)
   SizeX := 5.0;    // 长度 (mm)
   SizeY := 5.0;    // 宽度 (mm)
   SizeZ := 1.0;    // 高度 (mm)

   // 创建 3D 体
   PCB3DBody := PCBServer.PCBObjectFactory(e3DBodyObject, eNoDimension, eCreate_Default);
   PCB3DBody.BodyProjection := e3DBodyProjection_Extended;  // 拉伸类型
   PCB3DBody.SetState_XLocation(X);
   PCB3DBody.SetState_YLocation(Y);
   PCB3DBody.SetState_Size_X(SizeX);
   PCB3DBody.SetState_Size_Y(SizeY);
   PCB3DBody.SetState_Size_Z(SizeZ);

   // 添加到当前封装
   PCBServer.SendMessageToRobots(PCBLibBoard.I_ObjectAddress, c_Broadcast, PCBM_BeginModify, nil);
   PCBLibBoard.AddPCBObject(PCB3DBody);
   PCBServer.SendMessageToRobots(PCBLibBoard.I_ObjectAddress, c_Broadcast, PCBM_EndModify, nil);
end;

2. 脚本使用技巧

  1. 通过 Excel 生成坐标 CSV 文件,用脚本批量读取
  2. 添加边界检查逻辑,避免模型超出板框
  3. 版本适配代码:
    // AD21+ 版本 API 兼容
    if (ADVersion >= 21.0) then
       PCB3DBody.SetState_Layer(eTopLayer)
    else
       PCB3DBody.Layer := LayerStack.FirstLayer;

必知的避坑指南

1. 模型缩放异常处理

当导入模型显示尺寸不对时:
1. 检查 STEP 文件单位
2. 测量模型中已知特征尺寸
3. 按公式计算正确比例:

 实际比例 = 预期尺寸 / 当前显示尺寸 

2. 机械层冲突解决

3D 体与机械层重叠导致 DRC 报错时:
1. 优先保持 3D 体在 ”Multi-Layer”
2. 机械层仅保留 2D 轮廓信息
3. 使用 ”3D Body Manager” 统一管理显示优先级

3. 版本兼容性

注意不同 AD 版本差异:
– AD20 以下不支持嵌套 STEP 装配体
– AD22 开始增强圆柱体平滑度
– 保存时选择 ”STEP AP214″ 格式兼容性最佳

进阶思考方向

当前方案虽然解决了单封装建模问题,但对于系列化封装(如不同 pin 数的连接器)仍需要重复劳动。能否通过以下方式实现自动化:
1. 建立参数化 Excel 表格定义尺寸关系
2. 开发脚本自动读取参数并生成 3D 模型
3. 与公司元件库系统集成,实现模型自动更新

下次将探讨如何结合 Altium Designer 的封装向导和脚本 API,构建智能化的 3D 模型生成系统。

正文完
 0
评论(没有评论)