Communitygithub.com

JRuiters/ソーイングパターン生成

自由な説明文、サイズや身体寸法、または衣服の写真から、すぐに縫えて、実寸で印刷可能なソーイングパターン(1:1ベクターPDF)を作成します。「パターンを作って」「採寸からパターンを」「写真からパターンを」「お気に入りのパンツをコピー」「服をトレース」などのリクエストに対応。プロッター/ロール印刷、A0/A1、またはA4ページをテープでつなげる形式に対応。

ソーイングパターン生成 とは?

このスキルは、ユーザーの記述、身体寸法、または衣服の写真から、実寸・印刷可能なソーイングパターンを生成するためのものです。パラメトリックな製図ルールに基づいて設計され(画像生成ではありません)、縫製可能性のチェック、裁断レイアウト、布地消費量、縫い方の説明書を提供します。主なワークフローは、リクエストの理解、足りない情報の質問(1回のみ)、写真分析(インスピレーション写真の分析または既存の衣服のリバースエンジニアリング)、寸法の補完、そしてパターンのドラフト・検証・レイアウト・レンダリングのワンステップ実行です。子供服(86-176)、婦人服(34-56)、紳士服(44-60)のサイズ表に対応し、人形服(20-100cm)もサポートしています。出力形式は、ロール紙(幅指定可能)、A0、A1、A4、USレター、DXF(裁断機/CAD用)、プロジェクター用など多様です。ユーザーのミシン環境(直線縫い、ジグザグ、オーバーロック、カバーステッチなど)をプロファイルとして保存し、各縫い工程に適したミシンとステッチを指示します。寸法プロファイルも保存可能で、次回以降のリクエストを効率化できます。 このスキルは、Claude Code, Codex, Cursorなどの開発者ツール上で動作し、Pythonスクリプト(numpy, scipy, shapely, opencv など)を活用してパターンを生成します。商用パターンのコピーは行わず、あくまでも独自のオリジナルパターンを製図します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JRuiter/sewing-pattern-generator/tree/HEAD

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

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

ドキュメント

ソーイングパターン生成 は何をしますか?

ソーイングパターンをパラメトリックに(画像生成ではなく製図ルールに基づき)ドラフトし、縫製可能かどうかをチェックし、印刷ファイル、裁断レイアウト、布地消費量、縫い方の説明書を生成します。生成されるファイルはすべて英語です。ユーザーへの返信は、ユーザーが書いた言語で行います。

独自の製図のみ:保護された商用パターンを再構築したりコピーしたりしないでください。ユーザーがデザイナー服を見せた場合は、プライベート使用のため、類似スタイルのオリジナルパターンをドラフトします。

セットアップ(一度だけ)

pip install -r requirements.txt   # numpy scipy shapely opencv-contrib-python-headless reportlab matplotlib pillow pypdf

すべてのスクリプトは scripts/ にあり、そこからパスを指定して呼び出します。

ワークフロー

1. リクエストの理解

以下の項目を抽出:衣服とバリエーション、サイズまたは寸法、布地と伸縮性、フィット感、出力形式。写真がある場合 → ステップ3へ。

2. 質問:正確に1ラウンドのみ、本当に不足しているものだけ

不足しているポイントを一度に1つの短いメッセージでまとめて質問し、それぞれにデフォルト値を示します(「特に指定がなければ…を使用します」)。よくある不足項目:

  • 衣服とバリエーション(ポケット、カフス、丈、フード …)
  • サイズ(子供86–176、婦人34–56、紳士44–60)または身体寸法 (身長、バスト、ウエスト、ヒップ、股下、脇丈、腕丈、頭囲)
  • 布地(織物 / ジャージー / ジャージー+エラスタン / インターロック / スウェット / フリース)と伸縮率(%)
  • フィット感(スリム / ノーマル / ワイド / オーバーサイズ;パンツの場合はハーレムも)
  • 出力:ロール(幅mm、デフォルト610)、A0、A1、A4またはUSレター(テープで貼り合わせ)
  • ミシン: 使用するミシン(ミシン:ジグザグ?ストレッチステッチ?または直線縫いのみ)、ツインニードル、オーバーロック/サージャー、カバーステッチ。ワークショップファイルに既に記録されている場合(python scripts/profiles.py machines show)または以前にユーザーが指定した場合は質問をスキップします。ユーザーが指定しない場合のデフォルト:家庭用ミシン(ジグザグ可能)。
  • 縫い代:ユーザーが気にする場合のみ質問(デフォルト1cm、裾2~2.5cm;ニット地でオーバーロック使用時は自動的に7.5mm、織物で直線縫いのみのミシン使用時は1.5cm、または「なし」で自分で縫い代を追加する場合)

その後は再度質問しないでください。不明な点は妥当なデフォルト値で解決し、その旨を結果に記載します。

人形服(布製人形、ぬいぐるみ、ファッションドール;高さ20–100 cm):代わりに人形の身長(頭から足まで)と、メジャーまたは紐を使って人形に沿って測定した以下を質問:バスト、ウエスト、ヒップ、頭囲、腕丈(肩~手首)、股下、脇丈(ウエスト~足裏)。身長のみ必須;不足値は標準的な布製人形のプロポーションから推定。その後 generate.py --doll --garment dress --measures '{"height": 45, "chest": 30, …}'(spec "doll": true)。対応:dress、skirt、pants_basic、tshirt_basic。人形のデフォルト(各項目は上書き可能):縫い代6mm(高さ30cm未満は5mm)、裾10mm、織物、ワイドフィット、トップスとドレスは後ろ全面開き(マジックテープ/スナップ。詰め物入りの頭がネックラインを通らないため)、バイアスでくるんだネックライン、パンツは細いゴム通し、ポケット/カフスなし。薄手のコットン、細かい縫い目、ほつれ止めを推奨。人形は profiles.py save rosa --measures '{…}' --kind doll でプロファイルを作成。詳細: scripts/doll.py、references/size_tables.md(「人形服」)。

ミシン: --machines sewing,overlocker,coverstitch で指定(キー: sewing = 直線縫い + ジグザグ、straight_only、stretch_stitch、twin_needle、overlocker、coverstitch;ドイツ語名(Overlock、Coverlock、Zwillingsnadel)も可;specフィールド machines)。ミシンは縫製者に属するため、最初に名前が挙がったら、将来のすべてのパターンに対して一度だけ保存します:python scripts/profiles.py machines set sewing,overlocker(ワークショップファイル profiles/_machines.json;採寸プロファイルは独自の --machines を持つことができ、--machines が両方より優先されます)。効果:オーバーロッカーで縫うニットの縫い代は7.5mm(カッターでトリムされるため)、直線縫いのみのミシンで縫う織物の縫い代はフレンチシーム用に15mm(明示的な --seam-allowance が常に優先;人形服は6mmを維持);すべての縫い目と裾の工程にミシンとステッチ名が記載されます;説明書には「あなたのミシン」表(工程の種類ごとのステッチ、幅/長さ、針)と、不足しているもの(例:カバーステッチの代わりにツインニードル)へのヒントが含まれます。オーバーロッカーがなくても問題ありません:ニットの縫い目には細いジグザグ/ストレッチステッチを使用します。直線縫いのみのミシンでニットを縫うことは可能ですが、壊れやすくなります:織物を使用するか、説明書に記載されている長い直線ステッチの二重縫いを提案します。ミシンが全くない場合(オーバーロッカーのみ):--machines overlocker,hand(または overlocker_only;ハンドは「ミシンなし」を意味します)。この場合、すべての縫い目はオーバーロック(縫い代7.5mm、織物も同様)で、すべての直線縫い工程は手縫いとなります:トップステッチ → バックステッチ、裾/ゴム通し → まつり縫い、しつけ → 仮止めステッチ、タックは手縫い、ゴムの端 → 手縫いのボックスステッチ;工程にはオーバーロッカーの注意事項(針の前にピンを抜く、カーブはゆっくり、糸のチェーン)が追加されます。返信では、パターンがどのようにミシンに適合されたかを一文で述べます。

採寸プロファイル: ユーザーがある人の身体寸法を提供した場合、一度だけ保存を提案します(python scripts/profiles.py save lena --measures '{…}' --kind child)。後日「レナのズボン」のようなリクエストがあれば、採寸に関する質問は不要になります:generate.py --profile lena …(子供の採寸が6ヶ月以上前の場合は警告;references/size_tables.md を参照)。

3. 写真(オプション)

最初に該当するモードを決定します(詳細:references/photo_guide.md)。

モードA: インスピレーション写真(着用写真、カタログ、Pinterest)。写真を見て特徴JSONを記入(スキーマは scripts/photo_analyze.py にあり、各特徴は value と confidence 0–1 を持つ)。その後:

python scripts/photo_analyze.py features.json        # 確認テキスト + モジュール/オプション + 「カバーされていないもの」
python scripts/photo_analyze.py --image flatlay.jpg  # パンツシルエット自動抽出(プロポーションのみ)

