GDSII Importer Plugin for SketchUp

-> English page

0. Changelog

2016.04.11 ver.0.5.3 : .rbzファイルを用意,インストール方法のドキュメントを更新
2015.06.15 ver.0.5.2 : 一つのGDSIIレイヤー番号に対して複数のSketchUpレイヤーを定義できるように修正
2014.09.04 ver.0.5.1 : バグ修正
2014.07.06 ver.0.5.0 : ruby-gdsii 1.0.0を使って書き直し
2014.02.24 ver.0.3.4 : SketchUp 8,SketchUp 2013 に対応
2011.07.17 ver.0.3.3 : GDSIIのレイヤーをSketchUp内のレイヤーに対応
2011.07.09 ver.0.3.2 : セル名の大文字小文字を区別しないように修正
2009.12.19 ver.0.3.1 : Sketchup 6で動かなかったバグを修正
2009.11.25 ver.0.3 : PATH element を扱うメソッドを書き直し
2007.06.26 ver.0.2 : 縦横のスケールを GUI から変更できるようにした.
アレイの最大数を GUI から変更できるようにした.
サンプルを同梱.
他いくつかのバグ修正.
2007.06.04 ver.0.1 : 公開開始

1. ライセンス

このプラグインはMITライセンスの下で利用できます. 詳細はLICENSE.txtをご覧ください.

ruby-gdsiiライブラリはJim Freeze & Dan Whiteによって作成されたものです. GDSII_importer/ruby-gdsii は土谷によって ruby 1.9系の文法に対応するための修正が されています.修正箇所は ruby-gdsii.patch をご覧ください.

2. 機能

GDSII を SketchUp に読み込むためのプラグイン.

3. 動作環境

Windows 10上のSketchup 2016でテストしました.

4. 使い方

4.1. インストール

  1. SketchUpを起動し,ウィンドウ → 環境設定を開く
  2. 拡張機能を選択し,「Extensionをインストール」を押してGDSII_importer.rbzファイルを指定する.

ソースファイルを直接配置することでもインストールできます.その場合は ダウンロードしたGDSII_impoterを解凍し,中の GDSII_importer.rb と GDSII_importerフォルダを ユーザのSketchUp のフォルダ(デフォルトでは C:\Users\{username}\AppData\Roaming\\SketchUp\SketchUp 20XX\SketchUp\Plugins)に置いてください.

注:2016より C:\Program Files\SketchUp\SketchUp 20XX\Plugins にソースファイルを置いても動作しないようです.

アンインストールする場合はユーザのSketchUp のフォルダ(デフォルトでは C:\Users\{username}\AppData\Roaming\\SketchUp\SketchUp 20XX\SketchUp\Plugins)からGDSII_importer.rb と GDSII_importerフォルダを削除してください.

公式ヘルプ(英語):Installing Ruby Plugins (Extensions)

4.2. プロセス定義ファイルの準備

GDSII には各レイヤーの厚さや色の情報は含まれていないので,それらの情報は別途与える必要があります. プロセス定義ファイルの書式は以下の通り. なお,プロセス定義ファイルで定義されていないレイヤーはオブジェクトが生成されません. また,先頭が「#」で始まる行は,コメントとして無視されます. 特定のレイヤーだけオブジェクトが生成されない,などというときはレイヤー番号を間違えていないかなどを疑ってみてください. このファイルは,インポートを実行するときに指定するので,適当な場所に保存しておいてください.

(例)
  #レイヤー名  レイヤー番号  略称  高さ  厚さ  色         アルファ値
  METAL1       10            M1    1.0   0.5   #0000ff    0.8
レイヤー名 : レイヤー名の文字列.動作には直接関係しないので,認識できればどんな文字列でもよい.
レイヤー番号 : レイヤーを識別する番号.レイヤーとレイヤー番号の対応は,テクノロジファイルに記述されている.
略称 : レイヤー名の略称.実は全然使っていない.テクノロジファイルとの対応を取りやすくするために入れているだけ.
高さ : 基板から底面までの高さ(単位:um).
厚さ : そのレイヤーの厚さ(単位:um).負の値も指定可能.
: レイヤーの色を rrggbb で指定する.色の名称 ("Red" とか)での指定は今後対応予定.
アルファ値 : 透明度を0から1の間の値で指定する.0 が完全に透明,1 が完全に不透明.

このプラグインでは,GDSIIに含まれるレイヤーに加えて基板(substrate),層間絶縁膜(ILD),保護膜(passivation)を自動生成することができます. これらの要素については,レイヤー番号 256〜258 とします.例は以下の通り.

(例)
  SUBSTRATE    256  SUB    0.0    -10    #3333ff  0.1
  ILD          257  ILD    0.0    10     #ffffff  1.0
  PSSV         258  PSSV   10     2      #ffffff  1.0

4.3. インポートの実行

インポートは,SketchUp の 「Plugins」→「GDSII Importer」→「Import」です.

Step 1/3 GDSIIファイルの指定 : ファイルを指定するダイアログが開くので,インポートしたい GDSIIファイルを指定する.
Step 2/3 プロセス定義ファイルの指定 : 同じくファイルを指定するダイアログが開くので,使用するプロセス定義ファイルを指定する.
Step 3/3 パラメータの設定 :
Top cell name - トップセルの名前を指定する.
Are of substrate - 基板,層間絶縁膜,保護膜の描画領域を指定する.指定は倍率で行なう.
1.0 のとき,GDSIIから変換されたオブジェクトを囲む最小の長方形となり,
数字を大きくすると余白が増える.0 を指定すると,基板・層間絶縁膜・保護膜を生成しない.
Horizontal scaling - 横方向のスケーリング
Vertical scaling - 高さ方向のスケーリング
Max # of array - ビアなどが大量にアレイになっている場合に読み込めなくなるのを防ぐために,
要素の数がこの値を超えるアレイは無視する.

なお,描画する要素の数によっては生成までに時間がかかることがあります.気長にお待ちください. エラーの疑いがある場合は,「Window」→「Ruby Console」を開いて再度実行し,エラーメッセージが表示されないか確認してください. エラーが出た場合は報告して頂けると助かります.

5. サンプル

INV010.gds はレイアウトデータのサイプルです.プロセス定義ファイルのサンプルが proc_itrs65nm.txt に用意してありますので, まずはこの2つのファイルを使って試してみてください. INV010.skp のような SketchUp のオブジェクトが得られるはずです.

6. Known Bugs

バグを発見されましたら,作者(土谷 亮 / Akira TSUCHIYA )まで報告頂ければ幸いです.