■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 | BSch3VとGAWK(コマンドプロンプト内で起動)の環境を構築。 ・テキストエディターの起動: 「.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