信頼度付きの特徴リストを表示し、ユーザーに確認を求めます(「私は…が見えます。それで正しいですか?」)。スクリプトが印刷する「カバーされていない」特徴を率直に挙げ、代案を提供します。即興で答えないでください。身体寸法は常にユーザーから取得し、インスピレーション写真からは決して取得しません。

モードB: 衣服のコピー(平置きし、真上から撮影、リファレンスカード assets/reference-card.pdf または折り尺を一緒に写す):リバースエンジニアリング。

cd scripts && python -m reverse.pipeline photo.jpg --type pants --out project/

結果:overlay_measurement.png(検出された輪郭と寸法;ユーザーに確認用に表示)、reverse_report.md(パーツ/シームグラフ、目標値/実測値/差の偏差レポート、縫製可能性チェック)、project.json(「前回と同じで2サイズ大きく」のような場合に保持 → reverse.pipeline.regrade("project.json", 2))。ユーザーからのメジャー寸法を優先:photo_measure.measure(..., tape={"inseam": 48})。カードがない場合、スキルは正確な対処法を指示します。不足する写真(例:股ぐり曲線)は reverse.decompose.missing_photos にリストされます。許容誤差:長さ ± 1 cm、幅 ± 2 %。その後、印刷ファイル:

python scripts/generate.py --project project/project.json --format roll610,a4 --out out/copy

人形服もコピー可能:--doll を追加(reverse.pipeline.run(..., doll=True));結果には人形用の縫い代と後ろ開きが含まれ、generate.py --project で印刷されます。人形のトップスは長袖で最もよく測定できます(非常に短くて幅広の人形袖の場合:メジャーで袖幅を測ります)。モードBはパンツ(--type pants)およびTシャツ / ラグラントップス(--type top、モジュール tshirt_basic)に対応。トップスの場合、写真からバストと裾の幅、丈、アンダーアームの深さ、フロントネックライン(幅と深さ)、バックネックの深さ、ショルダーポイント、袖トップライン、上腕幅、袖のリーチと開きを取得;セットインかラグランかはネックラインから検出され(ラグランシームは鋭角を残す)、オーバーレイに表示されユーザーが確認できます(base_options={"sleeve_style": "raglan"} で上書き)。フィット感は、候補パターンをドラフトし、それらを仮想的に平置きし(flatlay.py:前面 ∪ 背面、袖はトップラインに沿って折り畳む)、最小二乗法ですべての写真特徴に一致させます。スケールは10cmカードから取得;幅1.5mの衣服(長袖を広げた場合)では、わずかなカメラ傾きにより最大2%ずれる可能性があります:可能であれば、ユーザーにバスト幅をメジャーで平らに測定してもらい、tape={"chest_flat": 37.2}(cm)として渡すと、すべての写真値がそれに再スケーリングされます。

4. 寸法

measurements.complete_measures(given_cm, size) は、サイズ表または身長から不足寸法を補完し、妥当性の警告を報告します。指定された寸法は表よりも優先されます。表とソース:references/size_tables.md。 ユーザーがパターンCADソフトウェアからのXML寸法ファイル(.smis / .vit)を持っている場合、--measures-file で渡します;明示的な --measures 値がそれを上書きします。--export-measures を使用すると、使用された寸法が body_measurements.smis として保存され、次回のためにユーザーの寸法を保持する良い方法となります。

5. ドラフト、検証、レイアウト、レンダリング:一回の呼び出し

python scripts/generate.py --garment pants_basic --style harem --size 122 \
    --fabric sweat --format roll610,a4 --out out/harem122
# その他の例
python scripts/generate.py --garment tshirt_basic --size 140 --options '{"sleeve_style":"raglan","sleeve_length":"long"}' --format a4
python scripts/generate.py --garment hoodie --size w38 --fabric sweat --format roll914,a0
python scripts/generate.py --garment skirt --size 128 --style circle --format a1
python scripts/generate.py --spec order.json          # すべてをJSONで(generate.py のヘッダー参照)

サイズ:子供は数値(122)、婦人は w38、紳士は m52;US/UK:us8(US婦人)、uk12(UK婦人)、us3t(US幼児)、usk8(US子供)、references/size_tables.md を参照。 複数サイズ同時(入れ子): --size 98,110,122(または子供のステップで範囲 98-122)は、すべてのサイズをドラフトして検証し、共通の作図点で重ね合わせ、各サイズを独自の色/線、PDFレイヤー(Acrobatのレイヤーパネルでオン/オフ可能)、SVGグループにします。兄弟姉妹用やサイズ間のブレンドに使用します;すべてのサイズが同じオプションを共有します。 インペリアル単位ユーザー:--units imperial(寸法をインチで入力、レポートをインチ/ヤードで出力)。

