指定したレイヤー以外を削除するスクリプト

回路図エディタのページに戻る


  「BSch3Vで作図するときはいつもレイヤー0、1、7を使っていて、その他のレイヤーはメモ書き用。でも他の人にファイルを渡すときには、その他のレイヤーを全部クリアしたい」そんなときに使えるPerlスクリプトです。
  回路図ファイル(.CE3)の指定したレイヤー以外を削除します。

  元のデータのバックアップは必ず取った上でお使いください

スクリプトと下記サンプル(layerFilter.zip 3,747bytes)のダウンロード

  このスクリプトの実行にはPerl5が必要です。Windows環境なら、あらかじめActivePerlをインストールしておいてください。


作業の例
sample.ce3 の レイヤー0、1、7以外を削除する。

元のファイルをBSch3Vで開いたところ

同じデータを8個並べたものですが、それぞれレイヤー0〜7に配置されています。

 Windowsなら、layetFilter.pl スクリプトと、処理対象データ(ここではsample.ce3)を同じフォルダに入れておくとキータイプが少なくて楽だと思います。

  Windowsでの実行の様子


コマンドラインの書式は、

>perl layerFilter.pl -L mask datafile[Enter]

-L mask -Lの直後にスペースを挟んで残したいレイヤーを16進数のmaskで指定します
datafile 回路図ファイル(.CE3)を指定します。
拡張子まで書いてください。

mask の詳細
残したいレイヤーに対応するビット値のORです。レイヤー0、1、7を残したい場合は、83となります。コマンドラインで指定するmaskの前には0xを付けないでください。

レイヤー ビット値
0 0x01
1 0x02
2 0x04
3 0x08
4 0x10
5 0x20
6 0x40
7 0x80

処理後のファイルをBSch3Vで開いたところ