設計指針

原則1:直感的な構造

CadQueryは、Pythonスクリプトを使用してモデルを簡単かつ直感的に構築することを目的としています。CadQueryは、人間が口頭でオブジェクトを説明するのと同じように、スクリプトをおおまかに読み取ることができるように努めています。

例えば、こんなモノを考えてみましょう:

_images/quickstart.png

人間ならこう表現します:

"80mm角×30mm厚のブロックの四隅にM2ソケットヘッドキャップスクリュー用の皿穴、中央にベアリング用の直径22mmの円形ポケットがあります。"

このオブジェクトを生成するCadQueryスクリプトは、人間が使う英語のフレーズに限りなく近いものを目指しています。

原則2:設計意図の把握

上記の部品説明に含まれない機能も、含まれる機能と同様に重要です。 例えば、ほとんどの人間は次のように考えるでしょう。

  • 皿穴は、端から一定の間隔をあけて配置されています

  • 円形のポケットは、どんなに大きなブロックでも中央にあります

3次元CADを使ったことがある方なら、このオブジェクトには重要な設計意図が組み込まれていることもご存じでしょう。ベースブロックを作成した後、穴をどのように配置するかが鍵になります。 穴の位置が片側である場合と、中央である場合では、ブロックのサイズを変更したときの効果が違ってきます。

多くのスクリプト言語では、常にグローバル座標で作業する必要があるため、設計意図を把握する方法がありません。 CadQueryはそれとは異なり、図面やオブジェクトを作成する際に人間が行うように、設計意図を保持したまま、他のフィーチャーとの相対的な位置関係を特定することができます。

実際、多くの人が3次元CADの使い方を知っていますが、オブジェクトの作り方が保守性や設計変更への対応力にどれほど重要な影響を与えるかを理解している人はあまりいません。

原則3:プラグインは一級市民である

3Dモデル構築のためのシステムは、膨大な数のライブラリや機能ビルダーを含むように進化していきます。これらをシームレスにコアに組み込んで、ビルトインライブラリと一緒に使えるようにすることが重要です。 プラグインは、インストールが簡単で、使い慣れたものでなければなりません。

原則4:CADモデルをソースコードとすることに意味がある

3次元CADの世界では、不透明なバイナリファイルを作成するシステムが主体であることは意外に知られていません。ソフトウェアの世界と同じように、CADモデルも非常に複雑です。

CADモデルはソフトウェアと共通する部分が多く、例えばソフトウェア業界で標準的に使われているようなツールを使うことで大きな恩恵を受けることができます。

  1. オブジェクト間の機能再利用が容易

  2. バージョン管理システムによるオブジェクトの保存

  3. ソースコントロールツールを用いたオブジェクト間の差分計算

  4. インターネット上でのオブジェクトの共有

  5. ライブラリ内からオブジェクトをビルドできるため、テストや生成を自動化できる

CadQueryは、既存の '不透明な' 'ポイント&クリック' ソリューションを使用するよりも、上記のようなメリットを得るために、3Dコンテンツ作成を簡単に行えるように設計されています。