■DOS版OrCADの部品ライブラリをBSch3VのLB3ファイルに変換するツール

2019-03-04

●目的

回路図を描くのに、いまだDOS版OrCADを使っておられる友人の描図環境を変え
てもらおうというのが発端です。
http://igarage.cocolog-nifty.com/blog/2019/02/post-d233.html

OrCAD→回路図エディタ CEのライブラリの変換ツールLIBSX.EXE(bid_992.lzh)は作って
いましたが、 BSch3V用ライブラリへの変換ツールは未着手でした。
  ・ベクトルデータをどうしよう
  ・ビットマップもちょっと違うし
  ・ピン指定もちょっと違うし、うまくいくか
てなことを乗り越えて、GAWKのスクリプトとして新作変換ツールが動くようにしました。

まず、OrCADのライブラリファイルを「DECOMP.EXE」でテキストファイルのライブラリーソース
に変換しなくてはなりません。
DOS/VのOrCADでもPC-9801のMS-DOSで動いていたOrCADのDECOMP.EXEも、
ウィンドウズのコマンドプロンプトで動きます。

捨てがたいOrCAD SDTの部品ライブラリを残したままになっているのでしたら、
ぜひ試してみてください。
一部制限がありますが、BSch3Vで使えるようになります。

●作業手順

Step1 BSch3VGAWK(コマンドプロンプト内で起動)の環境を構築。
  ・テキストエディターの起動: 「.AWK」、「.SRC」ファイル
  ・「.LB3」クリックでLCoV起動。
  ・「.CE3」クリックでBSch3V起動。
古いOrCADから、部品ライブラリファイルとDECOMP.EXEを拾ってくる。
Step2 作業フォルダーの作成とコマンドプロンプトのショートカット。

Step3 DOS版OrCAD(SDT)に付属の部品ライブラリ変換ツール(DECOMP.EXE)を
使って部品ライブラリファイル(.LIB)をソースファイル(.SRC :テキストファイル)
に変換。

コマンドプロンプトを起動。
コマンドプロンプト内でキー入力し、DECOMPのバージョン確認。 
                    (こちらで使っているもの↓)


ソースファイルの変換。  この例ではCR.LIB→CR.SRC



テキストエディタで.SRCファイルの内容を確認。

  ※すでに部品ソースファイルを作ってあるのならこの操作は不要。
Step4 GAWK + LIBSV3.AWKでOrCAD部品ライブラリソースファイル(.SRC)をBSch3V
ライブライファイル(.LB3)に変換。    リダイレクトでファイル化
「LIBSV3.AWK」が実行用スクリプトファイル。



   ※この処理が、今回作ったツールの主目的。

    >gawk -f libsv3.awk cr.src >cr.lb3

     gawk  GAWK起動
     -f    次のスクリプトファイルを読み込んで処理を開始
     libsv3.awk  実行するスクリプトファイル
     cr.src    入力するファイル
              ※入力を忘れたら「ctrl-C」でブレーク。
     >cr.lb3   出力ファイル (リダイレクトで)
              出力ファイルを指定しないとコンソールに出力。

   ※処理中の部品名に「%」文字が使われていると、「%25」と変換されて
     表示される。 「25」は「%」文字コードの16進数値。

出来上がった.LB3ファイルの中身をテキストエディタで確認。
Step5 変換したLB3ファイルをクリックするとLCoVが起動するので、
変換後の部品の様子を確認。
Step6
BSch3Vで変換した部品を読み込めるようにして、様子を確認。

●ダウンロード

2019-03-02 libsv3.zip 変換ツール本体 LIBSV3.AWK
GAWKで起動
2019-03-02 ORCAD_LIB_SAMPLE.zip DOS版OrCAD 部品ライブラリーソースファイルの
サンプル
   CR.SRC CPU.SRC SPECIAL.SRCの3ファイル
※自作ファイルなのでcopy free。
  DECOMPでの処理は不要。


●現用中のBSch3V用パーツライブラリ

 (新) bsch3v_lib_190304.zip
bsch3v_lib_180820.zip
bsch3v_lib_170609.zip
bsch3v_lib_150827.zip

 現用している部品ライブラリを圧縮しています。 (バックアップです)
 ご自由にお使いください。
 ※水魚堂さんのライブラリに追加しているパーツもあります。

●変換例  ソースと出力、LCoVでの描画

■OrCAD部品ライブラリー → BSch3V部品ライブラリー変換例
   「LIBSV3.AWK」の働き
  7400、7402、7414、ショットキーダイオード
  7474、4094を変換した様子。  → libsv_sample1.txt
●変換での制限 (うまく変換できないもの)
   ・円や多角形内の塗りつぶし。
   ・ヒステリシス記号。
       ↑この2つは確実にアウト。 手作業での修正必須。
   ・グラフィックパーツへの文字入れ。
       位置ズレの可能性。
   ・苦手な円弧があると・・・
       余計な円弧が出てくるかも。
●7400 正論理入力で



●7400  負論理入力

●7402  正論理入力のNOR
       パターンは負論理の7400の(OR記号)を使う。


●7402 負論理入力
      正論理7400のパターン(AND記号)を使う。
●7414 シュミット入力インバータ


変換により、「ヒステリシス」のマークが抜けてしまう。
●ショットキーダイオード


ダイオードの三角形部分の塗りつぶしが省かれる。
●7474 フリップフロップ

   ※この変換操作は対策済み
●4094 シフトレジスター

   ※変換操作対策済み

●ブログ記事

ご意見、ご感想は↓のブログ記事にコメントしてください。

・2019年03月01日:DOS版OrCADの部品ライブラリをBSch3VのLB3ファイルに
http://igarage.cocolog-nifty.com/blog/2019/03/dosorcadbsch3vl.html

・2019年02月20日:「gawk」の正規表現・・・続き:文字の順番を入れ替える
http://igarage.cocolog-nifty.com/blog/2019/02/gawk-c1bd.html

・2019年02月11日:gawkの関数:「length」でつまづく!
http://igarage.cocolog-nifty.com/blog/2019/02/length-a989.html

・2019年02月10日:「gawk」の正規表現・・・続き
http://igarage.cocolog-nifty.com/blog/2019/02/gawk-fac3.html

・2019年02月09日:「gawk」の正規表現で
http://igarage.cocolog-nifty.com/blog/2019/02/gawk-aecc.html

・2019年02月05日:昔の回路図データを紙にプリントしたい!
http://igarage.cocolog-nifty.com/blog/2019/02/post-d233.html