mcpField
A
acad-cuix-builder

acad-cuix-builder

github.com/autodesk-platform-services開発1100 回インストール3 週間前に更新
リポジトリ

acad-cuix-builder について

acad-cuix-builder は、CUIX のリボン要素、ツールチップ、LISP ファイル、プラグインマニフェストを含む AutoCAD 用 `.bundle` フォルダーを生成する対話型スキルです。AutoCAD プラグインの UI やコマンドを設定するユーザー向けです。

主な機能

  1. 01CUIX のリボン、パネル、ボタンを生成
  2. 02アニメーション付き拡張ツールチップを作成
  3. 03LISP コマンドファイルをコピー
  4. 04PackageContents.xml マニフェストを生成
  5. 05アイコン照合と F1 CHM ヘルプ設定

活用シーン

  1. 01AutoCAD プラグインのリボン UI を作成
  2. 02複数パネルのコマンドボタンを設定
  3. 03ボタンにアイコンとアニメーション付きツールチップを追加
  4. 04F1 ヘルプ設定を含むプラグインバンドルを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/autodesk-platform-services/skills --skill acad-cuix-builder

インストール後、Claude Code で/acad-cuix-builderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

install.ps1
README.md
references/
cuix-architecture.md

詳細

AutoCAD CUIX ビルダー

完全な AutoCAD .bundle フォルダーを生成する会話型スキルです。

  • リボンタブ + パネル + ボタン(CUIX)
  • GIF アニメーション付きの拡張ツールチップ(XAML)
  • LISP コマンドファイル(lispPath からコピー)
  • PackageContents.xml — AutoCAD プラグインマニフェスト

バンドルを %APPDATA%\Autodesk\ApplicationPlugins\ に配置すると、次回起動時に AutoCAD が自動で読み込みます。

アーキテクチャのリファレンスについては、references/cuix-architecture.md を参照してください。


ステップ 0 — ジェネレーターが利用可能か確認する

$exe = "$env:USERPROFILE\.cuixbuilder\CuixBuilder.exe"
if (Test-Path $exe) {
    & $exe --help          # shows all config fields
} elseif (Get-Command dotnet -ErrorAction SilentlyContinue) {
    dotnet --version
} else {
    Write-Host "Neither found — run install.ps1 first"
}
  • exe が見つかった場合 → ステップ 5 で & $exe <config.json> を使用します
  • dotnet SDK がある場合 → ステップ 5 で dotnet run --project <src-path> -c Release -- <config.json> を使用します
  • どちらもない場合 → 先に install.ps1 を実行するようユーザーに伝えます(exe がダウンロードされます。SDK は不要です)

ステップ 1 — プラグインの識別情報を収集する

次の項目を確認します。

  • プラグインの表示名 — リボンタブおよびグループラベルとして表示されます(例:Drafting Tools)
  • 内部名 — 表示名をもとに、スペースなしで作成します(例:DraftingTools)

ステップ 2 — パネルを収集する

次の項目を確認します。

  • リボンパネルはいくつ必要ですか?
  • 各パネルの名前(例:Annotation、View)

ステップ 3 — ボタンを収集する(パネルごと)

アイコンフォルダーを自動スキャンする(ユーザーがフォルダーパスを指定した場合)

ユーザーが「<folder> のアイコンを使って」と指定した場合、そのフォルダーを一覧表示し、ボタン名に基づいてファイルを自動で照合します。

Get-ChildItem "D:\SkillDemo\demo\icons\" | Select-Object Name

照合規則(大文字と小文字を区別せず、スペースは削除):

  • {buttonname}.bmp → imagePath(16×16 のリボンアイコン)
  • {buttonname}.gif → tooltipImage(展開されたツールチップのアニメーション)
  • {buttonname}.png → tooltipImage(GIF がない場合の代替)

例:ボタンのラベルが Zoom Selection、内部名が zoomsel の場合:

  • zoomsel.bmp → imagePath
  • zoomsel.gif → tooltipImage

ラベルをもとに内部名を作成します。小文字に変換し、スペースと特殊文字を削除します(例:Zoom Selection → zoomsel、Isolate Layer → layiso)。一致するファイルが見つからない場合は、色付きのプレースホルダーを使用します。

ボタンごとのフィールド

各パネルの各ボタンについて、次の項目を確認します。

  • ラベル — ボタンに表示するテキスト(例:Quick Leader)
  • コマンド — 次のいずれか:
    • AutoCAD のコマンド単体:QLEADER → ジェネレーターが自動で ^C^C を追加します
    • LISP 式:(c:ZOOMSEL) → ジェネレーターが自動で ^C^C を追加します
    • 書式設定済み:^C^CMYCOMMAND → そのまま使用します
  • 画像 — アイコンフォルダーから自動照合するか、.bmp ファイルのパスを指定します。スキップした場合は色付きのプレースホルダーを使用します
  • ツールチップ — ホバー時に表示する短いテキスト(デフォルトはラベル)
  • ツールチップの説明 — 任意の拡張本文テキスト。展開されたツールチップに表示されます
  • ツールチップ GIF — アイコンフォルダーから自動照合するか、.gif/.png のパスを指定します(推奨サイズ:300×187px、30KB 未満)
  • ヘルプトピック — F1 ヘルプ用のアンカー名(例:zoomsel)。指定がない場合は内部名から作成します
