
简介WEEE 回收标志矢量图标资源包面向电子产品设计、PCB Layout 与环保合规相关设计师解决在包装、说明书、产品外壳或电路板丝印中正确放置 WEEE 回收符号的需求。压缩包共 3 个文件约 380KB包含 EPS 矢量源文件、PNG 位图以及一个 HTML 说明页其中 EPS 可借助 Adobe Illustrator 等工具无损缩放编辑适合印刷与高分辨率输出PNG 便于快速预览和网页插入HTML 提供基本使用说明。该标志源自欧盟 WEEE 指令带交叉线垃圾桶图形是电子产品制造商必须遵守的回收标识也可用于指导用户对废弃设备进行分类回收。已有 770 人学习浏览适合需要规范化标注回收标识的设计师。由于是矢量格式可无损缩放不仅能用于产品标签与说明书也能进入 PCB 设计流程作为板面丝印标识提醒用户按 WEEE 规定处理废弃设备。1. weee-symbol.zip 是什么解压就能用的原理图符号库如果你画过带 WEEE 检测标识的硬件方案大概率见过weee-symbol.zip这种命名方式的压缩包。它是 EDA 原理图符号库的资源包常见于厂商参考设计或开源硬件项目里解压后能看到.SchLib、.kicad_sym之类的库文件装进 Altium Designer 或 KiCad 就能直接放置 WEEE 检测相关器件。它的核心价值是把画原理图里最枯燥的两类劳动替你做了一是符号形状和引脚定义二是符号引脚到 PCB 封装焊盘的映射关系。适合每天和原理图、封装库打交道的硬件工程师也适合做电子竞赛的学生前提是你知道怎么拆包、导入和校验而不是解压完就往项目里拖。2. 拆包先别急着导入文件构成、格式版本与引脚封装映射这类 zip 往往来自厂商或开源项目维护者里面文件乱七八糟直接双击往 EDA 里塞十有八九会翻车。我一般会先解压到独立目录按扩展名归类再判断能不能被当前的软件版本解析。这个动作花五分钟能省掉后面一晚上的排查时间。2.1 先看 zip 里装了什么按扩展名识别符号库与封装库压缩包里的文件到底属于哪个 EDA不看文件名看扩展名和文件内容。下面这张表是我拿到任何库包后的第一判断依据扩展名对应 EDA装的是什么能否用文本编辑器打开.SchLibAltium Designer原理图符号库二进制否必须用 Altium 库编辑器.PcbLibAltium DesignerPCB 封装库二进制否必须用 Altium 库编辑器.kicad_symKiCad 6 及以上原理图符号JSON 文本能直接看引脚定义.kicad_modKiCad 6 及以上PCB 封装S 表达式文本能直接看焊盘坐标.libKiCad 5 及以下旧格式原理图符号文本能但格式与新版完全不同.elib立创 EDA元件库打包文件二进制否只能在立创 EDA 里导入解压和统计这步Windows 和 macOS/Linux 我都用命令行做比较快mkdir -p unpacked cd unpacked unzip -o ../weee-symbol.zip echo --- 按扩展名统计文件数量 --- find . -type f | sed s/.*\.// | sort | uniq -c | sort -rn echo --- 统计 KiCad 符号库的格式版本字段 --- grep -h version --include*.kicad_sym -r . | sort | uniq -c逻辑说明unzip -o遇到同名文件直接覆盖避免交互卡死find配合sed把文件名里的最后一个点之后的部分摘出来拿到扩展名分布能快速判断这个包里到底有没有封装库第三段grep只对.kicad_sym文件抓version字段用来预判 KiCad 版本兼容性。参数说明--include*.kicad_sym限定文件类型-r递归子目录后面接.表示当前目录。2.2 引脚映射关系决定你能不能安全转 PCB符号Symbol和封装Footprint在很多 EDA 工具里是两个独立的对象软件靠「引脚号 ↔ 焊盘号」把它们绑在一起。原理图里符号的 1 脚到了 PCB 端必须能找到 1 号焊盘网表连线才是通的。这个映射一旦错位原理图看着一切正常一转 PCB 就满屏飞线断网。常见失配有三种对照下面的表说明器件类型符号引脚号/名封装焊盘号常见失配原因极性电容1 正极2 负极1 正极2 负极个别库把负极写成 3实际焊盘只有 1/2SOT-23 三极管B/C/E 或 1/2/31/2/3符号用字母、封装用数字网表导入时对不上QFN-321..3233 E-Pad1..3233 E-Pad画漏了散热焊盘GND 网络全部悬空SOT-23 这种字母对数字的问题最典型。厂商数据手册里可能写 1B、2E、3C但封装库的焊盘编号就是 1、2、3符号引脚号如果你跟手册写成 B/E/CAltium 导入网表时会直接提示找不到对应焊盘。所以拿到 weee-symbol.zip 后第一步不是看符号画得美不美而是随机挑三五个器件把符号引脚号跟封装焊盘号一对一审一遍。2.3 格式版本兼容性先判版本再选 EDA库文件格式是有版本之分的高版本 EDA 写出来的库低版本软件经常打不开。Altium 的.SchLib是二进制格式没有公开的版本字段已知现象是 AD17 能开 AD14 的库但反过来大概率报 “Wrong Library Version”。KiCad 这边透明得多.kicad_sym顶部就有version字段你解压后 grep 出来会看到类似20221018或20240108的长整数它对应的就是符号库格式的发布时间数值越新对 KiCad 主版本要求越高。正确的判定顺序我一般是这么走的先看扩展名区分工具链再查格式版本然后对照自己装的软件版本最后确认包里是否同时带了封装库。只要有一项不满足就别硬导先升级软件或找替代库。常见的做法是把.kicad_sym里的version改小来骗过旧版 KiCad但我要提醒你这只是打开文件的临时后悔药引脚类型、图形偏移这些新字段旧版不认识打开后依然可能少东西。提示判断版本兼容性时以「能通过 ERC 和 DRC」为准不以「能打开界面」为准。3. 导入 Altium 与 KiCad 的可抄作业流程挂库、放置与三个必调参数确认格式和版本没问题之后导入本身并不复杂但不同 EDA 的挂载逻辑差别很大。Altium 区分工程级库和系统级库KiCad 把符号库和封装库分开挂载这两点最容易被新手搞混。3.1 Altium装成系统库别装进当前工程Altium 里最稳的导入路径是把库装到系统层这样所有工程都能用。我见过不少人在 Project 菜单里找 Add Existing to Project把.SchLib加进了工程结果换一个工程就找不到器件原理图里全部显示问号。正确做法如下cd /d D:\LibBundle tar -xf weee-symbol.zip -C weee-symbol dir /s /b weee-symbol\*.SchLib weee-symbol\*.PcbLib第一行cd /d是 Windows 命令提示符里切换盘符的固定写法/d参数表示跨盘符切换不加会报找不到路径第二行用 Windows 10 以上自带tar解压兼容 zip 格式第三行递归列出所有.SchLib和.PcbLib方便接下来在界面里逐个安装。命令行完成后打开 Altium右下角 Panels → Libraries 打开库面板点面板右上角的Libraries按钮选择Install在弹出的文件选择框里把刚才dir出来的.SchLib和.PcbLib全选进去安装完在 Available Libraries 列表里能看到它们就说明挂载成功。放置的时候在库面板搜索框里输入器件名关键字比如 WEEE_SENSOR下方会列出候选符号选中后点Place放入原理图。3.2 KiCad符号库和封装库分开挂载封装按文件夹加载KiCad 6 之后的逻辑是符号库与封装库两条线互不干扰你必须分别挂载。符号库入口在菜单 Preferences → Symbol Libraries点文件夹图标 Add Existing选.kicad_sym文件封装库入口在 Preferences → Footprint Libraries这里注意KiCad 的封装是按.pretty文件夹组织的你要把整个.pretty目录加进去而不是单独加某个.kicad_mod文件。.kicad_sym是 JSON 格式你解压后用文本编辑器打开内部结构大致是下面这样{ version: 20221018, symbols: [ { name: WEEE_Sensor, pin_names: { offset: 1.016 }, pins: [ { number: 1, name: VDD, type: power_in }, { number: 2, name: GND, type: power_in }, { number: 3, name: OUT, type: output } ] } ] }逻辑说明version是格式版本symbols数组里每个元素是一个符号pins数组定义了引脚的编号、名字和电气类型。这段 JSON 在你解压出来的文件里会存在导入后放置器件时原理图符号上的引脚名称和编号就来源于这里的name和number字段。参数说明type字段决定 ERC 检查时的电气规则power_in表示电源输入output表示输出如果你的信号接反了类型ERC 会报错所以看到 ERC 黄条先回来检查 JSON而不是改原理图。3.3 导入后必调的三个参数位号、封装绑定、图形原点库导入成功不等于直接能用我每次放置第一个器件前都会调三个参数这三个参数决定了后续自动编号、PCB 导入和复制对齐顺不顺畅参数位置建议值/检查方式Designator 位号前缀符号属性面板统一为 U?、R?、C?且不能被锁定Footprint 封装绑定符号属性面板 Models必须绑定到已挂载的封装名不能留空图形原点库编辑器内必须在 (0,0)全选后检查坐标位号前缀的问题在于有些作者习惯把器件名写成 WEEE_SENSOR_1带了完整序号你放到原理图里自动编号永远从 1 开始还会跟已有位号冲突。我的做法是选中器件在属性面板把 Designator 改成 U?并在右下角锁形图标上点掉锁定让 Annotate 接管。封装绑定这步更关键Altium 里要在 Models 区域 Add Footprint选择库面板里已安装的.PcbLib里的具体封装名KiCad 里是在符号属性里点 Footprint 字段从下拉列表选封装。图形原点如果不在 (0,0)你复制器件时会发现它疯狂跳位置像随机偏移一样这问题看起来玄学实际就是原点偏了。4. 避坑排查引脚断网、版本打不开与封装缺失的 5 个记录这部分内容来自我处理过的各种库包故障现场每一类都遇到不止一次。下面按现象、原因、解决三段写照着排查大部分问题十分钟内能定位。4.1 PCB 端报 Missing Pad引脚号和焊盘号对不上现象原理图放置后看起来正常生成网表导入 PCB 时Messages 面板出现一堆 Missing Pin/Node 错误器件引脚悬空。原因符号引脚号和封装焊盘号不一致。最常见于厂商给出的参考库符号引脚标了 A/B/C封装焊盘是 1/2/3或者极性电容符号负极写 3封装实际只有两个焊盘。这类错误在原理图阶段看不见只有导入网表才爆发。解决在封装编辑器里把焊盘编号改成和符号一致或者反过来以厂商数据手册的引脚功能表为唯一依据把两边的编号统一。改完重新生成网表再导入一次验证零错误。注意不要只改一边要两边一起检查改完符号还要回到原理图更新缓存。4.2 新器件在原理图里显示问号DRC 报 Off-Grid现象从库面板放置器件后符号上全是问号运行 DRC 报大量 Off-Grid器件引脚不在网格点上。原因这类库文件的作者在绘制符号时没有遵守网格规范。原理图符号要求引脚落在 100mil 网格上但手工维护的杂牌库经常有 33.123mil 之类的坐标。软件检查网格时自然报错符号名显示异常也源于库内部属性缺失。解决进入库编辑器选中该符号的全部对象Edit → Set Location把图形原点重新放到 (0,0)然后检查每一个引脚的 X/Y 坐标把小数位清掉。如果是 KiCad 符号直接改 JSON 里每个 pin 的xy值改成整数或 0.5 的倍数重新加载库。有人在论坛里把这个问题归为玄学其实先查引脚坐标小数点九成能定位。4.3 高版本库包打不开提示格式无效或版本过新现象Altium 打开.SchLib提示 Wrong Library VersionKiCad 导入.kicad_sym提示 Symbol file version too new。原因包里库文件的格式比当前 EDA 软件新。比如 KiCad 8 写出的符号库格式版本号较高KiCad 6 打开会拒绝。Altium 同理新版软件写的.SchLib在老版本里没有对应解析器。解决优先升级 EDA 软件到兼容版本这是最安全的路。临时想看一眼内容KiCad 下可以用文本编辑器打开.kicad_sym把version字段改成当前软件支持的旧值比如20221018很多情况能强行打开但只能看不要直接用来出图因为新特性字段可能被旧版忽略引脚类型和图形偏移会丢。Altium 下没有此类后悔药只能找作者要低版本导出或者用 Ultra Librarian 这类工具重新生成库。4.4 包里只有符号库没有封装库转 PCB 全部没壳现象原理图放置没问题一转到 PCB所有器件都没有封装图形DRC 报 Missing Footprint。原因weee-symbol 这类包有的做成了「符号专用包」作者只维护了原理图符号没放.PcbLib或.kicad_mod。下载说明里没写清楚你默认以为符号和封装是一套结果只有半个库。解决去原厂官网或立创商城下载对应的封装库单独挂载也可以用 IPC-7351B 标准焊盘尺寸自己画。我的习惯是这种混合来源的器件永远从原厂参考设计里提取封装而不是随便找个看起来像的顶上。封装这东西尺寸差 0.1mm 贴片就可能立碑不值得赌。4.5 自动编号乱跳C? 不连续位号重复现象放置多个同类器件后Tools → Annotate 跑完位号还是乱七八糟有些 C1 后面直接 C5前面还带下划线。原因库作者在符号属性里给 Designator 填了具体的名字比如WEEE_SENSOR_1并且勾选了锁定属性。自动编号工具默认尊重锁定值于是跳过这些位号只在未锁定的对象上重新编号结果看起来就像随机跳号。解决原理图里全选所有新放置器件在属性面板找到 Designator清空内容或改成C?格式确认锁形图标处于解锁状态再执行 Tools → Annotate选择 Reset All Designators最后重新编号。这个处理顺序不能反先重置再编号否则工具仍会跳过带具体编号的旧值。5. 批量校验与验证用脚本和网表把 weee-symbol 变成可信资产从网上下载的库包不能直接信我现在的习惯是在导入前先跑一遍一致性脚本。.kicad_sym是 JSON 格式非常适合批量扫描Altium 的.SchLib二进制没法用脚本直读但可以在库编辑器里生成库报告做静态检查。一个几十个符号的包脚本跑完加人工抽检半小时内能确认它能不能进项目。下面这个脚本用于扫描解压目录下的所有.kicad_sym文件检查引脚号重复和引脚类型非法两类硬伤。重复引脚号会导致网表断脚非法 type 字段会导致 ERC 误报或漏报这两类问题在图形界面里一个个点开看非常费眼import json import glob import sys ALLOWED_TYPES { input, output, bidirectional, tri_state, passive, power_in, power_out, open_collector, open_emitter, no_connect } def check_kicad_sym(path): data json.load(open(path, encodingutf-8)) print(f {path}: format version {data.get(version)} ) for sym in data.get(symbol, []): pins sym.get(pins, []) numbers [p[number] for p in pins] dupes {n for n in numbers if numbers.count(n) 1} if dupes: print(f [FAIL] duplicate pin numbers: {dupes}) for p in pins: if p.get(type) not in ALLOWED_TYPES: print(f [WARN] illegal type {p.get(type)} on pin {p.get(number)}) for path in glob.glob(unpacked/**/*.kicad_sym, recursiveTrue): check_kicad_sym(path)逻辑说明glob.glob递归找到所有.kicad_sym文件json.load把文件解析成字典pins数组里逐个取number和type用集合去重判断是否有重复引脚号用白名单判断电气类型是否合法。参数说明ALLOWED_TYPES里的字符串就是 KiCad 官方规定的引脚电气类型不要随意加自定义值ERC 引擎只认这一套recursiveTrue表示包含子目录如果你的 zzz 结构里有多层嵌套目录这个参数能保证全部扫到。脚本跑完只是第一关。我还会在原理图里放 5 个代表器件打开电气规则检查跑一遍 ERC确认零错误生成网表后翻开数据手册的引脚功能表把符号引脚编号和手册逐一对一遍这一步能防住脚本看不出来的「名对位错」。最后导出一份 PDF 原理图放大三倍检查丝印位号和引脚名显示确认没有叠字。Altium 用户可以额外在库编辑器里用 Reports 生成库报告里面会列出缺失封装绑定和重复引脚号输出 CSR 文件归档。这套流程下来weee-symbol.zip 才算是真正装进了你的设计资产库。别嫌麻烦库包来源越杂导入前检查的必要性越大。我自己吃过一次亏把没查过的库直接塞进量产项目结果 PCB 打样回来才发现一枚传感器符号的 3 脚和 4 脚画反只能飞线拯救从那之后任何 zip 库必须先解压、再脚本扫、后人工抽检。希望这条流程能帮你躲过同样的坑也希望这份笔记能让你少走点弯路。本文还有配套的精品资源点击获取