この記事は学ロボ Advent Calendar 2023の13日目の記事です。
複数人による制作プロジェクトにおいての、CADデータの共有や管理、ファイルの命名規則についてのお話です。
adventar.org
CADデータの共有・管理
GrabCADとの別れ・代替探し
2023年5月末、GrabCAD Workbenchのサービスが終了しました。
下記の条件を全て満たしており、制作プロジェクトにおけるCADデータの共有ツールとしてとても優れていました。
多くのロボコンサークルが困ったことでしょう。
blog.grabcad.com
代替サービスの理想の条件は以下の通りでした。
10数個のサービスを試してみましたが、これらの条件を全て満たすようなものは見つかりませんでした。GrabCADが如何に神だったかわかりますね。
結果として、
GitとFork
を組み合わせると一番扱いやすいことがわかり、実際に導入する事になりました。
現在運用して半年ほどになりますが、これまで特に問題は生じておらず、上手くいってます。
Fork
Forkとは、Gitのクライアントアプリです。
Gitへの理解が浅い機構班の人間でも、簡単に扱えるアプリを探していたところ見つけました。
本来はGitについてちゃんと学ぶべきなのですが許してください。あくまでも設計共有を円滑に行うためのツールとして、即戦力となることを優先しました。
git-fork.com
メリット
わかりやすいUI
commit履歴もたどりやすく、push/pullも左上のボタン一つでできます。
右上のConsoleからコマンドを直接叩くこともできます。
また、commitするファイルの選択(stage/unstage)も簡単です。衝突時の処理が楽
衝突した場合、リモートかローカルどちらで上書きしてmergeするかをファイルごとに選択できます。
注意点
Git for Windows のインストールを忘れずに
gitforwindows.orgファイルの最大容量は100MBまで
100MBを超えると、Git LFSを使う必要があります。大抵のGit LFSには容量制限があるため、基本は使わないようにしましょう。
パーツやアセンブリファイルで100MBを超えることは基本ない(Inventor基準)ですが、解析のファイルなどは超えてしまいます。その都度消すか、.gitignoreで拡張子ごと弾いてしまいましょう。
エクスプローラー上のローカルリポジトリフォルダ内で、"サイズ:>100MB"と検索すると100MBを超えるファイルがわかるので、気になるときは使ってみましょう。一度にpushできるのは2GBまで(GitHub)
大量のファイルをpushしたいときは、何回かに分けてcommit→pushしましょう。
CADファイルの整頓
円滑なCADファイルの共有だけでなく、フォルダ構造やファイル名の規則を設け、整頓することも大切です。
Part1,2,3,...といった名前のパーツファイルが並ぶだけだと、設計者以外の人が見たときに何も伝わりません。なんなら設計者本人が後から見たときにも分からなくなります。過去の自分をぶっ飛ばしたくなりますね。
あのスマブラの生みの親、桜井さんもYouTubeでお話されています。
ここでは弊サークルで推奨している規則について述べます。この規則の大抵は私が定めました。 サークル内部用wikiの私が書いた記事から主に引用しています。
ファイル命名規則
命名は英語で。表現しにくい場合は日本語でも可。
アセンブリファイル =「アセンブリ名_vN.iam」(vNのN≧1) (vはversionのv)
例) RollerShoot_v1.iam → RollerShoot_v2.iam → ...
vNのNの更新タイミングは、大きく設計変更するときが目安パーツファイル =「アセンブリ名_vN_分類_パーツ名(_gK).ipt」(gKのK≧2) (gはgradeのg)
例) RollerShoot_v1_ASP_PillarFront.ipt → RollerShoot_v1_ASP_PillarFront_g2.ipt → ...分類
材料 ファイル表記 アルミ角パイプ ASP 板金 Plate 丸棒 Shaft 3Dプリンターパーツ 3DP パーツ名 = 用途 + 位置 or 固有名
用途
用途 ファイル表記 土台、基礎 Base 梁 Beam 柱 Pillar 補強 Support スペーサー Spacer サブのなにか Sub~ ~の取り付け用 ~Mount ~用の軸 ~Shaft 位置
位置 ファイル表記 前 Front 後 Back 左 Left 右 Right 側面 Side 中央 Center 内側 Inside 外側 Outside ~側 ~Side 固有名(例)
固有名 ファイル表記 パラメータ Parameter フレームジョイント FrameJoint 回路置き場 CircuitBoard
フォルダ構造
アセンブリ全体を包括するフォルダの中に、サブアセンブリごとの構成要素をまとめたフォルダをつくると、整理整頓されすっきりします。
例えばこの3輪オムニユニットについては、フォルダ構造&ファイル名は以下の通りです。
サブアセンブリの一つの、Chassisのフォルダ内は以下の通りです。 少し前のデータなため、命名規則と異なるところが少しありますが、整理整頓されていると思います。
以上、CADデータの共有・管理・整頓についてのお話でした。
他に良さげなCAD共有手段や、各サークルで設けてるルールなどがあれば是非教えてください!
より良いロボコンライフを~