使い方ガイドへスキップ
FreeCAD Scripts作者 GitHub Awesome Copilot Contributors

FreeCAD Scripts スキル。

寸法が指定されたモデリング作業を、確認と調整が可能なFreeCADオブジェクトに変換します。

  • 3Dデザイン
  • CAD
  • Python
ソースレビュー · FreeCAD ScriptsSKILL.md
タスク 3Dデザイン 成果物 • FreeCAD Pythonマクロ、またはスクリプトで作成するパラメトリックオブジェクト • 名前付きのソリッド、スケッチ、カスタムプロパティを含むドキュメント • 依頼に応じたSTEP、STL、IGES、OBJのエクスポート 開始前に FreeCADと付属のPythonが必要です。GUI作業では付属のPySideも、シーングラフ作業ではPivyも使用します。
編集部による要約 · ソース確認日 2026-10-07 · 生成された例ではありません

01 機能概要

PythonでパラメトリックCADモデルを作成

ドキュメントオブジェクト、パラメトリック形状、スケッチ、アプリケーションUI、エクスポートの流れを扱うFreeCAD Pythonリファレンスです。

ソースに基づくワークフロー実行ベンチマークではありません

作業の進め方

FreeCAD Scriptsは、CADモデルを汎用メッシュとして扱うのではなく、FreeCADの組み込みPython環境を通じてエージェントを導きます。対象には、OpenCASCADEベースのPart形状、メッシュ操作、拘束付きスケッチ、プロパティで形状を再構築するFeaturePythonオブジェクトが含まれます。寸法が重要な再現性のある部品、小規模なモデリングツール、CAD自動化に適しています。

ソースでは、モデルのロジックとアプリケーションのインターフェース作業も区別しています。PySideのダイアログ、タスクパネル、Coin3Dのシーングラフ要素はGUIを必要としますが、再利用可能な形状コードはヘッドレス実行向けに保護できます。最初の作業は、エクスポート要件が明確な単一のパラメトリック部品がお勧めです。ワークベンチ全体のような広範な依頼では、統合の負担が大幅に増えます。

想定される成果物

  • FreeCAD Pythonマクロ、またはスクリプトで作成するパラメトリックオブジェクト
  • 名前付きのソリッド、スケッチ、カスタムプロパティを含むドキュメント
  • 依頼に応じたSTEP、STL、IGES、OBJのエクスポート
サンプル依頼を見る

依頼からレビューまで

  1. 01
    単位と形状を確定する

    寸法、座標上の配置、意図するソリッドまたはメッシュの表現を記述します。ソースでは、単位が指定されていない長さはミリメートルとみなされ、明示された長さの単位はFreeCADの内部単位であるミリメートルに変換されます。

  2. 02
    ドキュメントモデルを構築する

    名前付きオブジェクトと、必要な形状や拘束を作成します。編集可能なプロパティで今後の再計算を制御したい場合は、FeaturePythonを使用します。

  3. 03
    再計算して検証する

    変更後に再計算し、形状のプロパティを確認して、選択したエクスポートを検証します。マクロをウィンドウなしでも実行する必要がある場合は、GUIのインポートを保護してください。

02 利用場面

使いどころ

FreeCADと付属のPythonが必要です。GUI作業では付属のPySideも、シーングラフ作業ではPivyも使用します。

適したケース

  • 調整可能な部品長さ、幅などの設計寸法を、隠れた定数ではなく明示的なプロパティとして保持したい部品に役立ちます。
  • 反復的なCAD操作配列、ブーリアン演算、メッシュ変換、選択オブジェクトのエクスポートなどのマクロに適しています。

確認すべき制約

  • アプリケーション固有のPythonFreeCADのモジュールは通常のPython標準ライブラリではありません。FreeCADの外でスクリプトを作成しても、実行時の動作は検証されません。
  • モデルの検証は引き続き必要ですこのスキルは形状の作成を扱いますが、製造可能性、構造上の安全性、機械加工への適合性を保証するものではありません。

用意する情報

  • 寸法付きの依頼寸法、作業に関係する公差、図面で使用している単位を提示してください。
  • 編集可能なパラメータドキュメントのプロパティにしたい値と、拘束を維持したい関係を指定してください。
  • 実行環境とエクスポートFreeCADのバージョン、GUIかヘッドレスか、後工程で必要なファイル形式を明記してください。

03 重要な判断

重要な判断

  1. 静的ではなくパラメトリックに

    FeaturePythonは部品の入力プロパティと生成される形状を分離するため、後から寸法を変更すると再構築を実行できます。

  2. 形状とUIの分離

    ソースにあるGUIの保護により、便利なモデリングマクロが開いているビューやダイアログに誤って依存するのを防ぎやすくなります。

04 依頼例

絞った依頼を試す

以下のサンプル依頼は未テストです。使用前にスキルのセットアップを確認してください。

セットアップを確認

スキルの参照ファイルをエージェントが使える状態にしてください。生成されたマクロをFreeCADで実行する前に、ドキュメントがどう変わるかを確認してください。

アップストリームのソースファイル
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md

FreeCADと付属のPythonが必要です。GUI作業では付属のPySideも、シーングラフ作業ではPivyも使用します。

まず1つの成果物から

スキルを実行する前に、この依頼の範囲、素材、制約を調整してください。

サンプル依頼
freecad-scriptsを使い、4つの穴が均等な内側余白で配置された長方形の取付プレートのFreeCADマクロを作成してください。作成前に、プレート寸法、穴径、内側余白を確認してください。これらの値は編集可能なプロパティとして公開し、生成されたオブジェクトに名前を付け、変更後に再計算し、STEPコピーをエクスポートしてください。形状コードは任意のGUI表示から分離し、部品が製造可能な状態だとは主張しないでください。

結果を確認

実際の出力を、以下の観察可能な基準と照らして確認してください。

  • 宣言された寸法を変更すると、意図した形状が再計算されます。
  • 単位とオブジェクトの配置が、提供された図面と一致しています。
  • エクスポートされたファイルに、意図しない空のオブジェクトや部分的なオブジェクトではなく、依頼したソリッドが含まれています。

OpenDesignは、コーディングエージェント向けのローカルデザイン作業スペースを提供します。この掲載は、スキルが同梱されていること、または外部ツール、認証情報、ソフトウェア依存関係が含まれることを意味しません。

05 ソースとライセンス

ソースとライセンス

このページは、下にリンクされた固定ソースのリビジョンについて説明しています。アップストリームの動作や要件は変更される場合があります。

リポジトリ
github/awesome-copilot
スキルファイル
skills/freecad-scripts/SKILL.md
ライセンス
MIT
確認したスナップショット
2026-10-07 · 3a685010a7af
編集部によるソース要約
ドキュメントオブジェクト、パラメトリック形状、スケッチ、アプリケーションUI、エクスポートの流れを扱うFreeCAD Pythonリファレンスです。

リンク先のソースに基づくOpenDesignのオリジナル要約です。リポジトリのスター数は日付時点の人気の目安であり、スキルの利用状況や品質評価ではありません。

06 開始前の質問

始める前の質問

編集可能なパラメトリックオブジェクトを作成できますか?

はい。ソースには、FeaturePythonプロキシ、型付きプロパティ、ドキュメントの再計算時に呼び出されるexecuteメソッドが記載されています。

STLはSTEPと同じ出力ですか?

いいえ。このワークフローでは、三角形分割されたメッシュとPartソリッドを区別します。エクスポート形式を同じものとして扱わず、次のツールが必要とする表現を選んでください。

すべての例をヘッドレスで実行できますか?

いいえ。ダイアログ、ビュープロバイダ、シーングラフ作業はGUIに依存します。ヘッドレスのマクロでは、これらの操作を保護するか省略する必要があります。

OpenDesign

次のデザイン反復に余地を残しましょう。

依頼内容、素材、デザイン作業をローカルの作業スペースにまとめて管理できます。ワークフローに追加する前に、スキル自体のセットアップを確認してください。

アップストリームのソースファイル
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/freecad-scripts/SKILL.md