ドイツ語出力: --lang de(spec "language": "de")は、すべての出力をドイツ語で記述します:パーツラベル、縫い工程、小冊子、裁断レイアウト、レポート、図、ドイツ語ファイル名(naehanleitung.pdf、pruefbericht.md、zuschnittplan.png、schnitt.json、…_master_1zu1.svg、…_a4_kleben.pdf)、小数点としてコンマ、「Gr. 122」。すべてのテキストは1つの文字列テーブル(scripts/i18n.py、ドイツ語エントリは scripts/i18n_de.py)を通ります;新しい出力テキストには、そこにドイツ語エントリが必要です。オプション名と作図値キーは英語のままです。

モジュールと主なオプション:

モジュールスタイル/オプション
pants_basicスタイル: jogger, harem, leggings, trousers · フィット感 · 布地 · 伸縮性 · 丈(long, 7/8, knee, short) · ウエストバンド(casing, rib, yoga, tunnel) · カフス · ポケット([side] = 斜めフロントポケット(ポケット袋付き)、[back_patch]、[cargo]) · レッグシェイプ(straight, tapered, bootcut, flare + flare_cm;長い脚でカフスなし) · ターンアップ(cm、ショート/ニー丈) · フェイクフライ(true または {offset_mm, length_frac_R, radius_mm, side}) · バックポケット(1, 2)+ back_pocket_side(right, left;着用時向き) · 裾処理(plain, elastic_casing + hem_elastic_mm, hem_elastic_len_cm) · pocket_bag_fabric(cotton, jersey, lining, main)
tshirt_basicフィット感 · 布地 · 袖スタイル(set_in, raglan) · 袖丈(short, 3/4, long) · ネックライン(round, v) · 丈(normal, tunic) · 袖カフス · 裾バンド
hoodieTシャツと同様 + フード、フード裏地、カンガルーポケット(デフォルト:スウェット、ワイド、リブカフス) · 前身頃(closed, zip: 前開きジップアップジャケット、サイドポケット、ジップガード、ジップ丈はノートに記載) · zip_guard
skirtスタイル: gathered, a_line, circle · 丈(mini, knee, midi, maxi) · gather · flare_deg
dressスタイル: waist_seam(Tシャツ身頃 + スカート:gathered, a_line, circle;gather 1.0–2.5;waist_elastic;サイドシームのポケット)、shirt_dress(AラインTシャツドレス、flare_cm) · 丈(mini, knee, midi, maxi) · すべてのTシャツ袖/ネックラインオプション
beanieブリム、スラウチ
loop巻き数(1 = シングル、2 = 2重に折って着用)、高さ

布地: woven, corduroy, velvet, jersey, jersey_elastane, interlock, sweat, fleece, rib。コーデュロイとベルベットには毛並みがあります(オプション nap、他の布地でも nap: true):すべてのメイン布地パーツは、トップが同じ布地の端に向くように裁断され、アイロンがけの注意書きには「裏側からアイロン」と記載されます。 すべてのモジュール:title(例:「コーデュロイパンツ」)は、パーツ、説明書、ファイル名の衣服名を置き換えます。 フィット感: slim, normal, wide, oversized, harem。

縫い代(全モジュール):--seam-allowance 7.5(mm、すべての縫い目)、--hem-allowance 30(折り返し裾)、--seam-allowance none(縫い代なしパターン:縫い線のみが描かれ、各パーツに追加する縫い代がリストされます)。Specオプション:seam_allowance_mm、hem_allowance_mm、seam_allowance: "none"。折り返し端は0のまま;ゴム通し、見返し、細いサーキュラースカートの裾は、構築上の縫い代が維持されます。

フォーマット: rollNNN(ページ幅 = ロール幅 − 10mm、縦置き;ロール幅より広いパーツは自動的に接着マーク付きの短冊に分割)、a0、a1(パーツ全体、特大パーツはタイル分割)、a4、letter(10mmの重ね代と概要ページ付きタイル)、dxf / dxf14(裁断機およびCAD用DXF、AAMAレイヤー、references/print_specs.md 参照)、projector / projector_dark(プロジェクターソーイング用1:1ページ、10cmキャリブレーショングリッド、太線)。 常に書き出されるもの:SVGマスター1:1、PNGプレビュー、裁断レイアウトPNG、縫い方説明書(PDF:イラスト付き小冊子:タイトルページに完成予想図とサイズ情報、全パーツのリスト […]

関連スキル