CHM/F1 ヘルプ

ユーザーが CHM ファイルについて言及しない場合は、必ず確認します。

「F1 のサポート用に CHM ヘルプファイルはありますか?ある場合は、パスを指定してください。」

指定された場合は、設定に chmPath を設定します。スキップされた場合は、chmPath を省略します(F1 を押すと AutoCAD 自体のヘルプが開きます)。
各ボタンのヘルプトピック = ボタンの内部名から作成したアンカー名(例:zoomsel)。


ステップ 4 — 出力先パス

.cuix ファイルの保存先を確認します。
デフォルト:現在のディレクトリ + <PluginName>.cuix


ステップ 5 — 確認して JSON を作成し、生成する

概要テーブルを表示します。

Plugin : <DisplayName>   Tab : <Tab>   Output : <path>

Panel: <name>
  [1] <label>  →  <command>   image: <file or "placeholder blue">
  [2] ...

ユーザーに確認した後、JSON 設定を作成します。

{
  "pluginName": "DraftingTools",
  "displayName": "Drafting Tools",
  "tab": "Drafting Tools",
  "outputPath": "C:\\full\\path\\DraftingTools.cuix",
  "acadDir": "C:\\Program Files\\Autodesk\\AutoCAD 2027",
  "lispPath": "C:\\full\\path\\DraftingTools.lsp",
  "panels": [
    {
      "name": "Panel Name",
      "buttons": [
        {
          "label": "Zoom Selection",
          "command": "(c:ZOOMSEL)",
          "imagePath": "C:\\icons\\zoomsel.bmp",
          "tooltip": "Zoom to selected objects",
          "tooltipDescription": "Zooms viewport to fit current selection set.",
          "tooltipImage": "C:\\icons\\zoomsel.gif"
        }
      ]
    }
  ]
}
  • acadDir — AutoCAD のインストールディレクトリ。R シリーズを検出するために使用します(R26.0 = 2027、R25.1 = 2026、R25.0 = 2025)
  • lispPath — バンドルにコピーされます。同じ場所にある .Help.html と .chm も自動でコピーされます
  • tooltipImage — 展開されたツールチップに表示する GIF/PNG(推奨サイズ:300×187px、30KB 未満)
  • imagePath — リボンボタンのアイコン用の 16×16 BMP。省略すると、色付きのプレースホルダーが自動生成されます

明示的なタイムスタンプを付けて設定を $env:TEMP に書き込み、次を実行します。

$configPath = "$env:TEMP\cuix_$(Get-Date -Format 'yyyyMMdd_HHmmss').json"
# ... write config to $configPath ...

# With exe (preferred)
& "$env:USERPROFILE\.cuixbuilder\CuixBuilder.exe" $configPath

# With SDK fallback — clone source from GitHub
$src = "$env:TEMP\acad-cuix-builder-src"
if (-not (Test-Path $src)) {
    git clone https://github.com/ADN-DevTech/acad-cuix-builder $src
}
dotnet run --project $src -c Release -- $configPath

ステップ 6 — 結果を報告する

成功した場合:

Done: <outputPath>
In AutoCAD: CUILOAD → browse to <outputPath>

失敗した場合:stderr を表示し、原因を診断します(よくある原因:exe がない、パスが正しくない、JSON が無効)。


コマンドの正規化

ユーザーの入力変換後
QLEADER^C^CQLEADER
zoom e^C^CZOOM E
(alert "Hi")^C^C(alert "Hi")
^C^CMYCOMMAND^C^CMYCOMMAND(変更なし)

プレースホルダーアイコンの色(画像が指定されていない場合に自動生成)

インデックスは CUIX 内のすべてのボタンを通じて 0→7 の順に循環します。

01234567
青緑オレンジ紫ティール赤アンバーシアン

F1 ヘルプ — PackageContents 経由の CHM

F1 ヘルプは CHM + PackageContents.xml 経由で動作します。AutoCAD 2027 でテスト済みで、正常に動作することを確認しています。

仕組み
  • <ApplicationPackage> の HelpFile="./Contents/Win64/Plugin.chm"
  • <Command Local="ZOOMSEL" HelpTopic="zoomsel" /> — アンカー名のみ(.htm なし)
  • CUIX の <ToolTip HelpTopic="zoomsel" HelpSource="C:\absolute\path\Plugin.chm" />
設定

ボタンごとに chmPath と helpTopic(ファイル名ではなくアンカー名)を設定します。

{
  "chmPath": "C:\\path\\to\\DraftingTools.chm",
  "panels": [{
    "buttons": [{
      "helpTopic": "zoomsel"
    }]
  }]
}

CuixBuilder は、ユーザーがファイル名を指定した場合、.htm/.html 拡張子を自動的に取り除きます。出力されるのは常にアンカー名のみです。


要件

  • CuixBuilder.exe — install.ps1 でインストールします(GitHub Releases からダウンロード、約 200KB)
  • .NET 10 runtime — AutoCAD 2027 に同梱されています。または https://dot.net からインストールしてください
  • Windows のみ — AutoCAD バンドル形式は Windows 固有です

コメント