
如果只是偶尔画一两块板子原理图模板这种事确实不值得专门写一篇。但当你手上同时管着好几块板还动不动就要把图纸发给结构、发给外协、发给产线最后还得归档到公司文件服务器的时候图框里那些信息——设计人是谁、哪天画的、改到第几版、项目叫什么、单板代号是什么——就会变得特别要命。我最开始用Altium Designer自带的默认模板每次画完原理图都要手动回去改标题栏十次有八次忘改版本号等板子都投出去了才发现图纸上写的还是V1.0那种感觉真的很难受。所以这篇“案牍2”就专门聊聊Altium Designer的自定义原理图模板从为什么值得做模板、参数体系怎么规划到怎么从零搭出一张可用的SchDot模板文件再到Special Strings的联动原理和团队协作时的版本管理。内容延续案牍系列一贯的实操风格适合刚入门想规范自己输出文件的工程师也适合正在替团队搭统一设计环境的硬件负责人参考。文章里所有操作我都基于AD 17到AD 24的常规界面写个别菜单位置在新旧版本略有差异但思路是通用的。1. 被默认模板折腾过几次才想通模板要解决什么事1.1 一个常见又没必要的返工流程很多工程师刚用AD时原理图模板这件事是完全被忽略的。新建工程默认的Sheet带着Altium的Logo图框是那个经典的黑白矩形框看起来也还行于是就这么画。等原理图画完问题就来了要出图给别人的时候标题栏里没有公司信息没有项目编号甚至没有设计人姓名。于是打开文档参数一项项填填完了打印出来一看日期还没对上。版本号随手写了个V1.2实际文件已经改到V2.0了。图纸一旦流出去后面追责或者追溯的时候信息对不上就是麻烦。这种返工流程本质上不是因为懒而是因为模板没有承担起“信息管理”的职责。默认模板只是一个空壳它没有建立图纸和参数之间的关联所有信息都得靠人肉维护人肉维护就一定会出错。我见过的很多团队明明有统一的硬件设计规范但每个人交付出来的原理图格式五花八门标题栏里填的内容各式各样给后续的评审、归档、产线导入造成了大量无意义的沟通成本。1.2 模板真正承担的四件事把自己的需求理清楚之后我发现一张好用的原理图模板核心要干四件事第一统一图纸外观。图框大小、边框粗细、标题栏布局、Logo位置这些视觉元素必须全公司一致。图纸发出去别人一眼就知道是你们公司做的。第二自动带出文档信息。文件名、项目名、设计人、日期、修订号、总页数和当前页码这些信息应该自动出现在标题栏里不需要人手动填。这是模板和参数系统联动的核心价值。第三承载版本与审批信息。版本号是EVT还是DVT当前处于哪个设计阶段评审人是谁这些问题如果能在模板里占好位出图时就能顺着流程更新不用回过去补记录。第四带上公司品牌与合规信息。Logo、公司全称、地址、联系方式、保密声明这些内容一旦放进模板所有图纸自然带出比逐个文档去复制粘贴可靠得多。1.3 用什么文件格式来承载模板明确了要做什么之后就会遇到一个基本问题模板应该存成什么格式。AD里和原理图模板相关的格式主要有两类一个是SchDot也就是Schematic Template另一个是SchLib也就是原理图库。很多初学者会把这两个搞混其实分工完全不同SchLib是放元器件符号的库SchDot才是放图框和模板参数的。你要自建原理图模板正确选择是SchDot。AD从很老的版本到现在的AD 24SchDot这一格式一直保留着兼容性做得不错。早期用AD 9建的模板在AD 20里打开通常没太大问题。但这并不意味着你可以完全无视版本差异——至少字体渲染和参数面板的交互方式在近几个版本里改过好几次这个后面我会专门讲。如果你是从AD 20开始接触的现阶段直接用SchDot规划模板方向就是对的。2. 参数规划先行模板里的变量比线条更重要2.1 先梳理你每次出图必须的信息很多人做模板一上来就打开软件画图框画到一半才想起要放参数然后放一个字段就保存一次反复改。我建议反过来先在Excel或者纸上把“每次出图必须出现的信息”列出来。我给自己列过一张清单分成三类人/事类设计人、审核人、公司名称、版本类版本号、日期、修订说明、图纸结构类项目名、单板名、文件名、当前页码、总页数。再加上一些公司行政信息地址、电话、保密等级。这些信息不是每一条都要填但模板里必须为它们留好位置宁可留空也不要等需要的时候没有地方放。2.2 常用系统参数一览与调用方式Altium内置了一批系统参数你不需要自己造直接在Special Strings选单里就能调用。下面这张表是我在模板里用得最频繁的一组参数名称显示内容调用方式Title文档标题放置字符串后按Tab编辑框里按CtrlV调出Special Strings选择DocumentName当前文档文件名同上CurrentDate当前日期同上SheetNumber当前原理图页码同上SheetTotal工程总页数同上Revision修订版本号同上CompanyName公司名同上Address公司地址同上DocumentNumber文档编号同上ProjectName工程文件名同上系统参数的取值逻辑是在Project → Project Options → Parameters或者Document Options → Parameters里维护。模板里的字段只是“引用”显示的内容取决于这些参数的实际值。所以模板本身可以不动每个项目只需填好自己的参数表图纸信息就自动对了。2.3 自定义参数怎么和公司命名规范挂钩除了系统参数你一定会需要自定义字段比如“单板代号”“项目阶段”“保密等级”“PCB文件路径”之类。这些信息在模板里同样可以占位做法有两种一种是直接在模板的Document Options里加自定义参数但这样模板自带的默认值会被复制到所有用模板创建的文档里不一定合适另一种更推荐的做法是在模板画布上放置一个Text String然后把它的值指定为某个参数名这样参数本身归各个项目管模板只管显示。自定义参数的命名建议和公司的命名规范保持一致。比如我们这边单板代号统一叫BoardCode项目阶段统一叫Stage字段值用EVT/DVT/PVT这样的枚举。如果你们公司已经有内部的文档编码规则尽量把参数名也对应上少造同义异名的字段不然模板在团队里推广时每个人理解的“项目名”不是一个东西照样乱。3. 从新建SchDot到放完最后一个字段的完整操作链3.1 新建原理图模板文件理论说完了开始动真格。第一步在AD里执行File → New → Schematic先建一个普通原理图文档然后把它另存为SchDot格式。注意虽然也可以通过File → New → Schematic Template直接创建但我更推荐先建普通文档再存成模板因为这样你能够在创建初期就看到和普通原理图完全一致的工作环境操作更顺手。存好模板文件后先别急着画打开Document Options右键画布选择Options → Document Options或者快捷键D O把图纸尺寸定下来。我个人建议常规项目用A3或A4就够。A4适合页数多、每页内容少的板子A3适合单页内容大、希望减少翻页次数的设计。AD的图纸尺寸在Sheet Size下拉里选选完记得把Use Custom Size勾选掉不然有时候改了数值不生效。单位建议全程用mil后面画边框和标题栏时坐标好对齐。3.2 画图框、标题栏、放Logo模板里所有可见图形都是普通的Place工具画的没有隐藏魔法。图框我用的是Place → Line从原理图边框线的坐标点开始逐段画。线宽一般设置到0.2mm左右外框用粗线比如0.3mm内部分隔线用细线0.15mm。颜色默认是黑色如果你公司有统一的CAD标准色也可以在Template Color里改但我个人不建议在原理图模板上用太深的底色或彩色线打印出来效果不稳定。标题栏的布局我通常放在图纸右下角这也是符合工程图阅读顺序的位置。画标题栏时先用Line画好行列分隔再用String放文字。每个单元格放什么字段前面已经规划好了。放Logo用Place → Drawing Tools → Graphic选一张公司Logo图片最好是PNG或者BMP线条简单的矢量图更好放进去之后注意锁定宽高比不然Logo变形很尴尬。这里有一个关键点图片嵌入方式默认是链接还是嵌入取决于你的操作方式如果你不希望发出去的图纸Logo丢失务必在放置后检查图片属性确认不是外部链接。外部链接意味着打开图纸的人看不到图片这个问题我在后面第6章还会专门讲。3.3 往标题栏里放Special Strings标题栏里真正让模板“活”起来的是Special Strings也就是特殊字符串。操作方法是按P T放置一个字符串放置状态下按Tab打开属性面板在Text属性那一栏按CtrlV会弹出Special Strings的选择子菜单。这个CtrlV是很多新手不知道的关键它和打印时插入特殊字符串是同一套机制。菜单里能看到一堆开头的特殊项比如Title、Description、DocumentName、SheetNumber等等选中它回到画布上放置。放完之后此时画布上显示的还是 Title这串字符本身不要慌这是正常的模板在设计状态下不会实时计算显示结果。等模板真正被用来创建原理图文档并且文档里维护了对应的参数值它就变成具体内容了。如果你希望在编辑模板时提前预览效果可以打开Preferences → Schematic → Graphical Editing把“Always Show Special Strings”勾上这样就能看到特殊字符串的动态内容。3.4 保存模板与验证模板画完CtrlS保存。到这一步一个基础模板就算成形了。但别急着收工验证这步很关键。新建一个测试工程再新建一张原理图创建方式选择From Template找到刚才保存的SchDot文件。打开测试图在Document Options里设置几个参数值比如Title写成“Test Board”Revision写成“V1.0”然后看标题栏里的Special Strings是否同步显示出来。这一步如果显示正常再生成一份PDF翻到最后检查标题栏内容没有错位、没有缺失模板就算真正可用了。很多模板出问题都是在PDF导出阶段才暴露的——屏幕上看着对打印出来线条跑偏、字符截断这类问题我在第6章会给出排查路径。4. 让图框学会自动说话Special Strings与参数的联动机制4.1 为什么模板里的字段会自动变化很多人第一次接触Special Strings时会觉得它像某种高级文本控件其实它的本质不复杂就是一个“参数引用”。可以这样理解你在模板里放的Title类似于Excel单元格里写了一个公式它本身不存内容只说明“这里应该显示当前文档的Title参数值”。这份联动关系是AD内置的不需要你写脚本或做额外配置。当你在一个项目里创建新原理图时模板会把图框、标题栏、特殊字符串引用全部复制到新文档中。新文档运行时AD会去当前文档的Document Options参数表和当前工程的Project Options参数表里查找对应的参数名找到就显示值找不到就显示参数名本身所以有时候你会看到Title裸露在图纸上那就是没设置对应参数。这也解释了为什么模板字段可以统一、但信息又能各不相同模板提供的是“引用关系”每个项目往参数表里填自己的内容。公司层面定义好参数名规范项目层面负责填值模板本身不用每回改。4.2 系统参数和项目参数的正确放置位置这里有个细节容易搞混哪些参数写在Document Options里哪些参数写在Project Options里。我的经验是和整个项目有关的信息放Project Options比如项目名、项目编号、客户名和单张图纸有关的信息放Document Options比如当前页面的内容说明、设计人、日期。举个例子ProjectName的值放在Project Parameters里DocumentName和SheetNumber则是由AD自动管理的文档属性。特别提醒一点CurrentDate这个参数有一个很坑的行为——它可能在“打开文档时”刷新也可能在“打印输出时”刷新具体取决于使用的字段类型和AD版本。如果你希望日期保持为“最近一次修改图纸的日期”不要用CurrentDate直接用文档参数里的Date字段并自己维护。用CurrentDate输出的永远是下次打开或打印的当天这在归档时可能会有歧义。4.3 模板字体与国产化问题字体是模板里最容易翻车的隐性细节。AD早期版本在中文字体渲染上问题很多尤其是放中文公司名的时候保存模板再重新打开会发现字符间距错乱或者干脆变成方块。AD 17之后这个问题改善了不少但如果你还在用AD 16或之前的版本模板里的中文字符建议统一用宋体或者微软雅黑不要用系统默认的SimSun之外的字体更不要直接用CAD字体。另外在导出PDF时如果目标设备或合作伙伴那边的电脑没有字体PDF里的中文可能会变成乱码或者替换成不合适的字体。最好是安装好的字体就一直没有变同时AD的Preferences里不要勾选对PDF字体做精简的那一类选项保证PDF嵌入完整字体。这样外发给产线和供应商时图纸上的中文永远能正常显示。5. 模板文件的分发、升级与历史包袱处理5.1 模板文件放在哪里最不容易丢模板这东西一旦做好了最怕的就是丢和乱。单独存在自己笔记本电脑的某个目录下换电脑就找不到了多人协作时A同事改了一版B同事还在用老模板出图风格立刻分叉。我的做法是在DXP → Preferences → Data Management → Templates里配置模板路径把模板目录指向公司服务器上一个固定共享目录或者私有Git仓库里的一个固定路径。该目录下用二级子目录区分“正式发布模板”和“草稿模板”正式模板用版本号命名后缀比如Company_Sch_Template_A4_v2.1.SchDot草稿一律不允许放成正式文件名。这样任何人通过AD新建原理图时都能在模板列表里看到同一个模板不会出现各用各的版本。如果你用的是AD 24也可以考虑用Managed Sheet/Managed Template这类企业级模板管理方式把模板发布到Altium 365或者本地Vault服务器上。好处是模板更新后所有关联的文档都会有提示规范性强很多坏处是配置复杂度高小团队没必要上等团队规模大到有专职EDA管理员再考虑也来得及。5.2 模板升级后旧原理图如何批量刷新模板不是一次画完就永远不变的。公司Logo换了、部门代码改了、标题栏想多增加一个“审核人”字段……每次改动都会面临老工程要不要同步的问题。AD提供了一个命令菜单路径是Tools → Update From Template翻译过来就是“根据模板更新”。这个功能可以针对当前打开的文档也能通过Project面板批量选中多张原理图一起更新。执行时AD会把模板里当前图框参数、Special Strings布局等同步覆盖到目标文档从而将新模板的样式应用到旧文档上。需要注意更新前务必先把旧文档另存一份备份因为一旦更新原有的标题栏信息可能被覆盖。这里有个容易踩的坑Update From Template默认不是全字段覆盖有的选项需要手工勾选。我一般把“Update Document Parameters”勾上但不要勾“Erase existing parameters”之类清除已有参数的选项否则老图纸里已经填好的项目参数会被清掉重新填一遍就很痛苦。5.3 AD版本升级带来的模板兼容性问题从AD 17到AD 24SchDot文件的兼容性整体上是好的但并不意味着你可以忽视版本差异。AD版本之间对字体渲染的改进、对参数面板交互方式的调整都可能让同一个模板在不同版本里看起来不太一样。我实际遇到过的问题是旧版模板里设置过图纸颜色用的是全局Color设置升级到新版本后Color机制改了模板打开后图纸颜色变成另一种效果。解决办法是把图框、边框、文字的颜色全部显式固定在模板中不要依赖“系统默认颜色”。再比如AD 20之后对“特殊字符串预览”选项的开关位置变了如果你在某个版本里找不到“Always Show Special Strings”最好去查那个版本的官方文档而不是凭记忆盲目勾选。6. 使用模板最容易踩的五个坑及排查思路6.1 模板改完了已经画好的原理图怎么不更新这是新人问得最多的问题。你在模板里加了一个“阶段”字段保存模板回到老工程标题栏里什么都没有。为什么因为普通原理图文档在创建时只是从模板复制了一份内容和引用并不会持续锚定模板文件。模板只是“模具”不是“后台数据库”。解决办法就是用前面说的Tools → Update From Template重新应用一次模板。如果你的团队经常改模板建议养成习惯模板文件每次发布新版本时在群里或者周会上同步一声让所有项目负责人手动执行一次更新不要指望自动同步。AD有些企业级方案可以自动化这个流程但在普通项目团队中人工统一更新是成本最低、最不容易出错的。6.2 Special Strings显示成等号开头的一串字符如果模板放置的是Title但原理图画布上始终显示“Title”而不是实际标题原因通常是参数没有设置或者特殊字符串显示预览没有打开。按P T放置状态下按Tab打开属性面板在里面能看到当前字符串的值如果显示的是Title而不是具体目录的值检查Document Options里的参数表和Project Parameters里的参数表看看对应参数名是否已填写。如果参数已经填了、画布上还是显示“Title”那大概率是Preferences里显示预览的选项没开也就是前面提到的“Always Show Special Strings”那个功能。在正式打印或导出PDF时AD会因为输出流程强制重新解析这些字段所以打印是对的只是屏幕显示没刷新。遇到这种情况不用急优先查参数再查显示设置基本都能定位。6.3 默认栅格不对导致图框线位置不齐导入模板到新文档后有时候会发现图框线和标题栏分隔线对不齐看着就跟手画的歪楼一样。这不是模板画错而是单位或栅格设置不一致。比如你在模板文件里用的是公制单位而当前原理图文档用的是英制单位线条坐标经过换算之后就会出现一两个mil的偏移这在放大到200%时非常明显。要彻底根治建议模板文件和应用文档的单位保持一致。在Preferences → System → Units里把单位统一为mil或者mm同时把捕捉栅格Snap Grid、可视栅格设置成一致的值。我的习惯是全公司统一用mil作为原理图单位这样模板里每个坐标点都是整数不会有转换误差。6.4 打印或PDF导出时标题栏被截断模板画出来在屏幕上非常完整可一打印标题栏底部居然没了或者右边一列被裁掉。这个问题的根源绝大多数不是模板本身而是页面纸张大小没匹配。打印/PDF导出时纸张设置默认可能还是Letter或者A4但你的模板用了A3导出时AD尝试把A3内容塞进A4纸张结果就是内容被裁切。解决方法是在File → Page Setup里把Printer Paper Size设置成和模板图纸一致同时把Scaling设为“Fit Document On Page”或者1:1。如果你希望每次打印都省心可以在模板里不锁定纸张大小而是让Page Setup跟随模板设置——这需要在模板创建时就定义好Sheet Size。经验是模板用什么尺寸导出的页面就锁什么尺寸Print Preview先看一眼没问题再出PDF。6.5 公司Logo发给别人后显示不了这个问题特别容易被项目经理在验收时抓到。模板里明明放了Logo自己在公司电脑看一切正常把工程压缩包发给外协或者客户对方打开图纸标题栏里的Logo变成了一个灰色空白块。原因就是Logo以链接方式嵌入了模板而不是随文件打包。AD的Place Graphic默认支持嵌入和链接两种路径如果源图片相对路径发生变化或者工程转移后没有把图片目录一起带过去链接就断了。最稳妥的办法是放置图片时在属性面板中选择嵌入模式让图片数据直接写进SchDot文件。如果你已经有几个老模板是链接图片重新嵌入一次然后另存为一个新的SchDot版本不要在原版上继续改。另外一个偏方是把Logo转成PCB封装焊盘阵列或者放置到隐藏引脚上这种“歪门邪道”能让Logo跟随库文件走但复杂度高新手不建议尝试。标准做法就是嵌入图片简单直接。最后聊点个人的使用体会。模板看起来是个不起眼的小东西但它其实牵动着你每一天画图时的效率和风格。我现在这套自定义模板已经连续用了三年多中间换过公司、换过AD版本但模板文件一直跟着我走。每次新建工程新建原理图模板自动带出所有公共信息我只需要填几个项目级参数然后就可以专心画电路。如果你现在还在用默认模板看完这篇不妨抽一个下午把自己的第一版模板搭起来。第一版不需要把所有功能都做全先覆盖标题栏、页码、版本号这几个最常用的画两块板子之后再迭代一次把暴露出的问题补掉比你一开始就追求完美要靠谱得多。模板这东西用起来才会发现问题改起来才会越来越顺手。