設計環境についての雑記です。
システム概要
生成AIを使うことを前提としています。
構想: 目的の設定
map検討: 構成を考える
資料 : NotebookLMにセットする資料
NotebookLM : Googleが提供するAIを活用した情報整理・リサーチアシスタントツール
プロンプト生成 : NotebookLMで目的の生成物を作ってもらうプロンプトを生成してもらいます。
生成AI : プロンプトによって出力してもらいます。ここでは専ら、コード生成を行うことになります。
生成物 : コード経由でCADモデルなどを作成します。生成物を過程を資料としてNotebookLMへ入力することもあるでしょう。
CADモデル検討
以下のギアモデルの作成を目的とします。

実践してみます。
構想
具体的な目標としてCADモデル作成を行います。機械要素の歯車を作成することにします。
map検討
歯車のCADモデルを作成する際に構成を考えます。この構成を依存マップで表現します。
前提として、CADモデルがまだ無く、ドキュメントがある状況とします。ある程度の仕様は決めます。
NotebookLMに提案してもらいます。修正があれば、手動で直します。
ギアモデルの指示として、jsonファイルを指定します。
資料
入力したソース
20141013102633979.pdf ・・・ 歯車の資料(画像データなのでどこまで使われているか不明)
B102 D3.js 依存関係マップ(フォースsim) | CAEなど工房 backyard ・・・B102
Gear - FreeCAD Documentation ・・・ FreeCADのサイト 歯車について言及しているわけではない
Hartig Stein - 3D involute gear evaluation.pdf
InvoluteGear.txt ・・・作成したい歯車の仕様
T141 fcgear (FreeCAD Workbench) 歯車 | など工 ・・・T141
インボリュート歯車の仕様と概念 ・・・B102 D3.jsの依存関係マップのjsonファイル
B102 D3.js 依存関係マップ(フォースsim)
インボリュート歯車の仕様と概念 は、依存関係についての情報です。この設定で何か変わればいいですが。
NotebookLM
ここでは、情報整理・リサーチアシスタントツールのNotebookLMを使用しています。
NotebookLMでなくても、生成AIで複数ドキュメントを指定できれば、実行はできるとおもいます。

本サイト関連でB102のデータ作成したものの例(NotebookLM)
生成プロンプト
NotebookLMでOpenSCADのモデルを作成するプロンプトを作成してもらいます。
生成AIへのプロンプト案:
OpenSCADでインボリュート歯車の3Dモデルを作成するコードを記述してください。
モデル仕様:
以下の仕様は「InvoluteGear.txt」に記載されているものです。これらの仕様に基づいてコードを作成してください。
•
高さ (height): 5 mm
•
モジュール (module): 1 mm
•
歯数 (num_teeth): 15
•
インボリュート圧力角 (involute pressure_angle): 20 deg
(参考仕様値、上記基本仕様から計算可能であることを考慮してください):
•
ピッチ円直径 (pitch diameter): 15 mm (これはモジュールと歯数の積 m * z = 1 * 15 = 15 mm と一致します)
•
歯底円直径 (root_diameter): 12.5 mm
•
円周ピッチ (transverse_pitch): 3.142 mm (これは π * module = π * 1 ≈ 3.14159 mm に近い値です)
•
traverse_module: 1 mm
コードに関する要望:
•
インボリュート歯車はインボリュート歯形 を持つ代表的な歯車であり、その形状定義にはモジュール、歯数、圧力角といったパラメータが重要です。
•
OpenSCADで歯車モデルを生成するために一般的に利用されるライブラリやモジュール(例: MCADライブラリの gears.scad に含まれる involute_gear() 関数など)を活用したコードを記述してください。
•
上記仕様の値をOpenSCADの変数として定義し、コード内で使用してください。
•
コードには、各設定項目やコードの目的を説明する適切なコメントを含めてください。
資料によって、このプロンプトがよくなるといいのですが、今回の例では、歯車の仕様を守っているだけのようなものになっています。
生成AI実行
フォルダinvolute_gearを作成して、その配下で作成してください。

現状では、生成AI(chatGPT,gemini,Claude)は拮抗しているので、どれでもそんなに違わない印象です。とくに、ライブラリを使って作成する分には、AIに左右される部分はほぼ無いです。
生成物
下記は、ライブラリを使わないように指示した場合です。

ライブラリ使用
MCADのライブラリを使用した場合です。もともインボリュート歯車のモデルのパラメータを変更するコードなので、歯車そのものです。ライブラリを整理しておいて、生成AIでコントロールするのがよさそうです。
ライブラリを使うとそもそも資料がほぼいらなくなると思います。

結果
簡単なCADモデルを作成しましたが、このレベルのものだと、あまりいろいろ行う必要はないです。
OpenSCADのモデルですが、ライブラリを指定して、パラメータ化すればいいといった内容でした。
もう少し、複雑なものを対象に、サイクルを回してみる必要があります。(25/06)
コメント