2023.6.11 追記 この記事で使用していたDesignSpark MechanicalのバージョンはV2.0であり、すでに使用できなくなっています。
※自分があとで同じことをやろうとしたときのためのメモです。文章が雑で申し訳ありません。
また、こんな方法取るまでもないという箇所は多々あろうかと思います。
前提条件:なるべく無料で
要約 … DSMの保存ファイル内にある、SAB形式のファイルを掘り出し、各種コンバーターでSAB→SAT→STEP の順に変換する。
DSMのファイルは「.rsdoc」形式のファイルだが、この正体はZIPファイルであり、展開すると内部にSAB(.sab)ファイルが格納されている。
1-1. ここでは部品をひとつだけ書き出す。書き出したい部品を新しいデザインにコピーし、DSMの標準の形式「.rsdoc」で保存する。
1-2. 保存したファイルの拡張子を「.zip」に変更する。
1-3. ZIPファイルを「すべて展開」で展開する。
展開したフォルダーを開いていくと、「SpaceClaim」→「Geometry」の中に、「〜.sab」ファイルがある。これが部品のファイル。
※もし複数の部品があると、部品の数だけSABファイルができる。
SAB(バイナリ)をSAT(テキスト)に変換するためのコンバーターは、ありがたいことに最初からある。DSMと同じフォルダーに存在する。
2-1. DSMをインストールしたフォルダーを開き、「SabSatConverter.exe」を見つける。
2-2. コマンドプロンプトからSabSatConverterを実行し、SABをSATに変換する。
使い方は、 SabSatConverter -i 変換元ファイル名.sab -o 変換先ファイル名.sat
下記は入力と実行結果のイメージ:
ここは完全に昔のパソコンのMS-DOS作業(素人がファイルのコピーや削除を行うにも、各自色々なコマンドを覚えて、キーボード入力が必要だった)。
調べ直したり色々試したりして、何とか人に聞かずに実行できた。
何百個もファイル(部品)があるときは、バッチファイルを作ってコマンドを列挙するといいが、ここでは1個だけなので直接入力。
成功すると、指定した場所にSATファイルができる。
このコマンド入力を裏側に隠蔽し、もっと簡単な操作でできるようにしたプログラム?スクリプト?を作った人もいるが、私のところではコンパイル?できずに動かせなかった。情けなや。
※SAT形式をそのまま読める3D CADもあるが、開けることと開けないことがあった。
3-1. SATをSTEPに変換できるソフトを探す
「CAD Exchanger」を使った。
有償ソフトだが、30日間は試用できるので、とりあえずこれをダウンロードしてインストールした。
(使った感じは、良かった)
3-2. SATファイルをインポートする。
CAD ExchangerでSATをインポートすると、部品の形が表示される。
同じデータでも、どう再現するかはソフトによって違うので、多少違う形で表示されることもあるが、ここではどうしようもない。別のソフトで開けば、また違う形になることもある。
なお、複数の部品を同じ画面にマージしてインポートし(結合はされない)、ひとつのコンポーネント扱いで出力することも可能。
3-3. STEP形式でエクスポートする。
成功すると、指定したフォルダーに「.stp」ファイルが作成される。これが欲しかったSTEP形式のファイル。
ここまででSTEP形式への変換は完了。
STEP形式にさえなれば、STEPが読める他のCADで再編集することができる。DSMからFusion360にデータを移植することもできる(下図)。しかし機関車を丸ごと出力するには部品の数が多いので結構大変。C10は1,000個以上のファイルがあったが、大半がリベットだった。
しょっちゅうDSMからのSTEP書き出しをするのであれば、10万円出してプラグインを買う方法も有力候補で浮上してくる。
ここではSTEPが読み書きでき、ミラーコピーもできる無料CADとして、おなじみのFusion360を使った。
4-1. STEPファイルを開く。
Fusion360を起動し、「ファイル」→「ファイルからデザインを新規作成」を選んで、書き出したSTEP形式ファイル(.stp)を選ぶ。部品が読み込まれる。
デフォルトのZ軸の方向がDSMと違うため、表示上は部品が横倒しだが気にしない(あらかじめ、Fusion360の基本設定で、「既定のモデリング方向」を「Z(上方向)」に設定しておけば、DSMや3Dプリンターのスライサーと同じ向きになる)。
4-2. ミラーコピーを作る。
Fusion360の機能「作成」→「ミラー」で普通に作る。間に対称面(ミラー面)が必要なので、適当な面がなければ先に作っておく(「構築」→「オフセット平面」他)。
DSMではこれができないので、偶然できた形の複雑な部品をミラーコピーしたいときは相当困る。単純な形なら180度回したり、いくつかに分割してそれぞれ180度回し、再結合するなどの方法もあるが。
4-3. ミラーコピーで作成された部品を、STEP形式でエクスポートする。
余分な図形を消して、「ファイル」→「エクスポート」にて「タイプ:STEPファイル(*stp *step)」を選び、ローカル コンピューターに保存。
Fusion360側の作業はこれで終わり。
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関連のコミュニティーから得ました。ありがとうございました。
もっとよい方法も、どこかに埋もれているかもしれません。