MCPcopy Index your code
hub / github.com/HalfSweet/TransJLC

github.com/HalfSweet/TransJLC @0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.4.0 ↗ · + Follow
187 symbols 400 edges 17 files 84 documented · 45%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TransJLC

TransJLC Logo

crates.io license release GitHub Actions Workflow Status

English | 简体中文

TransJLC 是一个用于将其他 EDA 软件生成的 Gerber 文件转换为与嘉立创 EDA(立创商城的在线编辑器)兼容格式的工具,以方便在嘉立创进行生产。

✨ 功能特性

  • 自动识别来自常见 EDA 软件(KiCad、Protel、Altium Designer)的 Gerber 文件。
  • 将文件重命名以符合嘉立创所需的文件命名规范。
  • 可自动将输出文件压缩为 ZIP 归档,便于上传。
  • 跨平台支持(Windows、macOS、Linux)。

📦 安装

通过 crates.io (推荐)

请确保您已安装 Rust 工具链。然后,您可以直接从 crates.io 安装 TransJLC

cargo install TransJLC

从源码编译

  1. 克隆仓库: bash git clone https://github.com/HalfSweet/TransJLC.git
  2. 进入项目目录: bash cd TransJLC
  3. 以 release 模式构建项目: bash cargo build --release 可执行文件将位于 target/release/TransJLC

🚀 使用方法

在您的终端中运行该工具,并提供必要的选项。

命令行选项

选项 缩写 描述 默认值
--eda -e 指定源 EDA 软件。可选:auto, kicad, jlc, protel auto
--path -p 包含 Gerber 文件的目录路径。 . (当前目录)
--output_path -o 转换后文件保存的路径。 ./output
--zip -z 如果设置为 true,则会创建输出文件的 ZIP 归档。 false
--zip_name -n 生成的 ZIP 文件的名称(不含 .zip 扩展名)。 Gerber
--no-progress 禁用进度显示。 false
--inject-header / --no-inject-header 强制开启或关闭模拟 EasyEDA Pro 文件头注入。自动模式下,--eda jlc 关闭,其他 EDA 开启。 自动
--passthrough / --no-passthrough 强制保留或丢弃未匹配文件。自动模式下,--eda jlc 保留,其他 EDA 丢弃。 自动
--top_color_image 可选:顶层彩色丝印图片路径(生成 Fabrication_ColorfulTopSilkscreen.FCTS)。
--bottom_color_image 可选:底层彩色丝印图片路径(生成 Fabrication_ColorfulBottomSilkscreen.FCBS)。

使用示例

转换位于 D:\Projects\MyPCB\Gerber 的 Gerber 文件,将它们保存到 D:\Projects\MyPCB\Output,然后创建一个名为 MyProject.zip 的 ZIP 文件。

TransJLC -p="D:\Projects\MyPCB\Gerber" -o="D:\Projects\MyPCB\Output" -z=true -n=MyProject

🤝 贡献

欢迎各种贡献、问题和功能请求!请随时查看 issues 页面

🙏 致谢

感谢 @DFC1234issue #11 中提供的新思路。

📄 许可证

该项目采用 Apache-2.0 许可证。详情请参阅 LICENSE 文件。

版权声明

本项目不建议任何方式进行任何形式商用!其中的代码仅用于学习和研究,禁止用于任何商业目的,也禁止用于伤害深圳嘉立创科技集团股份有限公司。其中lceda 立创EDA 嘉立创EDA 嘉立创等均属于深圳嘉立创科技集团股份有限公司所注册商标,请注意使用。

Extension points exported contracts — how you extend this code

WithProgress (Interface)
Utility trait for easy progress tracking integration [1 implementers]
src/progress.rs
ResultExt (Interface)
Extension trait for Results to add context with file paths [1 implementers]
src/error.rs

Core symbols most depended-on inside this repo

add_pattern
called by 46
src/patterns.rs
with_path_context
called by 31
src/error.rs
mm_to_mil_10
called by 24
src/colorful/types.rs
as_str
called by 11
src/config.rs
create_file_progress
called by 7
src/progress.rs
process_gerber_content
called by 6
src/gerber.rs
match_filename
called by 4
src/patterns.rs
run
called by 4
src/converter.rs

Shape

Method 90
Function 76
Class 16
Enum 3
Interface 2

Languages

Rust100%

Modules by API surface

src/gerber.rs29 symbols
src/converter.rs27 symbols
src/progress.rs22 symbols
tests/integration_tests.rs19 symbols
src/archive.rs19 symbols
src/patterns.rs18 symbols
src/config.rs11 symbols
src/colorful/types.rs9 symbols
src/colorful/mask.rs7 symbols
src/colorful/svg.rs6 symbols
tests/colorful_encryption.rs5 symbols
src/error.rs5 symbols

For agents

$ claude mcp add TransJLC \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact