Japanese only. For those in other languages, please use Google translation etc.(English)
Update date 2022/09/08 9:39 JST  /  Load time 2023/03/23 0:14 JST
トップページに戻る            相互リンク(FusionPCB 1)            相互リンク(FusionPCB 2)

 PCBE で作成したデータで FusionPCBElecrowJLCPCBALLPCB に発注する方法 

アクセスカウンター

「注文履歴・訂正履歴等を読まずに本文へジャンプ」

●訂正履歴等
・2022/08/27
 色々ありまして、2022/07/15 に注文したプリント基板が届きました。
 (チョット時間がかかりました)
 プリント基板に部品を取り付けて問題無く動作する事を確認しました。
・2022/07/15 「2020/08/04 追記」について
 本日FusionPCBとJLCPCBへガーバーファイルのアップを試したのですが、
 PCBEの基板見積で作成したZIPファイルではエラーが出てしまいました。
 本文に記載の方法でBATスクリプトを利用すれば、ガーバーデーターがキチンとアップロードされます。
 (事情が有り更新していないので、現用中のPCBEバージョンが古い為かもしれません)
・2020/08/04 追記 (2021/10/30 追記事項を目立つようにしました)  
 PCBEの機能でFusionPCB発注用ファイル作成が可能のようです。 
 ファイル(F) 
 基板制作見積 
 基板メーカー:データ作成(ドリル=NC) 
 データ作成 
 う〜〜ん、気がつかなかった。 
 FusionPCBに注文する機会が有ったら、この方法を試してみます。 
・2020/05/07 訂正
 旧バージョン(2019/04/17版)のBATスクリプト掲載を終了しました。
・2020/02/19 訂正
 訂正履歴等欄を日付逆順にしました。
 新しい履歴が先頭に来ます。
・2020/02/09 訂正
 HTMLを修正しました。(掲載スクリプトに変更は有りません)
・2020/02/08 訂正
 VBS版利用時の注意事項を、ページ最下部に移動しました。
 「戻る」に、Javaを使用しました。
・2020/01/25 訂正
 JLCPCBのガーバービューアーにはバグが有りますが、生産は正常に出来る様です。
 (発注回数2回、プリント基板4種を注文しましたが、全てOKでした)
 なお、JLCPCBのガーバービューアーの状況は私のブログをご覧下さい。
・2019
 2019年の方法。:BATスクリプト。
・2018
 2018年の方法。:VBスクリプト。
・2018
 このページは、ブログからの転記です。 (ブログ版)
 今後は、このページをを主に更新します。
 ブログではなく、このページを御利用下さい。
・2017
 2017年の方法。:CMDスクリプト。
・2013
 2013年の方法。FusionPCBの仕様が変わった為、この方法では発注出来ません。
・訂正事項
 VECTORのソフト詳細説明欄を下記の様に訂正・追記させて頂きます。
 訂正前 PCBEのデータをFusionPCBに注文する形式に変換を容易にするVBスクリプトです。
 訂正後 PCBEのデータをFusionPCB注文する形式に変換する作業を容易にするVBスクリプトです。
 (BATスクリプト2019/08/05版は、FusionPCBの他にElecrow, JLCPCB, ALLPCBも対応します)

注文履歴
●2020/03/14、FusionPCBに注文
 2019/08/05版のバッチスクリプトを利用して発注しました。
 基板は、「$7.9セール + OCS配送 = $12.9」です。
 前回(2019/07/17)は1週間で届いたけど、この状況なので遅れそうです。 製造は順調。
・2020/03/18、FusionPCB:製造完了。
・2020/03/19、FusionPCB → OCS:荷物ピックアップ。
・2020/03/20、OCS:日本到着、通関完了。
・2020/03/22、OCS → 佐川:発送。(通常は通関当日発送だが、今回は2日遅延)
・2020/03/23、佐川:本日配達されました。
 
 仕上りは十分です。 詳細はブログをご覧下さい。

●2020/01/12、JLCPCBに注文
 2020/01/13、ステータスが発送準備中になりました。(一晩で製造したみたい)
 2020/01/18、届きました。早かった!
 出来は良いのだけど、届いた基板を見たら、いつもどおり「私の設計ミス」。
 パーツのリード線がスルーホールに入らないと言うドジ (;_;)
 届いた状態
 
 プリント基板の仕上りは良いです。

●2019/09/28、JLCPCBに注文
 2019/10/07、プリント基板が届きました。
 2019/10/26、部品を実装して動作の確認をしました。
 全く問題ありません。(私のミスは有りましたがhi)
 子細はブログに記載しますのでご覧下さい。
 到着した折の梱包状況
 プリント基板の拡大画像
 プリント基板作成しました(コンデンサスポット溶接機)

2019/07/17にFusionPCBに注文、7/24に届きました。
 2度目のBATスクリプトによる変換です。
 注文実績が2回しかないので、スクリプトに思わぬミス等が隠れている可能性が有ります。
 BATの内容を精査し、自己責任で御利用下さい。
 BAT版は、FusionPCB, Elecrow, JLCPCB の3社に対応しています。
・2019/08/05追記
 FusionPCB、Elecrow、JLCPCB、ALLPCB の4社に対応します。
 注意事項:発注実績の無いPCBメーカーがあります。各社のガーバービューアーで確認の上発注して下さい。

●2019/04/14にFusionPCBに注文、4/21に届きました。
 今回は新たに作成した「BATスクリプト」でFusionPCB形式に変換して注文しました。
 VBSより処理が高速になってます (^_^)
 BATスクリプトで正常に注文出来る事を確認出来ましたので、BAT版を公開します。
 
●2019/03/13
・FusionPCBの品質について。
 価格(5枚で送料込9.9ドル)から見てやむを得ないと思いますが、高品質とは言えないです。
 シルクの剥離等は、出荷検査で一目見れば判るトラブルですので、完成後の検査はしていない様です。
 商品着後全数検査し、酷い問題が有る様ならメーカーに連絡する事をお薦めします。
・FusionPCBでの基板制作
 「1/10インチピッチのスルーホール配線」は、大きな問題にはならないと思われます。
 「細かいパターン」で作成する場合や「表面実装」では、充分ご注意下さい。

 
 レジストとシルクの剥離した基板が見かけられます。
 剥離部分がハンダメッキされているので、剥離はメッキの前工程と思われます。

 
 レジストにキズ有りの基板が見かけられます。
 キズ部分がハンダメッキされているので、損傷はメッキの前工程と思われます。

 
 トップレイヤーにランドズレ。(全基板)
 もう少しズレが大きいと、スルーホールに掛ってしまいます。

●注文履歴一部省略

●2013/04/20
 初めてのブリント基板注文。(FusionPCB)
 当時は10cm角のプリント基板が34ドル。(;_;)

 
■注意事項。
 本ページ記載内容及びスクリプトは十分注意して記載・作成しておりますが、
・御利用の方の環境で正常に動作する事は保証出来ません。
・御利用の方の環境でトラブルが発生しても補償出来ません。
・上記を了解の上ご利用下さい。
・以下の説明は、Windows8.1Pro64bitでの操作です。
 他のOSでは、状況に合わせて御利用下さい。
・主にFusionPCBへの注文例で記載します。
 他社を利用す場合は、その企業の仕様に合せて御利用下さい。
・FusionPCBの長穴注文方法は、ブログの記事を参照して下さい。
・FusionPCBでは、レイヤー42-孔(NO-TH)は、使いません。
 NO-TH もレイヤー8-孔 で作成して下さい。
PCBEは、なるべく新しいバージョンを御利用下さい。 最新版のDLはこちらから。(Vector社)
 (私は、事情により旧バージョンを利用しています)
 注意:極端に古いバージョンを利用するとパターン配置が異なる為、現行と互換性が有りません。
 現行=レイヤー1は、パターン-A 部品面。
 旧版=レイヤー1は、パターン1 半田面。


◆◆◆◆◆◆作成開始◆◆◆◆◆◆

●PCBEで基板のパターンを作成します。
 PCBEの使い方については、他のサイトをご参照下さい。

●プリントパターンが完成したらDRCチェックです
 PCBEの「ファイル(F)」メニューから「DRCチェック」を行います。
 ---下画像参照---。
DRC Check

 PCBEには、FusionPCB用のチェックファイルが入っていますので[ PcbeFusion.drc ]を指定します。
 (注文する工場に適合したDRCチェックをして下さい)
 指定したら「開く」をクリック。
 ---下画像参照---。
DRC Check2

 ラインの間隔その他がPCB製造に適合するかチェックしてくれます。
 ×が出たらやり直し、配線の間隔調整等がが必要になります。
 ---下画像参照---。
DRC Error

 問題が無ければ次のステップです。
 ---下画像参照---。
DRC OK

発注に入りますが、先ずは準備から
・先ずは、適当な名前で空のフォルダを作成します。
 注意、フォルダ名は半角英数字のみです。(日本語等は使用しないで下さい)
・作成したフォルダの中に以下の3個をコピーして下さい。 (その他は不要です)
 GERBV.EXE ([gerbv-win-static_20160713.zip])。
 上記ホームページが更新され、Windows版が見つけにくくなりました。下記リンクを御利用下さい。
 このURLから[gerbv-win-static_20160713.zip]をDLして下さい。(SourceForge.net)
 圧縮ファイルを解凍し、GERBV.EXE を取り出して下さい。
 注意:ダウンロードしたら、使用前に御利用のウイルス検出ソフトで確認して下さい。  
 PCBEからプリント基板メーカー書式に変換するスクリプト。
 複数有りますが、「VBS版BAT版のどれか1つ」お好みのスクリプトを御利用下さい。
 お薦め:最新版は、私の出来る範囲でエラー対策をしています。2019/08/05版BATをお薦めします。
 
VBS版、Pcbe2Fusion.VBS 2018年版.
 (VECTORに掲載しているスクリプトです)
 @. VBスクリプト。このページ後部に有ります。 
 A. 同上ZIPファイルはここからDLして下さい。(Vector社) 
 圧縮ファイルを解凍し、Pcbe2Fusion.VBS を取り出して下さい。
 初代のスクリプトです。発注実績は多数ありますが、ZIP化は手動で行って下さい。
 対応プリント基板メーカー。
  FusionPCB:発注実績有。
 注意事項:作成したVBスクリプトは、エラー処理をしていません。
  何らかのエラーが発生すると、バックグランドで走り続ける場合が有ります。
  VBS作業前に、「VBS版を御利用の方への注意事項」をご一読下さい。

BAT版、PcbOrder20190805.BAT 2019/08/05版
 JLCPCBの誤記修正、ALLPCB対応その他修正。
 @. BATスクリプト。このページ末尾に有ります。 
 A. 同上ZIP圧縮ファイルのダウンロード。 
 VBスクリプト版より使いやすいと思います。 (^_^)
 対応プリント基板メーカー。
  FusionPCB:発注実績1回。
  Elecrow:発注実績はありません。
  JLCPCB:発注実績2回、4種類の基板。
    (SET JLCPCB=NO の行を SET JLCPCB=YES と修正して御利用下さい)
  ALLPCB:発注実績はありません。
    (SET ALLPCB=NO の行を SET ALLPCB=YES と修正して御利用下さい)

注意:ダウンロードしたら、使用前に御利用のウイルス検出ソフトで確認して下さい。
・貴方の作成したPCBEのプリントパターンデータ。
 Sample-3.pcb 等。

●作業開始前の確認
---下画像参照---。
 BAT版を御利用の方は、Pcbe2Fusion.VBS を PcbeOrder.BAT or PcbeOrder日付.BATと読替えて下さい。
フォルダを作成して3つのファイルを格納
 上画像の様に3つのファイルが新しいフォルダにコピーされている事を確認して下さい。

●前記、フォルダ内の貴方が作成したPCBEデータをクリックしてPCBEを起動します。
 参考:上画像の例では、Sample-3.pcbをクリック又はダブルクリックしてPCBEを起動します。
 (拡張子がPCBEに紐付けられていない場合、PCBEで上記データを開いて下さい)。
 ガーバーファイルを出力します。
・ファイル(F)。
・ガーバー出力。
 と進んで下さい。
 ---下画像参照---。
PCBEでガーバー出力

●ガーバー出力するファイル。
・拡張出力にチェックを付けて下さい。
・小数部(桁)は3桁です。
・ガーバー出力するファイル名は、PCBEデフォルトから変更しないで下さい。
・必用なファイルは以下のとおりです。
 pattern-A.grb
 pattern-B.grb
 silk-A.grb
 silk-B.grb
 resist-A.grb
 resist-B.grb
 board.grb
 hole.grb
・OKなら「出力」ボタンをクリックして下さい。
 ---下の2つの画像参照---。
ガーバー出力するファイル1 ガーバー出力するファイル2

●次に、FusionPCB, Elecrow, JLCPCB, ALLPCB 形式に変換します。
 ガーバーファイルが出来ている事を確認してから、Pcbe2Fusion.VBS 、 PcbeOrder.BAT 又は PcbeOrder日付.BAT を起動(ダブルクリック)して下さい。
 エラーが出なければ、1分程度で処理が完了します。
 のんびりとお待ち下さい。
 ---下画像参照---。
 BAT版を御利用の方は、Pcbe2Fusion.VBS を PcbeOrder.BAT 又は PcbeOrder日付.BATと読替えて下さい。
作成したフォルダのスクリプトを起動します

●処理が無事終了すると。
 基板屋さんに発注出来るファイルが完成します。
 ---下画像参照---。
 BAT版を御利用の方は、Pcbe2Fusion.VBS を PcbeOrder.BAT 又は PcbeOrder日付.BATと読替えて下さい。
FusionPCB発注用ファイル

●ZIP圧縮フォルダに纏めます。
 BAT版は自動的にZIPが作成されます。以下の操作は不要です。
 BAT版御利用の方は、ここをクリックして次に進んで下さい
・FusionPCB発注書式になったファイルをすべて選択。
・右クリック。
・送る(N)。
・圧縮(zip 形式)フォルダーをクリックします。
 ---下画像参照---。
ZIPに纏めます
 
●完成。
 できあがったZIP書庫で基板を発注して下さい。 (^_^) 。
 ---下画像参照---。
 BAT版を御利用の方は、FusionOrder を PcbOrder と読替えて下さい。
発注用zipが完成しました


 
●下記は、旧バージョンです。最新のBAT版をお薦めします。
 以下のスクリプトを Pcbe2Fusion.VBS と言う名称で保存して下さい。    ( ダウンロードはVector社HPから )。
' ============== Pcbe2Fusion.VBS ================ ここから
' オーダーするPCBの名前は好みで「半角英数字」、全角や記号は不可。
FileName = "FusionOrder"

' 環境により待ち時間を調整して下さい ms 単位 ' Win8.1Pro + SSD + Core-i7の環境では WaitTime=100 (ms)にしてもOKでした。 ' 下は、各種環境で使える様に長めにしてあります。処理に1分程お待ち下さい。 WaitTime = 500 ' ===== 以下は、修正しないで下さい ===== ' ------------------------ ' (c) Kuni/JA1UZG 2018 ' フリーソフト ' 転載可(許諾不要) ' 動作保証不可 ' 各自の責任で使用して下さい。 ' ------------------------ Set WshShell = WScript.CreateObject("WScript.Shell") WSHShell.Exec("cmd.exe /c if exist " & FileName & ".TXT DEL " & FileName & ".TXT") WScript.Sleep(WaitTime)
WshShell.Run ("gerbv.exe hole.grb") WScript.Sleep(10 * WaitTime) ' ここは長めに! WSHShell.SendKeys "%f" ' ALT + f Fは、NG WScript.Sleep(WaitTime) WSHShell.SendKeys "e" ' e WScript.Sleep(WaitTime) WSHShell.SendKeys "e" ' e WScript.Sleep(WaitTime) WSHShell.SendKeys FileName & ".TXT" ' FileName WScript.Sleep(WaitTime) WSHShell.SendKeys "%s" ' ALT + s WScript.Sleep(WaitTime) WSHShell.SendKeys "%f" ' ALT + f WScript.Sleep(WaitTime) WSHShell.SendKeys "q" ' q quit WScript.Sleep(WaitTime)

REM 穴ガーバー削除 WSHShell.Exec("cmd.exe /c if exist " & FileName & ".TXT DEL hole.grb") REM Fusion PCB用旧ファイル削除 WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GTL DEL *.GTL") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GBL DEL *.GBL") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GTS DEL *.GTS") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GBS DEL *.GBS") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GTO DEL *.GTO") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GBO DEL *.GBO") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.GML DEL *.GML") WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c if exist *.LST DEL *.LST") REM Top layer 部品面 xx.GTL WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN pattern-A.grb " & FileName & ".GTL") REM Bottom layer ハンダ面 xx.GBL WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN pattern-B.grb " & FileName & ".GBL") REM Solder Stop Mask top 部品面のレジスト層 xx.GTS WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN resist-A.grb " & FileName & ".GTS") REM Solder Stop Mask Bottom ハンダ面のレジスト層 xx.GBS WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN resist-B.grb " & FileName & ".GBS") REM Silk Top 部品面シルク xx.GTO WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN silk-A.grb " & FileName & ".GTO") REM Silk Bottom ハンダ面のシルク xx.GBO WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN silk-B.grb " & FileName & ".GBO") REM 外径 xx.GML WScript.Sleep(WaitTime) WSHShell.Exec("cmd.exe /c REN board.grb " & FileName & ".GML") ' ============== Pcbe2Fusion.VBS EOF ================ ここまで


  
●PcbOrder20190805.BAT 2019/08/05版
・本スクリプトの発注実績
 FusionPCB 1回。(2020/03)
 JLCPCB 2回。(2019/09, 2020/01)
 スクリプト内容を確認してから御利用下さい。
 作者は一切の責任を負えません。自己責任で御利用下さい。
・以下の青色文字のスクリプトを PcbeOrder.BAT 又は PcbeOrder20190805.BAT と言う名称で保存して下さい。    ( ダウンロードはこちら )
@ECHO OFF
REM ============== PcbeOrder.BAT 2019/08/05 ================
REM 対応プリント基板メーカー
REM 1. FusionPCB (注意:発注実績はありません)
REM 2. Elecrow   (注意:発注実績はありません)
REM 3. JLCPCB    (注意:発注実績はありません)
REM 4. ALLPCB    (注意:発注実績はありません)
REM ・JLCPCBの場合、SET JLCPCB=YES として下さい。
SET JLCPCB=NO
REM 
REM ・ALLPCBの場合、SET ALLPCB=YES として下さい。
SET ALLPCB=NO
REM 
REM ・蛇足JLCPCBの指定拡張子
REM    https://support.jlcpcb.com/article/29-suggested-naming-patterns
REM  JLCPCBは拡張子につて寛容? FusionPCB形式等、他社の形式でもOKの様です。
REM    https://support.jlcpcb.com/article/22-how-to-generate-the-gerber-files

REM プリント基板名「半角英数字」---
REM 全角や記号は不可、=の両側の余分なスペース不可
SET FName=PcbOrder

REM ------------------------
REM 2019/05/10
REM Copyright Kuni/JA1UZG
REM フリーソフト
REM 転載可(許諾不要)
REM 動作保証不可
REM 各自の責任で使用して下さい。
REM ------------------------


REM Fusion,Elecrow 用拡張子 ---
REM Top layer 部品面 FName.GTL
SET PA=GTL
REM Bottom layer ハンダ面 FName.GBL
SET PB=GBL
REM Solder Stop Mask top 部品面のレジスト層 FName.GTS
SET RA=GTS
REM Solder Stop Mask Bottom ハンダ面のレジスト層 FName.GBS
SET RB=GBS
REM Silk Top 部品面シルク FName.GTO
SET SA=GTO
REM Silk Bottom ハンダ面のシルク FName.GBO
SET SB=GBO
REM Outline 外形 FName.GML
SET OL=GML
REM ドリル FName.TXT
SET DR=TXT
REM JLCPCBの処理
IF %JLCPCB%==YES SET OL=GKO
IF %JLCPCB%==YES SET DR=XLN
IF %ALLPCB%==YES SET OL=GKO
IF %ALLPCB%==YES SET DR=DRL

ECHO Fusion PCB旧オーダー用ファイル等を削除します。
FOR %%f IN (*.%PA% *.%PB% *.%RA% *.%RB% *.%SA% *.%SB% *.%OL% gout.LST %FName%.%DR% %FName%.ZIP TEMP.VBS) DO (
IF EXIST %%f DEL %%f
IF EXIST %%f ECHO %%f ファイルの削除に失敗しました。
IF EXIST %%f ECHO 処理を終了します。
IF EXIST %%f goto owari
)

ECHO PCBEの出力したガーバーファイル等をチェックします。
FOR %%f IN (pattern-A.grb pattern-B.grb resist-A.grb resist-B.grb silk-A.grb silk-B.grb board.grb hole.grb gerbv.exe) DO (
IF NOT EXIST %%f echo %%f が見つかりません。
IF NOT EXIST %%f echo 処理を終了します。
IF NOT EXIST %%f goto owari
)

ECHO ガーバーエクセロン変換を開始します。
ECHO 少々お待ち下さい
GERBV.EXE hole.grb -xdrill -o%FName%.%DR%
timeout /T 2 > NUL
IF NOT EXIST %FName%.%DR% ECHO %FName%.%DR% エクセロンファイルの作成に失敗しました。
IF NOT EXIST %FName%.%DR% ECHO 処理を終了します。
IF NOT EXIST %FName%.%DR% goto owari

ECHO 穴ガーバーを削除します。
IF EXIST hole.grb DEL hole.grb
IF EXIST hole.grb hole.grb の削除に失敗しました。
IF EXIST hole.grb エクスプローラー等で削除して下さい。

ECHO Fusion PCB用にファイル名を変更します。

REN pattern-A.grb %FName%.%PA%
REN pattern-B.grb %FName%.%PB%
REN resist-A.grb %FName%.%RA%
REN resist-B.grb %FName%.%RB%
REN silk-A.grb %FName%.%SA%
REN silk-B.grb %FName%.%SB%
REN board.grb %FName%.%OL%

FOR %%f IN (%FName%.%PA% %FName%.%PB% %FName%.%RA% %FName%.%RB% %FName%.%SA% %FName%.%SB% %FName%.%OL%) DO (
IF NOT EXIST %%f ECHO %%f のリネームに失敗しました。
IF NOT EXIST %%f ECHO エクスプローラー等でリネームして下さい。
IF NOT EXIST %%f goto owari
)

ECHO 圧縮用に一時的に TEMP.VBS を作成します。
REM   ^+ ^< ^> ^&
ECHO REM 開始 > TEMP.VBS
ECHO if VbOK=MsgBox ("全てのウインドウを一時的に閉じて、デスクトップ画面を表示し、" ^& vbCrLf ^& "ZIP 圧縮処理を行います。" ^& vbCrLf ^& _ >> TEMP.VBS
ECHO    "ZIP 圧縮処理完了後、ウインドウを戻します。" ^& vbCrLf ^& "圧縮処理完了迄、パソコンの操作をしないでお待ち下さい。" ^& vbCrLf ^& _  >> TEMP.VBS
ECHO    "処理を開始してよろしいですか?", vbOKCancel ^+ vbInformation ^+ vbSystemModal, "TEMP.VBS") then >> TEMP.VBS
ECHO FileName = "%FName%" >> TEMP.VBS
ECHO FuExt = Array(".%PA%", ".%PB%", ".%RA%", ".%RB%", ".%SA%", ".%SB%", ".%OL%", ".%DR%", "" ) >> TEMP.VBS
ECHO ZipFileName = FileName ^& ".zip" >> TEMP.VBS
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >> TEMP.VBS
ECHO Set FSObj = CreateObject("Scripting.FileSystemObject") >> TEMP.VBS
ECHO Set FSObj = CreateObject("Scripting.FileSystemObject") >> TEMP.VBS
ECHO Set ZipFile = FSObj.OpentextFile(ZipFileName, 2, true) >> TEMP.VBS
ECHO ZipFile.Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, 0) >> TEMP.VBS
ECHO ZipFile.Close >> TEMP.VBS
ECHO Set ZipFile = Nothing >> TEMP.VBS
ECHO nn = 0 >> TEMP.VBS
ECHO Set WshApp = CreateObject("Shell.Application") >> TEMP.VBS
ECHO Set ZipFileSh = WshApp.NameSpace(FSObj.GetAbsolutePathName(ZipFileName)) >> TEMP.VBS
ECHO WshApp.MinimizeAll >> TEMP.VBS
ECHO while FuExt(nn) ^<^> "" >> TEMP.VBS
ECHO   WSHShell.Popup nn ^+ 1 ^& "/8 " ^& FileName ^& FuExt(nn) ^& "を圧縮します。", 1, "TEMP.VBS", vbInformation >> TEMP.VBS
ECHO   parentFolderPath = FSObj.GetAbsolutePathName(FSObj.GetParentFolderName(FileName ^& FuExt(nn))) >> TEMP.VBS
ECHO   ZipFileSh.CopyHere WshApp.NameSpace(parentFolderPath).ParseName(FSObj.getFileName(FileName ^& FuExt(nn))) >> TEMP.VBS
ECHO   nn = nn ^+ 1 >> TEMP.VBS
ECHO     Do Until ZipFileSh.Items().Count = nn >> TEMP.VBS
ECHO       WScript.Sleep(500) >> TEMP.VBS
ECHO     Loop >> TEMP.VBS
ECHO   WScript.Sleep(2000) >> TEMP.VBS ^' 御利用のPCが遅く、2000m秒で不足する場合訂正して下さい。
ECHO wend >> TEMP.VBS
ECHO WshApp.UndoMinimizeAll >> TEMP.VBS
ECHO set WshApp = Nothing >> TEMP.VBS
ECHO Set FSObj = Nothing >> TEMP.VBS
ECHO END IF >> TEMP.VBS
ECHO VBスクリプト TEMP.VBS 作成完了
ECHO ----------------------
ECHO デスクトップ画面を表示し、
ECHO VBスクリプトによりZIP圧縮します。
ECHO ZIP処理完了後に画面を戻します。
ECHO 少々お待ち下さい。
ECHO ----------------------
timeout /T 2 > NUL
TEMP.VBS
ECHO 少々お待ち下さい。
TIMEOUT /T 2 > NUL
ECHO TEMP.VBS を削除します。
IF EXIST TEMP.VBS DEL TEMP.VBS
IF EXIST TEMP.VBS ECHO TEMP.VBSの削除に失敗しました。TEMP.VBSをエクスプローラー等で削除して下さい。
IF EXIST %FName%.zip ECHO FusionPCB 形式の %FName%.zip が作成されました。
IF NOT EXIST %FName%.zip ECHO FusionPCB 形式の %FName%.zip 作成に失敗しました。
IF NOT EXIST %FName%.zip goto owari
ECHO 処理を完了しました。
:owari
ECHO ---
ECHO スペースキーを押すと終了します。
PAUSE > NUL
REM ============== PcbeOrder20190805.BAT EOF ================ ここまで

 
●VBS版を御利用の方への注意事項
VBS起動前にガーバーファイルを作成して下さい。!必須です!
・PCBEでガーバーファイルを作成せずに、スクリプトを実施するとエラーが発生します。
 エラー時にスクリプトが終了出来ず、バックグランドで動作し続ける場合が有ります。
・スクリプトを再実行する折に支障になります。
 VBスクリプトがエラーして終らない場合、以下をコマンドプロンプトから実施し強制終了させて下さい。
 CMDスクリプトを作成したり、ショートカットに登録しておくと便利です。
  C:\Windows\System32\taskkill.exe /F /T /IM "wscript.exe"
・コマンドプロンプトに慣れていない方は、コンピューター再起動でもOKです。
  
 Windows8.1
  
 Windows10
「戻る」(Javascriptを使用します)
 Javaが動作しない場合は、こちら:「戻る」

●最後に
・プリントパターンの制作にPCBEを使用させて頂きました。
 PCBEの作者様にお礼申上げます。
・ガーバー形式からExcellon形式への変換は、GERBVを利用させて頂きました。
 GERBVの作者様にお礼申上げます。
・VBSでのZIP化処理は、今日の知見を参考にさせて頂きました。
 Tosh様にお礼申し上げます。
・GERBVでのガーバーエクセロン変換の検証をして頂きました。
 FusionPCBのサポート担当者様にお礼申上げます。

トップページに戻る