# PinMAP → PinList 转换器 v1.0.0 **发布日期**: 2026-05-25 **仓库**: https://git.cclee.wiki/GoudanLabs/pinmap-to-pinlist **标签**: [v1.0.0](https://git.cclee.wiki/GoudanLabs/pinmap-to-pinlist/releases/tag/v1.0.0) --- ## 📦 发布包 - `pinmap-to-pinlist-v1.0.0.zip` — 完整源码 + 文档 + 测试夹具 ## ✨ 功能 - **PinMAP 解析**:方形/长方形封装,左上角 1 脚,逆时针排序 - **格式支持**:`.xls`(BIFF8 引擎)+ `.xlsx` - **智能验证**:重复引脚 / 间隙 / 空单元格检测 - **PinList 生成**:逆时针 PinMAP → 顺时针 PinList 自动转换 - **双模式**:GUI 文件选择 + 命令行 ## 🚀 使用 ```bash # GUI 模式 python main.py # 命令行模式 python main.py input.xlsx ``` ## 📁 项目结构 ``` Code/src/ — 源代码(10 个模块) Code/docs/ — 架构文档 Test/ — 测试夹具 + 报告 ``` ## 🔧 技术 - Python 3.x 标准库,零第三方依赖 - 自定义 BIFF8 引擎(~19KB) - openpyxl(.xlsx 读写) ## 📋 模块列表 | 模块 | 功能 | |------|------| | `main.py` | 入口与流程编排 | | `xls_reader.py` | BIFF8 .xls 解析引擎 | | `xlsx_reader.py` | .xlsx 解析器 | | `pinmap_parser.py` | PinMAP 结构解析 | | `validator.py` | 结构验证与错误检测 | | `pinlist_generator.py` | PinList 生成器 | | `xlsx_writer.py` | .xlsx 输出 | | `file_selector.py` | tkinter 文件选择器 | | `models.py` | 数据模型 | | `utils.py` | 工具函数 |