Nゲージ蒸気機関車2018年のメモ>2018.3.20

DesignSpark Mechanical の部品を STEP形式で書き出す

2023.6.11 追記 この記事で使用していたDesignSpark MechanicalのバージョンはV2.0であり、すでに使用できなくなっています。


※自分があとで同じことをやろうとしたときのためのメモです。文章が雑で申し訳ありません。
 また、こんな方法取るまでもないという箇所は多々あろうかと思います。

動機

必要なもの

前提条件:なるべく無料で

  1. ZIP形式圧縮ファイルを展開できるソフト(Windowsの「すべて展開」で可)。DSMの保存データ(.rsdoc)内からSAB形式ファイルを掘り出すのに使用。
  2. DSMのフォルダー内にある、「SabSatConverter.exe」というプログラム。DSMのデータ内から掘り出したSAB形式ファイルを、SAT形式に変換する。
  3. 【これが難物】 SAT形式ファイルを、最後のSTEP形式に変換するソフト。ここでは「CAD Exchanger」の試用版を使った。30日限定なのでその後は有償になる。
    ※よって、自分があとでこの記事を参照したときには、もう使えないはず。
  4. (ミラーコピーが目的の場合)STEP形式の読み書きができ、ミラーコピーできるソフト。Fusion360を使用。最初からFusion360で全部作ればいいではないか、というのは置いておいて(それぞれに効率的な使い方がある)。

手順:DSMのデータをSTEP形式ファイルに変換する

要約 … DSMの保存ファイル内にある、SAB形式のファイルを掘り出し、各種コンバーターでSAB→SAT→STEP の順に変換する。

●DSMのファイルから、SAB形式ファイルを抜き出す

DSMのファイルは「.rsdoc」形式のファイルだが、この正体はZIPファイルであり、展開すると内部にSAB(.sab)ファイルが格納されている。

1-1. ここでは部品をひとつだけ書き出す。書き出したい部品を新しいデザインにコピーし、DSMの標準の形式「.rsdoc」で保存する。

DSMで部品を保存

1-2. 保存したファイルの拡張子を「.zip」に変更する。

拡張子変換

1-3. ZIPファイルを「すべて展開」で展開する。
  展開したフォルダーを開いていくと、「SpaceClaim」→「Geometry」の中に、「〜.sab」ファイルがある。これが部品のファイル。

ZIPファイルを展開する

※もし複数の部品があると、部品の数だけSABファイルができる。

●SAB形式ファイルを、SAT形式に変換する

SAB(バイナリ)をSAT(テキスト)に変換するためのコンバーターは、ありがたいことに最初からある。DSMと同じフォルダーに存在する。

2-1. DSMをインストールしたフォルダーを開き、「SabSatConverter.exe」を見つける。

SabSatConverter発見

2-2. コマンドプロンプトからSabSatConverterを実行し、SABをSATに変換する。

使い方は、 SabSatConverter -i 変換元ファイル名.sab -o 変換先ファイル名.sat
下記は入力と実行結果のイメージ:

コマンドプロンプトで変換

ここは完全に昔のパソコンのMS-DOS作業(素人がファイルのコピーや削除を行うにも、各自色々なコマンドを覚えて、キーボード入力が必要だった)。
調べ直したり色々試したりして、何とか人に聞かずに実行できた。
何百個もファイル(部品)があるときは、バッチファイルを作ってコマンドを列挙するといいが、ここでは1個だけなので直接入力。

成功すると、指定した場所にSATファイルができる。
SATファイルができた

このコマンド入力を裏側に隠蔽し、もっと簡単な操作でできるようにしたプログラム?スクリプト?を作った人もいるが、私のところではコンパイル?できずに動かせなかった。情けなや。

●SAT形式ファイルを、STEP形式に変換する

※SAT形式をそのまま読める3D CADもあるが、開けることと開けないことがあった。

3-1. SATをSTEPに変換できるソフトを探す

「CAD Exchanger」を使った。
有償ソフトだが、30日間は試用できるので、とりあえずこれをダウンロードしてインストールした。
(使った感じは、良かった)

3-2. SATファイルをインポートする。

CAD ExchangerでSATをインポートすると、部品の形が表示される。
同じデータでも、どう再現するかはソフトによって違うので、多少違う形で表示されることもあるが、ここではどうしようもない。別のソフトで開けば、また違う形になることもある。

