ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Allegro PCB汉字丝印:TrueType、DXF与SKILL方案

Allegro PCB汉字丝印:TrueType、DXF与SKILL方案 Add TextClass 选到 Silkscreen_Top敲下电源指示灯五个字Enter一按——板子上干干净净什么都没有。这是绝大多数人第一次在 Cadence Allegro 里加汉字丝印时遇到的一幕。有人怀疑是输入法的问题换拼音、换五笔、换成复制粘贴依然没字有人怀疑软件没装全翻来覆去重装还有人以为是自己点错了子类把所有能放文字的子类都试了一遍最后放弃改成用英文缩写PWR、LED糊弄过去。问题既不在输入法也不在安装更不在你点错了子类。Allegro 默认使用的是一套矢量笔画字体Vector Font字库里只包含 ASCII 可见字符和少量符号压根没有汉字字形。你输入的中文字符在字表里查不到软件自然画不出任何东西——有的版本会显示成方框有的版本直接跳过表现就是输进去等于没输。要把汉字印到 PCB 的丝印层上绕不开三条路让 Allegro 借用系统里的 TrueType 字体把字涂出来在外部 CAD 里把汉字打散成线段再导入或者自己维护一套汉字笔画表用脚本批量画线。三条路的成本、光绘体积、可维护性差得很远选错了后面全是返工。下面按我实际做板的顺序把每条路的原理、坑和收尾动作拆开讲。做过硬件、跑过 PCB layout、被板厂退过丝印的人看完应该能直接上手。1. Allegro 画不出汉字卡点在字体引擎而不是操作1.1 矢量笔画字体为什么天生没有汉字先搞清楚 Allegro 默认在用什么字体后面所有选择才有的放矢。它默认的字体叫矢量笔画字体原理和 AutoCAD 的 SHX 字体、早期绘图仪的 Hershey 字体是同一个路子每个字符不是用轮廓描述而是用一组线段描述比如字母A就是三条线——左边一撇、右边一捺、中间一横。字库文件里存的就是这些线段端点的坐标表。这种字体对 PCB 丝印来说简直是量身定做。丝印是油墨印在板面上的本来就该是一笔一画笔画字天然就是线条线宽可以直接用 Allegro 里的 Photo Width 控制光绘输出后就是一条条有宽度的线板厂的 CAM 工程师一眼就能看懂最小线宽也容易评估。放大缩小不会糊光绘数据量小到可以忽略。代价也很明显它只能覆盖 ASCII。汉字常用字三千多个加上生僻字和全角符号字符集规模在两万以上每个汉字少则五六画多则二三十画每画又要两到十个点。整个字库的坐标表会膨胀到厂商根本不愿意内置的程度。所以从 Allegro 到 PADS 再到早期 Protel国产 EDA 之外的工具基本都没把汉字做进笔画字体里。记住这个结论想让 Allegro 用线的方式写汉字字表必须由你自己提供或者借外部工具生成。1.2 TrueType 文本在 Allegro 里到底被画成了什么从 16.x 后期开始Allegro 的 Text 功能支持调用 Windows 系统字体也就是 TrueType。很多人第一次用它会觉得很神奇选个宋体汉字立刻出来了。但它出来的东西和笔画字完全不是一回事。Allegro 处理 TrueType 文本的流程是读字体文件取出字形的轮廓曲线把曲线离散成多边形填充成实心图形。也就是说你在屏幕上看到的电字实际是几十上百个多边形拼出来的一个实心图案输出光绘时走的是 G36/G37 的 region 填充语法跟一块铜皮的表达方式是一样的。这带来三个直接后果。第一数据量和字号无关只和字形复杂度有关——笔画多的字轮廓点就多一个结构复杂的汉字拉出上千个顶点很正常一板子写二十个汉字丝印层 Gerber 从几十 KB 涨到好几 MB。第二线宽这个概念在这个方案里失效了因为它是填充图形而不是线条板厂评估工艺时看的不是线宽而是最细笔画宽度也就是字形里最窄那个地方的宽度。第三后期想改一个字的字号用 Edit Change 改 Text 对象还能对付想改文字内容多数版本里只能删了重放。第三条后果衍生出一个非常实际的判断为什么汉字用 TrueType 写的时候字高必须比英文大一档因为英文笔画字可以靠加粗线宽来救而 TrueType 汉字的最细笔画宽度是字体自带的你改不了只能靠放大字高让最细笔画跟着变宽。1.3 三条路线的取舍对照别急着上手先按需求选路。我按实际项目里最常见的四种做法列了个对照你可以直接对号入座。路线实现方式光绘体积字体依赖适合场景原生 TrueTypeAdd Text 里把 Font 切成 TrueType选系统字体大几十个汉字可到数 MB强依赖本机字体板上只有三五个标识字临时改板DXF 中转AutoCAD 里把汉字打散成线段导入 Allegro极小和英文丝印同一量级无导入后就是普通线批量汉字、对光绘质量有要求SKILL 笔画表脚本查笔画表逐条画线小无固定文案、需要批量出板位图转多边形渲染成黑白图后转成填充图形最大无Logo、艺术字、一次性使用一句话总结少量字、图省事走 TrueType汉字多、要送板厂、要过工艺评审走 DXF要做系列化产品、文案固定写 SKILL 或做字库要做 Logo 加汉字组合位图那条路最后再考虑。2. 原生 TrueType 路线五分钟在板子上写出电源指示灯2.1 Options 面板里那几个必须改的选项操作入口很浅Add Text鼠标在板上点一下之前先把右侧 Options 面板看全。Class 和 Subclass 分两种情形这个区别很多人会搞混。板级的文字不属于任何封装直接放在板子上用Board Geometry / Silkscreen_Top底层用Silkscreen_Bottom。如果是做封装、把字放进某个器件的图形里要用Package Geometry / Silkscreen_Top这样它才会跟着器件一起移动。放错地方的典型后果是器件挪位置了文字留在原地丝印和器件对不上。然后是 Text block先随便选一个后面再调。真正关键的是 Font 那一栏默认是 Vector Font把它切到 TrueType Font。切换之后面板上会多出字体名和字形Regular / Bold / Italic两个下拉框字体名里列的是当前系统装的字体。字体怎么选这里有个我踩过坑的结论别用宋体优先黑体或微软雅黑。宋体是横细竖粗的衬线体横画宽度只有竖画的三分之一到四分之一小字高下最细的横画往往只有零点零几毫米远低于板厂丝印工艺的下限印出来就是断断续续的虚线。黑体系列笔画粗细比较均匀最细处和主体宽度差得不多同样字高下存活率高得多。这条经验听起来很细节但它决定的是汉字能不能被看清楚不是好不好看的问题。输入环节还有个小麻烦Allegro 的文本框对中文输入法支持一般有些版本里输入法候选词上屏会丢字或者把全角符号带进来。稳妥做法是在记事本里打好再粘贴。粘贴完瞄一眼有没有多余的全角空格——全角空格在笔画字体里同样是缺字状态在 TrueType 里则会占一个正常汉字的宽度把整行文字推开。2.2 字高、最细笔画、字符间距三者的匹配关系Text block 里的参数对 TrueType 文本不是全部生效的这点要有心理准备。字高生效字宽和 Photo Width线宽基本被字体本身覆盖掉——字形是字体决定的Allegro 只是把它缩放。所以调节手段只剩一个改字高。按经验值给一套起步参数你可以在上面微调英文丝印字高 0.8 到 1.0 mm线宽 0.15 mm够用TrueType 汉字字高不小于 1.2 mm密集笔画字警、翻、囊、罐建议 1.5 mm 起字符间距1.2 到 1.5 倍字高比这个密就糊在一起比这个疏就浪费板面丝印层整体最小线宽0.15 mm 是大多数板厂的常规能力做到 0.1 mm 属于加钱项为什么汉字要比英文高一档算一笔账就清楚了。字高 1.2 mm 的黑体笔画宽度大约占字高的十分之一上下也就是 0.12 mm宋体在这个字高下横画只有 0.05 mm 左右已经低于工艺极限。字高拉到 1.5 mm黑体最细笔画大约 0.13 到 0.15 mm正好卡在常规能力线上。也就是说汉字字高不是审美问题是在给最细的那一笔留余量。反过来字高也不是越大越好。板面上丝印空间有限字太大就会压到焊盘、定位孔、Mark 点。写之前先在脑子里规划一下位置别写完再挪——挪的时候还要重新算和周边器件的间距。2.3 放置、旋转与可读性方向文字放下去之后还有两个规范动作。第一是旋转角度。板级丝印文字一般只允许 0 度和 90 度两个方向不要出现 45 度、180 度、270 度。原因很简单装配工人、维修人员看板子的时候是一边转动板子一边看的角度太杂会增加误读概率。旋转用Edit Change把 Find 面板里的过滤器只勾 TextOptions 里改 Angle框选要改的文字。这里一定要注意 Find 过滤器Allegro 的 Find 不勾编辑命令就是空转很多点了没反应的情况都是过滤器没勾对。第二是底层丝印的方向。正面看的 Silkscreen_Top 文字从背面看是反的这没问题但 Silkscreen_Bottom 上的文字从背面看应该是正的。如果你用的是 TrueType 文字放置时把角度设好然后检查一下从背面视角看图文字是否可读。不同版本对底层文字的处理不太一样最保险的办法是打开 Color 面板只显示丝印层把视图翻过来确认一遍。2.4 TrueType 方案绕不开的三个硬伤字体依赖。TrueType 文字是引用系统字体渲染出来的字体文件不在你的 brd 里。同事打开你的文件机器上没装黑体字形就变了装了个不同厂商的同名字体笔画宽度也变了之前算好的最细笔画余量全部作废。跨公司传文件时这个问题尤其明显。解决思路只有三条把字体文件一起打包给对方把文本转成几何导出再导入或者干脆改用笔画字路线。说实话真要求稳最后一条最省心。光绘体积。前面算过几十个汉字就能让丝印层 Gerber 从几十 KB 涨到几 MB。这不只是文件大一点的问题CAM 软件处理大量 region 填充时速度会明显变慢有些老版本的 CAM 工具打开几 MB 的填充数据会卡工程师量测和比对的时候体验很差。缓解办法是精简——只保留必要的文字把不参与光绘的说明性文字放到不输出的子类里光绘前单独核对一遍 film 配置。编辑困难。改内容要删了重放这在改板阶段很折磨人。所以文案一定要定稿后再放别边想边写。批量改字号、批量移动这类操作倒是没问题用 Change / Move 配合 Find 过滤器都能搞定。3. DXF 中转AutoCAD 描线加 Allegro 导入的完整操作链3.1 为什么老工程师宁可多走几步用 DXF 中转本质是把汉字这个问题在 Allegro 之外解决掉在 CAD 里把字变成一堆线段Allegro 只负责把这些线段放到丝印子类上。导入完成后这些汉字就是普通的 Line 对象和手工画的丝印线完全没有区别。好处是连锁性的。光绘体积和英文丝印一个量级几百个汉字也就几十 KB没有字体依赖任何人打开文件看到的都是一样的线宽是真实的板厂量测的时候直接量就行可以复制、可以镜像、可以批量移动解决底层丝印方向问题也变得很简单在 CAD 里镜像一份就完事了。代价是流程长、中间环节多单位和图层这两处最容易翻车下面会重点讲。3.2 AutoCAD 端字体选型、打散和清理字体选型是整条链路的成败点。一定要用 SHX 单线笔画字体不要用 TrueType 字体。原因TrueType 在 CAD 里打散之后得到的是字形轮廓也就是外轮廓加内轮廓的双线结构丝印会变成空心字——笔画宽度等于内外轮廓之间的间距而且光绘数据量直接翻倍细笔画该糊还是糊一点没解决问题。SHX 字体本身就是单线笔画打散后是干净的线段正是我们想要的东西。具体操作路径我按顺序列一下新建一个图层命名成CN_SILK_TOP底层用CN_SILK_BOT单独用来放汉字方便后面做图层映射。线型设成 CONTINUOUS别用虚线。用STYLE命令建文字样式字体选 SHX 单线字体大字体Big Font选国标汉字字体高度设 0高度设 0 才能在写字时自由指定宽度因子 0.8 到 1.0。用TEXT命令写字或者用MTEXT写完后先EXPLODE打散成单行文字。多行文字不先打散后面的打散命令处理不了。用 Express Tools 里的TXTEXPExplode Text把文字打散成多段线。这一步做完文字就变成了纯几何。如果打散后是多段线而不是线一般情况下 Allegro 也能正常读但如果后面导入时出现意外的填充图形就用EXPLODE把多段线再拆成线段。用OVERKILL清理重叠和零长度的线段。这一步别省重复线段在 Allegro 里会导致框选时反复选中同一处后面改线宽会很难受。单位确认INSUNITS设为 4毫米图形单位是毫米。这个参数会写进 DXF 文件头直接影响 Allegro 导入时的比例判断。底层丝印把顶层那组文字用MIRROR复制一份并镜像放到CN_SILK_BOT图层。在 CAD 里镜像比在 Allegro 里镜像省事得多。导出SAVEAS文件类型选 AutoCAD 2000/LT2000 DXF 或 R12 DXF。R12 兼容性最好Allegro 对这两种都能吃。记一下导出前的实体数量用SELECT全选看提示导入 Allegro 后对一下数量这是排查导入后少东西最快的办法。3.3 Allegro 端图层映射、单位和比例进入 AllegroFile Import DXF。对话框里三件事要处理。第一件是图层映射。点开Edit/View layers按钮会弹出一个列表左边是 DXF 文件里所有的图层名右边给每个图层指定 Class 和 Subclass。把CN_SILK_TOP映射到BOARD GEOMETRY / SILKSCREEN_TOPCN_SILK_BOT映射到BOARD GEOMETRY / SILKSCREEN_BOTTOM。这里有个我强烈推荐的习惯先映射到一个自建的临时子类比如在 Board Geometry 下新建一个CN_TMP导入、检查、调整位置全都做完之后再用Edit Change把子类改成正式的丝印子类。这样在调整阶段框选永远不会误选到板上的走线和铜皮改起来干净利落。第二件是单位和比例这是整条链路最大的雷区。Allegro 导入 DXF 时的坐标换算依赖两个东西Allegro 当前的设计单位以及导入对话框里的比例系数。常见翻车场景是CAD 里画的是毫米但 DXF 文件头里的单位信息缺失或被写成了英寸Allegro 按自己的理解换算导进来字要么小了 25.4 倍几乎看不见要么大了 25.4 倍一个大字盖住半块板。处理原则很简单第一次导入就按比例 1 来导入后立刻量一下字高。量出来是 1.2 mm 左右就对了如果是 0.047 mm 或 30 mm 这种离谱数字别在对话框里瞎试直接删掉重来把比例改成 25.4 或 1/25.4 再导一次。删掉重来比反复猜快得多因为导入命令本身不贵猜错一次要花在检查上的时间才贵。第三件是那几个勾选项。默认值一般够用但如果你在 CAD 里的图形包含闭合多段线、面域或 3D 面要注意填充相关的选项——勾上会把闭合轮廓转成填充图形不勾则只导入线框。做丝印当然只要线框所以遇到导入后文字变成实心块的情况先回头检查这组选项和 CAD 端的实体类型。3.4 导入后的三件收尾工作统一点宽。导入进来的线段宽度是 0 或者一个很小的默认值必须统一改成 0.15 mm。用Edit ChangeFind 面板里只勾 LinesOptions 里把 Line width 设成 0.15 mm然后框选全部导入的线段。这里必须全选不能漏——板厂评估工艺能力是看最细的那条线只要有一条漏在 0.01 mm整个丝印层就可能被判超出工艺能力然后你收到一封要求改板的邮件还得回头找是哪条线没改。处理镜像。如果你按前面的建议在 CAD 里就镜像好了底层文字这一步跳过。如果直接导到了 Silkscreen_Bottom那导入后的方向是从正面看的从背面看是反的需要用Edit Mirror处理。Mirror 命令要指定镜像轴整体镜像的时候要算好轴的坐标比在 CAD 里镜像麻烦所以还是推荐前置处理。确认没有意外的填充图形。切换到单层显示把丝印层单独打开放大看文字。如果出现整块实心的字说明有闭合多段线被转成了填充图形用Shape Decompose Shape拆回线条或者删掉重新映射一次。4. 笔画字库、SKILL 脚本与位图转换的适用边界4.1 汉字笔画中心线数据从哪里来如果要做系列化产品每次都在 CAD 里描一遍字显然不现实。更彻底的办法是自己维护一套汉字笔画表每个字记录一组线段用的时候按字高缩放、按位置平移逐条画出来。问题只剩一个——笔画数据从哪来。现成的汉字单线矢量库是有的很多图形、雕刻、激光打标领域都在用格式一般就是每字一组线段坐标。直接拿来做归一化处理就是我需要的字表。另一条路是用开源数据有开源项目把每个汉字的笔画做了骨架化处理输出的是 SVG 路径路径描述的是每个笔画的中心线而不是轮廓。中心线正好就是丝印要的东西——它天然是单线的和笔画字体的风格一致。把这种数据批量转成线段表就是一个可直接使用的丝印汉字库。如果手头没有任何现成数据还有第三条路拿一套 TrueType 字体把字形轮廓做骨架化处理图像处理里叫中轴变换Python 里用形态学细化函数就能做提取出来的就是笔画中心线。这条路能跑通但结果是把平滑曲线折线化笔画拐角会偏圆做丝印完全够用做精密图形就不合适了。不管走哪条都要做归一化把每个字的线段坐标压到 0 到 1 的方框里用的时候乘以字高。这样一套字表可以出任意字号否则每换个字高就得重新导一遍数据。4.2 SKILL 脚本的骨架与两个隐藏难点数据准备好之后画线的部分就很简单了。原理是读字符串、逐字查表、拿到线段列表、按字高缩放、按字间距平移到放置点、逐条创建线段。; cn_silk.il —— 汉字丝印批量绘制骨架示意接口签名以本机 SKILL 文档为准 ; 笔画表结构list( list(电 list(seg1 seg2 ...)) ... )坐标已归一化到 0~1 defun( cnSilkDraw (t_text n_height n_width t_subcls) let( ( l_chars l_segs s_chr p_seg p_a p_b x0 ) x0 0.0 l_chars cnSilkSplit(t_text) ; 字符串拆字见下方说明 foreach( s_chr l_chars l_segs cadr( assoc( s_chr cnSilkTable ) ) when( l_segs foreach( p_seg l_segs p_a car(p_seg) p_b cadr(p_seg) axlDBCreateLine( list( list(x0 car(p_a) * n_height, cadr(p_a) * n_height) list(x0 car(p_b) * n_height, cadr(p_b) * n_height) ) n_width t_subcls t ) ) ) x0 x0 n_height * 1.4 ; 字间距取 1.4 倍字高 ) axlUIWPrint(nil 汉字丝印绘制完成共 %d 字 length(l_chars)) ) )这段是骨架直接抄去用大概率会报错但结构和坑都在里面了。第一个隐藏难点是字符串拆字。SKILL 里的字符串底层是字节序列一个 UTF-8 汉字占三个字节你按字符下标去切切出来的是半个字节序列查表必然查不到。必须自己按 UTF-8 的字节特征判断字符边界再切或者干脆把输入设计成每行一个字的文本文件读进来。这个坑很隐蔽表现是脚本跑完了但一个字都没画出来很多人会误以为是画线接口的问题。第二个隐藏难点是接口签名和坐标单位。axlDBCreateLine这类接口在不同版本上参数顺序和可选参数略有差异最后一个填充标志不传的话有些版本直接不生效。另外坐标必须用当前设计单位——如果设计单位是 mil你的字高参数得先换算成 mil不然画出来的字尺寸会差 25.4 倍。效率上不用太担心。一百个汉字线段总数大概几千条逐条创建也就几秒钟比手工在 CAD 里描一遍快得多。4.3 位图转多边形只适合 Logo 和一次性艺术字把文字用图像工具渲染成高对比度的黑白图再用工具转成 PCB 上的填充图形这是第三条路。它的优势是所见即所得任何字体、任何效果、任何 Logo 都能还原做公司标识加中文名称的组合特别方便。缺点也很直接。转出来全是填充图形不是线改不了、复制慢、光绘体积最大图形一旦生成想改一个字就得整张图重做。所以它适合一次性的、视觉要求高的场景不适合当常规丝印手段。真要走这条路有一个参数是命门图像分辨率。字高 1.5 mm 的汉字如果原图分辨率不够边缘会呈锯齿状转成多边形后这些锯齿就是实打实的毛刺在板上放大看非常难看。经验上字高 1 mm 对应的原图分辨率至少要 1200 DPI1.5 mm 以上可以降到 800 到 1000 DPI。另外导出光绘前一定要单层显示确认填充极性——填充图形如果被当成负性处理会出现该填的地方是空的一片文字只剩几个残缺笔画很容易被误判成 Gerber 生成错误。4.4 把固定文案做成可复用的丝印模块产品做多了就会发现翻来覆去就那么几句话电源指示调试口复位默认断开禁止带电插拔。与其每次都重画一遍不如做一份可复用的模块库。思路是把一段汉字丝印连同它的位置关系打包需要的时候调出来放上去。这里有两个层次的做法。第一种是用子图Sub-drawingFile Export Sub-drawing框选那组文字导出一个文件以后File Import Sub-drawing导回来。这个功能所有版本都有稳。要注意的是导入后的位置是导出时的原始坐标可能落在板子外面很远得用Edit Move挪过来所以导入前先确认一下视图范围。第二种是用模块Module把一组对象存成模块通过Place Manually的模块页调出来。这种方式位置更可控但需要在参数设置里配好模块的搜索路径不同版本叫法有出入第一次配的时候翻一下帮助文档里的 module 相关章节别凭记忆猜菜单位置。不管用哪种中文文案本身建议在模块里就用笔画字别用 TrueType——模块会被反复复用一旦其中一个实例因为字体缺失显示异常排查起来很费时间。5. 汉字丝印放下去只是开始DRC、光绘与板厂回看5.1 制造约束里的丝印检查项丝印放完之后必须跑一遍 DRC。Allegro 的约束管理器里专门有一组制造类的约束和丝印相关的主要是这几项丝印到丝印Silkscreen to Silkscreen、丝印到阻焊开窗Silkscreen to Soldermask、丝印到焊盘或引脚Silkscreen to Pad/Pin。这些约束在约束管理器的制造类工作表里配置规则名和具体位置各版本略有差异但通常都能在制造类别下找到丝印相关字样。在线 DRC 打开的情况下你挪动文字的时候就会弹出间距报错这是最快的反馈方式。改完之后再跑一遍批量检查从状态面板看错误数量是否归零。这里有一个很多人会忽略的检查项丝印到阻焊开窗的间距。丝印油墨印在阻焊层上是没问题的但印在阻焊开窗也就是裸露的焊盘区域上会有两个后果一是油墨附着在裸露铜面上附着力差过回流焊后可能脱落二是很多板厂在工程处理时会直接把压在焊盘上的丝印裁掉裁完你的文字就缺笔画了。所以宁可自己把文字挪开也不要指望板厂帮你保留。对应做法是给丝印到阻焊开窗设一个 0.1 mm 以上的间距要求跑 DRC 时把它当成硬约束不要豁免。豁免一次很轻松板子回来发现字缺了一横就得改板重投。5.2 最小线宽和最小字高拿去和板厂对一次下面这张表是我在各种板厂的工艺说明里反复核对过的常用值可以作为起点但投板前一定要拿你实际用的板厂的工艺表对一遍别直接抄。项目常规要求说明丝印最小线宽0.15 mm能力强的厂可做到 0.1 mm属于非常规英文最小字高0.8 mm多数设计规范建议 1.0 mm保证可读汉字最小字高笔画字1.0 mm密集笔画字建议 1.2 mm 以上汉字最小字高TrueType1.2 mm笔画多的字建议 1.5 mm 起丝印到焊盘间距0.15 mm部分板厂要求 0.2 mm丝印到板边0.3 mm板边有斜边和公差印上去容易缺丝印到阻焊开窗0.1 mm开窗处油墨附着力差这些数字背后的道理是一致的丝印无论是网印还是喷印油墨都有扩散太细的线会断太密的笔画会糊成一团越靠近板边和开窗区域越容易出问题。理解了这条你就知道为什么字小一点挤一挤这种想法在丝印上行不通——这不是审美上的拥挤是工艺上的物理极限。5.3 光绘配置和丝印被删了的几种真实原因光绘文件配置这一步最常见的失误是子类没勾进 film。如果你按前面的建议把汉字先放在临时子类改到正式丝印子类时忘了改、或者改了但 film 里漏加最后输出的 Gerber 里就没有这些字而你在 Allegro 里看着一切正常。养成习惯出光绘前把每个 film 单独打开看一眼确认丝印层里有你要的内容。还有一类问题是丝印被删了实际项目里见到的原因基本是这几种。自动丝印功能覆盖。Allegro 有自动生成丝印的功能它会重新生成丝印图形。如果你的汉字放在它处理的那个子类上后续再跑一次自动丝印手工放的内容可能被覆盖或被清掉。稳妥做法是先跑自动丝印再放中文或者把中文单独放在一个自定义子类上光绘时把这个子类一并加进 film。批量编辑误伤。用 Change 批量把某个子类的东西改成另一个子类时如果 Find 过滤器勾了 All顺手把文字也一起改了。改完之后文字还在但跑到别的子类上去了光绘里自然看不到。表现就是明明放过的字不见了。删除操作误伤。框选删除时 Find 没勾 Text或者勾了 All把一整片区域的东西都删了。导出再导入丢数据。把丝印层导出成 DXF 再导回来笔画字一般会按线段保留TrueType 文本有时会被转成多边形有时会整块丢掉不同版本表现不一样。所以别把 DXF 当成丝印的备份格式要留底就用子图导出或者干脆留一份 brd 文件。这几种情况的共同点是Allegro 里看着都对问题在光绘或 CAM 环节才暴露。所以丝印改完之后别只看屏幕一定要从 Gerber 层面确认一次。5.4 CAM 里回看 Gerber 的几个检查点把生成的 Gerber 导入 CAM 工具回看是丝印验证的最后一道关。导入时用自动导入功能让它按文件自动分层然后按顺序检查这几项。第一层名对不对。顶层丝印和底层丝印有没有混特别是底层——把底层丝印层镜像过来看文字方向应该是正的。第二汉字是否完整。放大到字上逐字看笔画有没有断、有没有糊、有没有缺笔画。TrueType 文本还要看填充是否完整有没有出现只有轮廓没有填充的情况。第三量线宽。用测量工具量一下最细的丝印线和板厂工艺表对照。这一步不能靠眼睛估显示器上的视觉效果和实际尺寸经常对不上。第四把丝印层和阻焊层叠起来看确认没有压焊盘、没有压开窗。第五检查极性。丝印是正片填充图形不应该出现反相。发现一片文字只剩几个笔画先去查这里再回头查 Allegro 端。顺带说一句经验在 CAM 里看到汉字糊成一团的时候先别急着改板。有相当一部分情况是显示精度或者图层缩放的问题实际量出来的线宽和间距完全合格。量一下再下结论比凭视觉判断改一版再改回来省事得多。我个人做了这么多板之后的体会是汉字丝印这件事真正的分水岭不在怎么把字打出来而在打出来的字能不能过工艺。把字显示出来只需要五分钟把这五分钟的成果变成板厂能稳定印刷的图形需要的是一遍 DRC、一次工艺表核对和一次从 Gerber 层面的回看。三样都做了这块板子的丝印基本不会出问题。
返回列表