エンジニアの開発環境への苦言、ネットでは定期的に目をします。
「メモリ16GにSSDは人権」というスペックにフフッとしつつ、自分も昔は低スペックPCでCADをあてがわれていたことを思い出しました。今では笑い話の1つですが、修羅場真っただ中の当時は余計な心労が増えてキツかったですね。PCでしか出来ない仕事でPCがまともに動いてくれない、それも差し迫った状況で。これほどイライラさせられる状況はありません。二度と戻りたくないですね…。
低スペックPCで3DCADを動かすとはどういうことか…。プログラマがIDE(統合開発環境)で開発するよりも格段にキツイ処理だと思ってるんですが、実際にこんなことが起きたよーってことと、めげずに工夫した内容をつらつら書いていきます。
- All_assyが開けない
- メモリは自分の頭だ
- デザインデータ反映で徐々に重くなっていく
- ドラフト(勾配付け)とR付けで、水中にいるような動きに
- 低スぺックPCで3Dデータを見る方法
- 一番いいのを頼む
All_assyが開けない
新卒配属されて、初めてCADを立ち上げて自分のプロジェクトの製品3Dモデルを開く。何とワクワクする瞬間だったことでしょうか。
しかし、砂時計はいつまでも砂時計のままでPCは時が止まった様子。おかしいぞ…と首をかしげているとOJT(On the Job Training)の先輩が一言、「そのPCじゃ、全体アセンブリ(All_assy)は開けんぞ」。
そう、スペックが低すぎて何百部品から成るAll_assyアセンブリファイルを処理できなかったわけです。間違って開いてしまったが最後、CADを強制終了するしかありません。
一応開く方法もありまして、データ量を落とした簡略表示・グラフィック表示を使えば何となくの外観を確認することはできます。けど断面切ったり寸法を測定しようとしたら、強制終了ですね。
メモリは自分の頭だ
All_assyは開けず、その下のSub_assyもまだ重い。その下のSub_sub_assy位になると何とか…。
こうなってくると、周りの部品との距離感を頻繁に確認しながら設計を行うのは不可能です。ではどうするか。
PCのメモリが足りないのなら別のメモリを使えばいい…
こうして周囲部品の主要なエッジや面の位置を座標や、主要部品とのクリアランスで覚え、それを元に単品の部品で編集を行う。自然と、そういう設計スタイルになっていきました。
最初は座標をメモ帳や付箋に書き出してチェックしていたのですが、頻繁に見ていると頭の中に入ってくるんですよね。僕以外のメンバーも同じように座標を覚えていて、「ここZ:25.25mmにして欲しいです!」みたいなやり取りが良くされていました。
設計検討段階は、単品部品だけならサクサク動いてるだけましでした。人権が与えられてた状態です。しかし構想設計が詳細設計へと進み、外観デザインが固まってくると部品ファイルの編集も怪しくなってきます。
デザインデータ反映で徐々に重くなっていく
会社によってデザインデータをどう反映させるかはまちまちかと思います。当時、僕がいた部署ではデザインの3Dを元に設計者がサーフェスを駆使してCADデータに反映させていました。
CADはモデルに曲面が増えるほど計算が複雑になり、重くなります。デザイナーは普通の円弧を嫌い、円錐Rとかスプライン曲線が大好きだったので、なおさら計算負荷は増します。変な曲線が合わさってエッジやポイントが安定せず形状が作れない、なんてこともありました。そんなわけでデザインデータを部品に盛り込むと重くて、壊れやすいデータになりました。
それを避けるために使われていたのが、デザインデータを別ファイルで作りこみ、それを外部参照して「形状だけ」持ってくる手法です。
こうすることで、本番用のデータではデザインに関わる箇所を直接編集できなくなりますが、デザインデータに付随する長い編集履歴をデリートできるので、データ自体は軽くなります。そして何よりも、壊れないデータになります。
担当部品によっては内部のメカ的形状だけでも、モデルの回転すらできない動作負荷レベルになるものもあり、そういう物は内部形状も何ファイルかにわけて別個に読みだされていました。
ドラフト(勾配付け)とR付けで、水中にいるような動きに
あの手この手でデータを作りこみ、最後に待っているのがドラフトと稜線R付けです。
射出成形で作る部品は金型から綺麗に取り出せるように、抜け方向に角度をつける必要があります。それがドラフトです。
また、金型は加工上ピン角に作れません。そもそも製品外観は人が触れてケガしないようにシャープエッジを丸める必要がります。これがR付けですね。
金型にまつわる制約は、下記の記事で触れてあるので、よかったら見てみてください。
話を元に戻します。ドラフトとR付けをやると、劇的にデータが重くなります。1つ、寸法を弄って形状変更が再生されるまでに数十秒かかるとか、そんな感じでした。部品をくるくるさせて見る角度を変えようにも、操作のあと数秒は固まって動かず、やっと動いたかと思うと見たい位置を通り過ぎて、また部品をくるくるさせる操作をして…あぁ、このイライラ感ですよ!まるで陸上から水中に飛び込んだが如くです。
これに対しては、出図(金型工事スタート)まで極力ドラフトとRを付けないことで対処しました。また、履歴をドラフト前まで巻き戻した上で作業をする、とかですね。当時使っていたPro/Eという3DCADは、寸法変更後の形状再生を任意のタイミングで行えるので、一気に寸法だけバーッと編集して、トイレに行くタイミングで再生かけたりしてました。いま使ってるNXは寸法変えたら即座に形状変えようとするから、ダメですね。
低スぺックPCで3Dデータを見る方法
どれだけ単品部品で作りこんでも、やはりチェックはAll_assyで行う必要があります。これは小手先の技では避けて通れない道でしたが、当時の僕には素晴らしい道具(ソフトウェア)がありました。富士通のVPSです。
VPSは本当に素晴らしくて、何が凄いかというと断面が切れる3Dデータ viewerであり干渉チェックを備えながら、動作がめちゃくちゃ軽快なんですよね。
自分はグラボ積んでメモリ16GBの8コアCPUマシーンを業務でつかっていますが、これでCAD上で3Dデータを見るよりも、メモリ4GBの2コアのラップトップでVPS使った方が軽快に形状確認が行えます。それもそのはずで、VPS用にデータを変換すると、データ量が1/1000くらいになるんですよね。なので、出張時にローカルでデータを確認するにも便利です。(CADデータがローカルファイルになるので情報管理面のリスクはありますが。)
変換の手間があるので常に最新形状を確認するには不向きですが、それでも十二分に価値があるツールです。無償版もあるので、興味ある人は試してみてください。ちょっとした登録は必要ですが、たまに富士通から連絡が来る程度で、そんなに害はないです。
一番いいのを頼む
まぁ作業する側からすると良いPCがあるに越したことはないんですよね。ストレスを定量化するのは難しいんですが、1日に何秒固まっているか、もしくは強制終了で無駄になっているかはデータ集められそうではあります。それを武器に上に掛け合えば、メカ屋の環境も良くなるかもしれませんね。
ただ個人的には、日本企業の場合はPC以前のボトルネックが沢山あると思ってます。期限を超えてズルズル決まらない仕様や、ハンコ・クエスト等々がそうですね。これらに比べると、PCスペックは放っておいても過去より進化する一方しかないので、いまの僕は開発環境改善については温度感が低めです。現状で満足。早くプロセスの方を何とかしてほしいものです。
こんな記事も書いています
社内政治に立ち向かうため闇のCAEを身に着ける必要があります。
VPSもそうですが、社外のソフトはセキュリティ厳しくなって使いにくくなりました。
安全かつ効率化を促進するサービスは、いつでもウェルカムです。。。