CAD Exchangerで開いたところ

なお、複数の部品を同じ画面にマージしてインポートし(結合はされない)、ひとつのコンポーネント扱いで出力することも可能。

3-3. STEP形式でエクスポートする。

成功すると、指定したフォルダーに「.stp」ファイルが作成される。これが欲しかったSTEP形式のファイル。

STPファイルができた

ここまででSTEP形式への変換は完了。

STEP形式にさえなれば、STEPが読める他のCADで再編集することができる。DSMからFusion360にデータを移植することもできる(下図)。しかし機関車を丸ごと出力するには部品の数が多いので結構大変。C10は1,000個以上のファイルがあったが、大半がリベットだった。

Fusoin360に移植したD50 Fusoin360に移植したD60 Fusoin360に移植した8620 Fusoin360に移植したC110

しょっちゅうDSMからのSTEP書き出しをするのであれば、10万円出してプラグインを買う方法も有力候補で浮上してくる。

手順:他のCADで部品をミラーコピーし、DSMに戻す

ここではSTEPが読み書きでき、ミラーコピーもできる無料CADとして、おなじみのFusion360を使った。

●Fusion360で部品をミラーコピーする

4-1. STEPファイルを開く。

Fusion360を起動し、「ファイル」→「ファイルからデザインを新規作成」を選んで、書き出したSTEP形式ファイル(.stp)を選ぶ。部品が読み込まれる。

STEPファイルを読み込んだ

デフォルトのZ軸の方向がDSMと違うため、表示上は部品が横倒しだが気にしない(あらかじめ、Fusion360の基本設定で、「既定のモデリング方向」を「Z(上方向)」に設定しておけば、DSMや3Dプリンターのスライサーと同じ向きになる)。

4-2. ミラーコピーを作る。

Fusion360の機能「作成」→「ミラー」で普通に作る。間に対称面(ミラー面)が必要なので、適当な面がなければ先に作っておく(「構築」→「オフセット平面」他)。

ミラーコピーした

DSMではこれができないので、偶然できた形の複雑な部品をミラーコピーしたいときは相当困る。単純な形なら180度回したり、いくつかに分割してそれぞれ180度回し、再結合するなどの方法もあるが。

4-3. ミラーコピーで作成された部品を、STEP形式でエクスポートする。

余分な図形を消して、「ファイル」→「エクスポート」にて「タイプ:STEPファイル(*stp *step)」を選び、ローカル コンピューターに保存。

Fusion360側の作業はこれで終わり。

●DSMでSTEPファイルを読み込み、編集可能にする

2023.6.11 追記 2023年6月よりDSMの旧バージョン(〜V5.x)は使用できなくなり、基本状態ではSTEPファイルの読み込みも不可能になりました。よって以下の方法は使えません。

DSMではSTEPファイルを読み込むことができるが、「読み取り専用」として扱われ、結局編集ができない状態にされてしまう。
しかし、変な手順をふめば編集可能にできる。

5-1. DSMでSTEPファイルを開く。

「ファイル」→「開く」を選び、ファイル名の右にあるファイル形式で「STEPファイル(*.stp,*.step)(読み取り専用)」を選び、STEPファイルを読み込む。
このとき、次のメッセージが出るが続行する。

読み取り専用であることを示すメッセージ

5-2. 読み込んだSTEPを編集可能にする。

読み込まれた部品は「ロック」の状態になっており、そのロックは外すことができない。そのままでは編集もできなければ、他のデザインにコピーすることもできない。
しかし部品のそばに、何か面や立体を作ると、なぜか親コンポーネントでロックを外すことができ、編集可能になる。

ロックを外す

もしかしたら、ソフトの不具合でこれができるのかもしれないので、DSMのバージョンが変わるとできなくなるかもしれない。

5-3. ロックが外れた部品を、もとのデザインにコピーする。

もとのデザインにコピーできるようになるので、ようやくミラー化が完了。色が変わっているのが気になるなら色を付けなおせばOK。

もとのデザインにコピーする。

情報源

私が自力で見いだせた方法はひとつもありません。すべて、主に海外サイトや海外のCAD関連のコミュニティーから得ました。ありがとうございました。
もっとよい方法も、どこかに埋もれているかもしれません。


「Nゲージ蒸気機関車」トップページに戻る