見出し画像

ChatGPT(など)にIllustrator用のスクリプト作成を依頼するときのテンプレート(と、JSXファイルの作成)

ChatGPT(など)にIllustrator用のスクリプトを依頼するとき、こちらをテンプレートとして使うとよい感じです。

Adobe Illustrator用のExtendScript開発を依頼します。
以下の要件に基づいたスクリプトの作成をお願いします。

# スクリプトの目的:

[実現したい具体的な機能や自動化したい作業内容を記述]

# 使用言語とバージョン:

- ExtendScript(ECMAScriptのバージョン3に基づくAdobe固有の拡張を含む)
- Adobe Illustrator 2024対応

# スクリプトの機能要件:

[実装してほしい機能の詳細リストを記述]

# 制約条件:

- ExtendScriptの仕様に準拠し、ECMAScriptのバージョン3の範囲内で動作すること
- Adobeの拡張機能を利用する場合は、Illustrator 2024でサポートされている機能に限定すること
- alert内のメッセージは日本語で
- //コメントは日本語で

# 納品物:

- スクリプトのソースコード(.jsxファイル)
- スクリプトのインストール方法と実行方法に関するドキュメント
- スクリプトの概要と使用方法を説明するユーザーマニュアル

# このスクリプトをファイル化したときの名前の候補

- 英数字のみ
- 5つくらい

ポイント

  • スクリプト実行後、選択がはずれてしまうことがあります。選択したままであれば、続けて別のスクリプトやアクションなどを適用できますので「実行後、選択したままにして欲しい」旨を伝えます。

エラーが出るとき

Adobe IllustratorがサポートしているExtendScript環境が古く、一部の現代的なJavaScript関数はサポートしていないため、動かないことが多々あります。

エラーが出る場合には、そのエラーの文字列を伝えてリライトを依頼します。

ChatGPTなら

チャット画面にスクショ画像をドラッグ&ドロップして添付します。

Macユーザーなら

次の手順でエラーメッセージをテキスト化します。

  1. エラーメッセージをスクショし、Quick Lookで開く(ファイルを選択し、スペースバーを押す)

  2. 右下のアイコンをクリックして[テキスト認識表示]をONにしてエラーメッセージを選択し、コピー

[すべてコピー]でなく、エラーメッセージのみをコピーします。

Error 3:値を割り当てられません。
Line: 61
→>
var avgSize = originalSizes.reduce((a, b) => a + b, 0) /
originalSizes.length;

発想の転換

それでもうまくいかない場合には、発想の転換を検討してみてください。

たとえば、スクリプトでは選択しているエリア内文字を[自動サイズ調整]をONにできません。こちらの記事のスクリプトでは、スクリプト実行時の複数のテキストの高さを求め、合体後に高さにその値を戻しています。

ちなみに、その操作によって、文字サイズが変形されてしまうため、「垂直比率/水平比率を100に戻す」ステップが必要になります。

プロンプト作成マクロ

テンプレートのうち、変更したところは次の2つです。

  • スクリプトの目的:実現したい具体的な機能や自動化したい作業内容

  • スクリプトの機能要件:実装してほしい機能の詳細リストを記述

そこで次のようなダイアログボックスで入力するのがスピーディです。

  • [プロンプト作成]ボタンをクリックすると、クリップボードにプロンプトが入ります。

JavaScriptファイルを作成するKeyboard Maestroマクロ

なにげに面倒なのが、テスト用のJavaScriptファイルの作成です。Keyboard Maestroを使ってデスクトップにJavaScriptファイルを作成を用意しておくと便利です。

  • ファイル名:test-20240430-104404.jsxのように「test」とタイムスタンプ、拡張子jsxで構成

  • 作成後、そのファイルをJedit Ωで開く(または、お好みのエディタに変更)

ご参考

MIGさんの記事がとても参考になります。

ダウンロード

本文内のテキストをファイル化しただけのものです。

ここから先は

45字 / 3ファイル

¥ 100

期間限定!PayPayで支払うと抽選でお得

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5