ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Allegro机械符号创建全流程:板框、安装孔与Mark point的标准化PCB设计

2026/10/7 10:56:11 拓冰建站 浏览量
Allegro机械符号创建全流程:板框、安装孔与Mark point的标准化PCB设计 这事说起来挺有意思很多用 Allegro 做 PCB 的工程师封装库整理得井井有条焊盘、器件封装、图框全都很齐全但打开 Place 对话框翻到 Mechanical symbols 那一栏往往是空的。我早年也这样觉得机械符号就是个“画个板框、放几个孔”的事等真正做过几个产品之后才明白机械符号建得好不好直接影响板子能不能顺利装进结构壳、钻孔文件能不能一次通过检查甚至影响项目在改版时能省多少事。这篇东西就把我在 Allegro 里建立机械符号的完整思路和实操过程整理出来从库规划到画板框、放安装孔、加 Mark point再到常见坑的排查基本覆盖你日常会用到的所有场景。新手可以照着一步步做老手也可以看看有没有能优化的细节。1. 机械符号在 Allegro 库体系里的位置以及它到底管什么事1.1 四种符号各干各的活机械符号管的是“非电气”部分Allegro 的符号体系分为几类很多人分不太清这里先梳理一下。Package symbol 是器件封装比如电阻电容芯片这种核心是带电气属性的焊盘和丝印Format symbol 是图框负责标题栏、边框这些图纸信息Flash symbol 是散热焊盘里的热释放标识配合负片层使用最后一个就是 Mechanical symbol翻译过来叫机械符号它专门承载板子上和电气无关、但物理结构上必须存在的元素。机械符号最典型的内容包括板框外形Board Outline、安装孔、定位孔、Mark point光学定位点、禁布区、高度限制区、V-cut 拼板指示、邮票孔等。说白了凡是结构工程师在 DXF 里画给硬件工程师看的东西最终落到 PCB 上时都应该在机械符号里体现。它不是某个器件的封装更像是“整块板子的物理底稿”。很多工程师习惯直接在 PCB 设计文件里手动画板框不单独建机械符号。这样不是不能用但问题在于一旦公司有多个产品系列或者同一个结构底板需要反复适配不同功能的子板你会发现每次都要重新画而且每次画的尺寸可能有细微偏差给结构装配埋雷。机械符号的意义就是把这类“一整块板的物理属性”做成可以复用的标准模块。1.2 机械符号没建好通常会出哪些幺蛾子我见过最典型的翻车场景是这样的结构工程师给了一个 DXF板框外形、安装孔位置都在里面硬件工程师直接导入 Allegro看着也没啥问题就往下走线了。结果等到打样回来装配的时候发现定位孔偏了 0.2 毫米或者 Mark point 被敷铜盖住光贴机识别不出来。这种问题往往不是画图不仔细而是机械信息没有被系统化管理。如果机械符号的图层规划不清晰麻烦会更多。比如板框线画在了 Board Geometry/Silk 层或者安装孔只是用 Line 画了个圈没有用真实的 Padstack 做成孔那在出钻孔文件时就会缺孔。再比如多个工程师协作时有人习惯把板框放在 Design Outline有人放在 Board Geometry/Outline最后合并文件时图层混乱导出的 DXF 结构和 PCB 实际形状对不上。所以建机械符号不是一个“画个图存起来”的简单动作它背后是对图层、单位、钻孔数据、复用方式的一套纪律。纪律立好了后面所有项目都会受益。1.3 哪些产品形态最需要机械符号库不是所有项目都需要马上建机械符号库但我建议以下几类情况优先做产品有结构外壳板子需要配合螺丝孔、定位柱、卡槽等结构件公司做平台化系列产品同一块板子经常裁剪出不同版本或者同一结构内放多款功能板需要频繁进行板级仿真、结构验证DFM 检查量很大设计中大量使用拼板、V-cut、邮票孔等工艺结构。如果你画的板子基本都是简单两层板而且没有外壳安装要求那机械符号的价值暂时不明显。但只要涉及一次壳体配合你就能体会到“标准化机械符号”带来的效率提升。2. 建机械符号之前花十分钟把库环境和参数理顺2.1 机械符号单独建库别和封装焊盘混在一起很多人的本地库目录就一个文件夹所有 .dra、.psm、.fsm 文件撒在里面。短时间没啥问题库文件多了之后想找某个机械符号就得翻半天。我建议在库根目录下按符号类型分子目录大概这个样子allegro_lib ├── symbol │ ├── package │ ├── mechanical │ ├── format │ └── flash └── padstack然后在 Allegro 里配置路径时把 Mechanical Symbol 的路径单独指到symbol/mechanical。Allegro 的路径设置入口在 Setup - User Preferences - Design Paths其中bmp还是psmpath这些变量各有分工我一般习惯在启动文件env里统一写好公司多台电脑迁移也很方便。这里有个经验库路径里不要放中文目录某些版本对中文路径支持不好会出现明明文件在但保存或放置时提示找不到的情况。所有工程师统一用英文路径能省掉很多沟通成本。2.2 单位和精度统一整个公司最好用同一套单位不一致是我见过最隐蔽的坑。结构工程师习惯用毫米硬件工程师如果习惯用 mil两边文件一交换就可能出现小数点后两位的偏移。我的建议是做机械符号以及板框相关的内容全部统一用毫米mm并且精度设置到小数点后 4 位也就是能分辨到 0.0001mm。虽然制造层面用不到这么细但可以避免舍入误差累积。Allegro 的单位设置用 Setup - Design Parameter Editor 或者 Drawing Options 里的 Accuracy 调整。画板框和机械符号之前一定要先确认当前设计单位不要画到一半再改改单位之后已经画的圆弧、尺寸标注经常会出现奇怪的变形。格点方面机械符号和结构配合相关的图形建议用 0.0254mm相当于 1mil或者 0.1mm 格点。太细的格点画出来的线不干净太粗的格点又很难精确对上结构尺寸。定位孔的位置我一般建议直接用坐标输入而不是用鼠标点击确保和 DXF 里的结构坐标完全一致。2.3 DXF 文件预处理先把结构图收拾干净再导入结构工程师给的 DXF通常不是直接能用的。里面可能包含标注尺寸线、中心线、辅助线还有各种图层直接导入 Allegro 会让画面非常乱而且容易把多余的线误当成板框。我现在的流程是先把 DXF 用 CAD 打开做如下清理删除所有尺寸标注和文字说明只保留外形轮廓、孔位圆心、铣槽轮廓把需要用的图形统一归到一个或两个图层比如“OUTLINE”放外形“MOUNT_HOLE”放孔中心标记确认 DXF 的单位是 mm并且坐标系原点和 PCB 设计需要的原点一致删除所有重复的线段把断开的线合并成闭合多段线。这样处理完之后DXF 导入 Allegro 才不容易出错。导入时选择 File - Import - DXF图层映射可以把 DXF 的 OUTLINE 层映射到 Allegro 的 Board Geometry/Outline 层。即使你有很成熟的机械符号库处理标准结构的 DXF 时也建议先清理再导入把需要复用的部分抽出来存成符号而不是每次都整个导入。3. 从零到一Allegro 建立机械符号的实操流程3.1 新建机械符号类型、命名和画布原点怎么选在 Allegro 中新建机械符号很简单File - NewDrawing Type 选择 Mechanical symbol。这里有个初学者容易搞混的地方新建封装时选的是 Package symbol新建图框选 Format symbol新建机械符号一定不要选错否则后面保存和放置都会出问题。命名规则我会建议带上前缀和版本信息比如M_MODULE_A_V10前缀 M_ 标识这是机械符号后面接产品模块名和版本。不要用中文名也不要只写m1、m2这种含义不明的名字。库文件多了之后一个好名字能省去大量查找时间。新建符号之后首先要确认原点位置。机械符号的原点建议放在板框左下角或者放在结构工程师指定的基准点。不要随手在画布中间开始画因为后续在 PCB 中放置机械符号时原点就是放置坐标的锚点如果原点不在板框的关键点上后续对齐很麻烦。画布范围可以设置得比板框大一些避免画异形板时线跑出边界。这个在 Setup - Design Parameter Editor 里调整。3.2 画板框直线、圆弧、异形板的处理板框是机械符号里最核心的部分。常见画法是在 Add - Line 下选择 Board Geometry/Outline 层然后开始画闭合轮廓。矩形板可以直接用 Add - Rectangle画完会自动变成四段闭合的 Outline。如果板子是异形比如有圆弧、倒角、铣槽我建议先把 DXF 导入当前设计然后用 Z-Copy 或直接通过层映射把它复制到 Board Geometry/Outline 层。导入后的线条可能不是闭合的可以用 Edit - Merge 把断点接上或者用 File - Import - DXF 后在导入选项里让系统自动合并。画圆弧时Allegro 提供 Add - Arc 命令支持三点画弧、圆心半径画弧等模式。我自己的经验是圆弧尽量用 DXF 导入不要手工画因为手工画出来的圆弧中心点经常和结构坐标对不上。如果非要手工画建议用坐标方式输入圆心和半径并且在属性里把圆弧的精度调高避免出现多边形逼近的走样。板框画完之后强烈建议执行一次 Manufacturing - Checkline 或者用shape命令检查是否闭合。很多后续操作的默认条件是 Outline 必须闭合比如自动铺铜、生成板框、导入导出 DXF一旦布线拉完后发现板框有缺口返工会很浪费。3.3 放安装孔和定位孔先做非金属化 Padstack安装孔、定位孔不是简单画个圆。要保证钻孔文件正确导出必须使用真正的 Padstack而不是图形线条。我的做法是先在 Padstack Editor 里建一个机械孔专用 Padstack命名为M_HOLE_3P2MM这种含义是非金属化孔直径 3.2mm。建立机械孔的 Padstack 时有几个关键点Type 选择 Through Hole但不要定义电气属性不做电镀Drill 直径按实际要求填比如 3.2mm因为不需要电镀和连接铜箔所以 Default internal 和 Top/Bottom 层的 Regular Pad 可以留空或者设置比孔径小很多、不与任何网络连接的阻焊结构要加上 Board Geometry/Drill_Figure 和 Manufacture 层的钻孔符号否则生成钻孔图的时候显示不出来。Padstack 建好之后回到机械符号编辑界面用 Add - Pin 把 Padstack 放到对应坐标。放置时选择 Symbol pin type 为 mechanical这样这个 pin 不会参与电气连接也不会有网络名但它会真实出现在钻孔文件和装配图上。定位孔如果只是用于 PCB 生产定位通常也是非金属化孔做法一样。如果有些孔需要电气连接地网络那就不建议放在机械符号里了应该放到具体器件封装或直接在 PCB 中放置因为机械符号的 pin 没有电气网络强行处理反而别扭。3.4 加 Mark point、禁布区和 V-cut 标记板子表面贴装时一般都需要在板对角放 Mark point。它虽然是光学定位用的但我都把它作为机械符号的一部分来维护。Mark point 通常由一个小铜圆片和一圈禁布区组成。在机械符号里可以画一个理想圆盘在顶层和底层对应位置然后再画一个比圆盘稍大的圆形 Route Keepout避免其他走线靠近影响视觉识别。禁布区包括走线禁布区和铺铜禁布区。机械符号里要画的通常是结构性的禁布区比如板边内缩多少距离不能走线、不能铺铜。在 Allegro 中可以直接用 Shape - Rectangular 或 Polygon选择 Route Keepout 和相应层画出禁布范围。这个会自动覆盖整个机械符号放置到 PCB 后即生效。V-cut 拼板标记一般是用 Line 画在 Board Geometry/Outline 层上的短线表示拼板边界也可以单独放在 Board Geometry/Vcut 类里。拼板的邮票孔则要结合实际的带孔 Padstack 来画。机械符号里画这些的好处是拼板模板做一次之后后面每次拼板直接复用不需要重新画。对于高度限制区可以在机械符号里画一个 Outline然后在属性里标明高度限制值供 3D 检查和结构干涉分析使用。Allegro 17.4 以上对机械符号的属性支持更完善可以借助 Setup - Areas 命令添加各类区域比如 Package Keepin、Route Keepout、Height Constraint Area。3.5 保存、调用和更新机械符号真正用起来符号画完后File - Save 会生成 .dra 文件同时库里会生成对应的符号文件放置时就能在 Place 对话框里看到。在 PCB 设计中使用 Place - Manually然后从 Advanced Settings 里的 Placement List 选择 Show symbols从下拉框切到 Mechanical symbols就会出现你建好的机械符号。放置时一般把原点对准 PCB 上的板框原点或者结构工程师指定的基准孔位置。放上去之后板框、禁布区、Mark point 这些元素会瞬间到位。需要注意如果符号包含板框 Outline那么在一个 PCB 中不要放置两个实例否则会出现两层轮廓重叠。更合理的做法是把板框元素单独建一个机械符号把安装孔、定位孔、Mark point 这类可重复元素建到另一个机械符号里。前者每个设计只放一次后者可以根据需要放多个。如果后续结构改了比如安装孔位置移动只需要修改机械符号源文件重新保存。然后在 PCB 里删掉旧的实例重新放置新的实例即可。Allegro 不像器件封装那样提供 Refresh Symbol 的完整流程机械符号设计得越细粒度更新越灵活。4. 建机械符号时最容易踩的坑以及对应的排查方法4.1 符号放不进 PCB 或放置后板框消失机械符号明明建了但在 Place 对话框里找不到或者放进去之后看不到图形这种现象很常见。先排除一个原因放置列表里默认可能只显示 Package symbols需要手动在 Placement List 里切到 Mechanical symbols。如果符号放上去但什么都不显示优先检查图层颜色。机械符号里的 Board Geometry/Outline 在 PCB 中被关闭时你是看不到板框的但安装孔如果看不见就要看 Pin 层颜色。可以先按颜色面板快捷键一般会用color命令把所有 Board Geometry、Pin、Keepout 相关层打开再刷新视图。还有一种情况符号原点离图形太远。比如画图时原点在左下角但是图形整体在坐标很远的位置放置时看起来好像没有东西。解决办法是选中符号实例用移动命令把它拉回可见区域或者在源文件里把图形整体移动到原点附近再保存。4.2 钻孔符号缺失导致光绘和钻孔文件异常钻孔文件里缺孔很多情况是机械符号里的安装孔没有生成钻孔符号。生成钻孔表的命令是 Manufacturing - NC - NCDrill Legend它会按当前设计里的钻孔列表绘制图例。如果机械符号中的 Padstack 没有定义 Drill Figure 相关属性钻孔表里就找不到对应的符号光绘里自然也没有。排查步骤很简单先看 Padstack Editor 里这个孔的 Drill 直径是否填了然后看Board Geometry/Drill_Figure层是否生成了符号。很多次我发现新手画机械孔时只用 Line 画了一个圆根本没放 Pin那钻孔文件当然不会有这个孔。另外提醒一点NC Drill 输出时要确保机械符号里用到的 Padstack 文件路径能被 Gerber 工具找到否则输出的钻孔文件会缺数据。可以把所有用到的机械孔 Padstack 放在同一个库目录统一配置给所有相关软件。4.3 板框符号被重复放置导致多块外形重叠机械符号里包含板框时在一个 PCB 里只能放一次。但实际设计里经常有人从别的项目复制元素或者没留意之前已经放过一次结果板框出现双重轮廓。这个问题在导出 DXF 或生成制造文件时特别隐蔽因为两个轮廓几乎重叠肉眼看不出来但结构工程师拿到文件后会发现线条重复机器切割可能报错。建议把所有“只能放一次”的板框类元素独立成一个机械符号命名上明确标注 SOLO 或者 ONCE并在团队规范里写明这个符号每个设计只允许放置一个。可重复使用的孔位和 Mark point 则拆到另一个符号里。如果已经出现重复实例可以在 PCB 中用右键菜单选中其中一个机械符号实例查看它的 Symbol 名和放置坐标删掉多余的那个保留原点的那个。也可以用 Find 面板按 Symbol 类型过滤快速选中所有机械符号实例来清理。4.4 尺寸标注和原点对不齐导出 DXF 后乱套有时候在机械符号里用 Dimension 命令加了尺寸标注表面看没问题但导出 DXF 给结构工程师时发现标注文字重叠、尺寸线不在同一层。问题通常出在导入 DXF 时没有做好层映射或者机械符号画布原点与 DXF 原点不一致。解决办法是导入 DXF 前先在 CAD 里把图形移动到世界坐标原点导出时带上一个明确的参考点然后在 Allegro 导入时保持同一原点。尺寸标注建议放在单独的Board Geometry/Dimension类不要直接画在 Outline 层。导出的层只勾选 Outline、Drill、Dimension 等需要协作的图层减少干扰。4.5 提效小技巧快捷键、右键菜单和 Sub-drawing 复用机械符号建设过程中日常操作很多是重复的比如切层、画线、画圆弧、对齐坐标。我习惯把常用命令映射到快捷键直接在env文件里加alias或者funckey。例如把 Add Line 映射成funckey L add line把 Move 映射成funckey M move这比鼠标走菜单快很多。另外Allegro 的 Sub-drawing 功能对机械符号复用很有帮助。你可以把现有板子的板框、安装孔、禁布区作为一个 Sub-drawing 导出成 .clp 文件然后在建新机械符号时直接 Import Sub-drawing再微调坐标即可。这比自己重新画一遍靠谱适合从老项目里抽取成熟结构。有一点要注意Sub-drawing 导入时会把源文件里的层信息也带过来如果两个设计的层命名不一致需要导入后重新映射。当然前提是你已经把机械符号规范化了否则 Sub-drawing 也只是复制了一堆乱线。5. 一点项目实战心得我在实际项目里感受最深的一件事是机械符号建好了最直接的收益不是画图快了而是硬件工程师和结构工程师之间的沟通成本大幅度下降。以前结构改一版孔位我要在 PCB 里一个孔一个孔地挪挪完之后还要担心有没有漏改现在只需要改机械符号源文件重新放置一遍整个过程几分钟就完成而且位置绝对统一。还有一个心得就是机械符号的精度和底层数据结构一定要严格。安装孔的位置建议都从结构 DXF 中提取坐标不要凭感觉放在“差不多”的地方。特别是板上有多个定位销、卡扣配合点时0.1mm 的偏差可能直接导致整块板装不进外壳。给刚开始建设机械符号库的团队一个建议先从最常用的两三个模块做起比如标准板框、标准安装孔组、标准 Mark point不要一上来就追求大而全。用着用着你会慢慢发现哪些机械元素在不同项目里反复出现再逐步把它们抽象成符号。这样建立的符号库是最贴合实际需求的而不是为了建库而建库。这个方向后续还可以扩展的内容很多比如把机械符号和 3D 模型关联导出 STEP 给结构做干涉检查或者在机械符号里预设好 DFM 检查区域让布线和评审阶段自动规避风险。这些都是在机械符号稳定之后自然而然能做下去的事情。