Skip to content

Instantly share code, notes, and snippets.

@Tomokatsu-Sakamoto
Last active June 14, 2017 09:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tomokatsu-Sakamoto/cb368ec9adfbae0c0af2cbad17194706 to your computer and use it in GitHub Desktop.
Save Tomokatsu-Sakamoto/cb368ec9adfbae0c0af2cbad17194706 to your computer and use it in GitHub Desktop.
【パターンAがハンダ面】PCBE で出力されたガーバーデータを Fusion PCB 向けに ZIP にするスクリプト
@ECHO OFF
::  このスクリプトは、PCBE で出力されたガーバーデータを、Fusion PCB
:: に発注する際の適切な名前に変更するものである。
::  変更するファイル名のベース部分は、このスクリプトファイルのベース
:: 部分を使用する。 ※ベース部分には、空白が含まれていてもよい。
:: PCBE to Fusion PCB setup
ECHO ///
ECHO // 基板名称 [%~n0]
ECHO /
ECHO\
SET PCBNAME=%~n0
if exist "%PCBNAME%.zip" goto ZIP_MOVE
goto BEGIN
:ZIP_MOVE
if exist "%PCBNAME%.ZIP_old".grb del "%PCBNAME%.ZIP_old"
rename "%PCBNAME%.zip" "%PCBNAME%.ZIP_old"
:BEGIN
:: Fusion PCB用旧ファイル削除
ECHO ¦Fusion PCB用旧ファイル削除(1)
for %%a in (GTL GBL GTS GBS GTO GBO TXT GKO) do if exist "%PCBNAME%.%%a" del "%PCBNAME%.%%a"
REM PCBEの作成した旧ファイル残骸削除
ECHO ¦PCBEの作成した旧ファイル残骸削除
for %%a in (gout.lst hout.lst hole.hol) do if exist %%a del %%a
:: 作成されているガーバーデータを判断し、元となるファイル名を判断する
if exist pattern-B.grb goto RE2
:: トップレイヤの名前 → pcb_name.GTL
:: ボトムレイヤの名前 → pcb_name.GBL
:: 表面のソルダレジスト → pcb_name.GTS
:: 裏面のソルダレジスト → pcb_name.GBS
:: 表面のシルク → pcb_name.GTO
:: 裏面のシルク → pcb_name.GBO
:: ドリルデータ → pcb_name.TXT
:: 基板外形 → pcb_name.GKOまたは.GML
:RE1
if not exist L1PATTERN.grb goto NOFILE
ECHO ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ECHO ■ 命名ルールが「P板.com」
ECHO ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ECHO ■トップレイヤの名前 → %PCBNAME%.GTL
REM Top layer 部品面 xx.GTL
REN L1PATTERN.grb "%PCBNAME%.GTL"
ECHO ■ボトムレイヤの名前 → %PCBNAME%.GBL
REM Bottom layer ハンダ面 xx.GBL
REN L2PATTERN.grb "%PCBNAME%.GBL"
ECHO ■表面のソルダレジスト → %PCBNAME%.GTS
REM Solder Stop Mask top 部品面のレジスト層 xx.GTS
REN L1RESIST.grb "%PCBNAME%.GTS"
ECHO ■裏面のソルダレジスト → %PCBNAME%.GBS
REM Solder Stop Mask Bottom ハンダ面のレジスト層 xx.GBS
REN L2RESIST.grb "%PCBNAME%.GBS"
ECHO ■表面のシルク → %PCBNAME%.GTO
REM Silk Top 部品面シルク xx.GTO
REN L1SILK.grb "%PCBNAME%.GTO"
ECHO ■裏面のシルク → %PCBNAME%.GBO
REM Silk Bottom ハンダ面のシルク xx.GBO
REN L2SILK.grb "%PCBNAME%.GBO"
ECHO ■ドリルデータ → %PCBNAME%.TXT
REM NC Drill NCドリル情報 xx.TXT
REN hole.grb "%PCBNAME%.TXT"
ECHO ■基板外形 → %PCBNAME%.GKO
REN board.grb "%PCBNAME%.GKO"
GOTO MKZIP
:RE2
ECHO ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ECHO ■ 命名ルールが「PCBEデフォルト」
ECHO ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ECHO ■トップレイヤの名前 → %PCBNAME%.GTL
REM Top layer 部品面 xx.GTL
REN pattern-B.grb "%PCBNAME%.GTL"
ECHO ■ボトムレイヤの名前 → %PCBNAME%.GBL
REM Bottom layer ハンダ面 xx.GBL
REN pattern-A.grb "%PCBNAME%.GBL"
ECHO ■表面のソルダレジスト → %PCBNAME%.GTS
REM Solder Stop Mask top 部品面のレジスト層 xx.GTS
REN resist-B.grb "%PCBNAME%.GTS"
ECHO ■裏面のソルダレジスト → %PCBNAME%.GBS
REM Solder Stop Mask Bottom ハンダ面のレジスト層 xx.GBS
REN resist-A.grb "%PCBNAME%.GBS"
ECHO ■表面のシルク → %PCBNAME%.GTO
REM Silk Top 部品面シルク xx.GTO
REN silk-B.grb "%PCBNAME%.GTO"
ECHO ■裏面のシルク → %PCBNAME%.GBO
REM Silk Bottom ハンダ面のシルク xx.GBO
REN silk-A.grb "%PCBNAME%.GBO"
ECHO ■ドリルデータ → %PCBNAME%.TXT
REM NC Drill NCドリル情報 xx.TXT
REN hole.grb "%PCBNAME%.TXT"
ECHO ■基板外形 → %PCBNAME%.GKO
REN board.grb "%PCBNAME%.GKO"
GOTO MKZIP
:NOFILE
ECHO ¦必要なファイルが存在していません...
GOTO END
:MKZIP
ECHO ¦書庫ファイルの作成
powershell compress-archive -Path %PCBNAME%.GBL -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GBO -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GBS -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GKO -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GTL -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GTO -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.GTS -Update -Destination %PCBNAME%.zip
powershell compress-archive -Path %PCBNAME%.TXT -Update -Destination %PCBNAME%.zip
:END
ECHO\
PAUSE
SET PCBNAME=
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment