Community画像github.com

technical-drawing

ISO/DIN/ASME準拠の技術図面を、パラメトリックbuild123dモデルまたはSTEPファイルからベクターPDF/SVG/DXFとして生成します。部品図、組立図、溶接図に加え、断面図、詳細図、ハッチング、寸法、ISO 286はめあい・限界表、表面性状、幾何公差(GD&T)、データム、ねじ、溶接記号、歯車データ表、タイトルブロック、部品表を含み、自動で干渉チェックと不整合チェックを行います。

technical-drawing とは?

このスキルは、エンジニアリングや製造現場で必要とされる規格準拠の技術図面を自動生成するためのものです。build123dライブラリを用いたパラメトリックモデル(またはSTEPファイルのインポート)を唯一の情報源とし、隠線処理、断面図、ハッチング、各種注記(寸法、はめあい、幾何公差、表面性状、溶接記号、歯車データなど)をスクリプトで自動的に付与します。対応する規格はISO/DIN(第一角法)とASME(第三角法、英語)で、出力はベクターPDF、SVG、DXF、およびPNGプレビューです。各シートの保存時には自動チェックが実行され、注釈同士の重なりや不整合を検出します。このスキルは、ユーザーが「技術図面」「製作図面」「組立図」「溶接図」「STEPファイルからの図面」「部品表付き図面」などを要求したとき、あるいは既存の図面の規格チェックを依頼したときに使用します。ソフトウェア図表やフローチャートには使用しません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Emirhan-1111/technical-drawing/tree/HEAD

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

技術図面 (Technical Drawings)

図面は手描きではなく生成されます。パラメトリックなbuild123dモデル(またはSTEPファイル)が唯一の情報源であり、scripts/drawlib.py がそこからビューを導出し(隠線除去、断面、ハッチング)、ワークショップに必要な注記を追加します。保存のたびに自動シートチェックが実行されます。結果はシートごとのベクターPDF(オプションでDXF/SVG)と、完成と判断する前に確認するためのPNGプレビューです。

この方法の利点:ビューがモデルと矛盾することはなく、パラメータを変更すればすべてのシートが再生成され、同じモデルからSTEPファイルと干渉チェックが無料で得られます。

良い図面が達成すべきこと

図面は、部品を製作・検査する人との契約です。プロジェクトを見たことがない人でも、そのシートだけで製造できなければなりません。これが以下のすべてを決定します:機能に必要な箇所のみに寸法を入れ、意味のある箇所だけに公差を指定し、各機能面の仕上げ状態を指示します。すべてのエッジに寸法が入っていても、はめあい、表面性状、幾何公差がないシートは、審査員や現場が意味する意味での「製造可能」ではありません。

ルートを選択する

  • ユーザーがSTEPファイルを持っており、すぐに図面が欲しい場合: python scripts/step2drawing.py part.step [--section] [--lang en --projection third] [--units in] [--material ...] [--density ...] [--dxf] を実行します。ビュー、隠線、中心線、全体寸法、タイトルブロック、およびチェックが生成されます。その後、機能寸法、はめあい、公差、表面性状はまだ追加する必要があることを明確に伝え、追加を提案します。同じモジュールの auto_drawing() は out=None で (sheet, views, issues) を返すので、Pythonでシートに注記を追加し続けることができます(Y-upエクスポートには --up y)。
  • 製造を目的としたもの全般:部品をモデル化し、Pythonでシートを記述します(以下のワークフロー)。STEP入力もモデルとして使用できます:D.load_step(path)。

ワークフロー

  1. まず機能を明確にする。 各部品について尋ねる:どの面が何と結合するか、機械が動作するために同軸/垂直/平面でなければならないものは何か、どの寸法が購入部品(ベアリング、ピン、ネジ)に由来するか。これらがデータム、はめあい、公差になります。ユーザーがレポート、部品表、古い図面を持っている場合は、それを読み込み、その数値を保持します。自分で決めた値にはすべて自分の仮定であることを明記し、ユーザーに伝えます。図面の言語と投影法(デフォルト:ドイツ語、第一角法;北米:英語、第三角法)を尋ね、会社のタイトルブロックがあるかどうかも確認します。
  2. 1つのモジュール内で部品をモデル化し、各部品は製造時の姿勢で配置し、すべての寸法は名前付きパラメータとします。旋削部品:半プロファイル (x, r) を回転させます。角柱部品:ボックスから穴ソリッドを差し引くか、1つのプロファイルを押し出します(融合シームなし)。ねじはコア穴のみをモデル化します。購入品/標準部品は単純なソリッドとして配置し、組立と干渉チェックが完全になるようにします。
  3. 図面作成前に組立をチェック:すべての部品に対してペアワイズで (a & b).volume を計算。すべての重なりはゼロか、意図的なもの(ねじのかみ合い、締まりばめ)でなければなりません。図面ではなくモデルを修正します。
  4. シートごとに1つの関数を記述し、examples/ 内の最も近い例をコピーします:flanged_bush.py(旋削部品、基本テンプレート)、bearing_bracket.py(組立、部品表)、stepped_shaft.py(破断ビュー、詳細、除去断面、ねじ)、flange.py(半断面、ピッチ円、位置度公差)、spur_gear.py(歯車データ表)、weldment.py(溶接記号)、milled_block.py(英語、第三角法、会社タイトルブロック)。最初はジオメトリのみで開始し、レンダリングして確認した後、レイヤーごとに注記を追加します:中心線 → 寸法 → データムと公差 → 表面性状 → 注記、表 → タイトルブロック。
  5. レンダリングし、チェックを読み、すべてのシートを確認する。 Sheet.save(pdf, png=...) はチェックレポートを出力し、各指摘事項を枠で囲んだ <png>_check.png を書き出します。すべてのエラーと警告を修正します(注記の移動、オフセット変更、tshift、tpos、引出線の膝位置)。その後、自分でPNGを確認します。チェックは重なりや不整合を検出しますが、間違った寸法概念や間違ったエッジを指す矢印は検出しません。密集領域は拡大して確認します。確認していないシートを完了と報告してはいけません。
  6. 納品:図面番号で命名されたシートごとのPDF、結合セット(pypdf PdfWriter.append)、ユーザーがCADで編集する場合はDXF、部品ごとおよび組立用のSTEP(export_step)。まだ描かれていないものと、どの値が仮定であるかを明確に述べます。

各マシンに一度だけセットアップ:pip install -r requirements.txt。ISO 3098フォントosifontはバンドルされていません。$DRAWLIB_FONT、scripts/fonts/、~/.drawlib/fonts/、またはシステムフォントに配置します(scripts/fonts/README.md参照)。これがない場合、ライブラリはDejaVu Sansを使用します。ジオメトリは同じですが、文字がISO 3098ではありません。チェックはアクティブなフォントで測定します。

drawlibの使用

最初のシートを書く前に references/drawlib_api.md を読んでください。各関数の呼び出し方、座標規則、レシピ、落とし穴が記載されています。基本事項:

  • `S = D.Sheet(

関連スキル