イラストレーターで面積から立米を計算するプラグイン解説

このプラグインは、Adobe Illustratorで選択したオブジェクトの面積を取得し、指定した厚みを加えて立米(体積)を計算するツールです。建築、木工、素材計算など様々な場面で活用できます。

プラグインの機能

  • 選択したオブジェクトの面積を自動取得
  • 面積に係数を適用して単位変換
  • ユーザーが指定した厚みから立米(体積)を計算
  • 計算結果をドキュメント上に表示(専用レイヤーに配置)
  • 表示するテキストのフォントサイズをカスタマイズ可能

使い方

  1. Illustratorでオブジェクト(図形など)を選択します
  2. スクリプトを実行します(ファイル > スクリプト > スクリプトを実行)
  3. 表示されたダイアログでフォントサイズを入力します
  4. 次のダイアログで厚みをセンチメートル単位で入力します
  5. 計算結果が「サイズ」という名前のレイヤーに表示されます

コードの詳細解説(以下のコードを保存してご利用ください)

// 計算結果から厚みを入力して立米を導き出す関数
function calculateCubicMetersFromThickness(result, thickness) {
    // 厚み(メートル) × 計算結果
    var cubicMeters = thickness / 100 * result; // 厚みをメートルに変換
    return cubicMeters;
}

// フォントサイズを指定するウィンドウ
var fontSizeInput = prompt("フォントサイズを入力してください", "12");
var fontSize = parseInt(fontSizeInput);

if (!isNaN(fontSize)) {
    var area = app.selection[0].area; // オブジェクトの面積を取得
    var absolute = Math.abs(area); // 面積の絶対値を取得
    var convert = Math.ceil(absolute * 0.12445216049); // 絶対値に係数をかけて切り上げる
    var result = convert * 0.0001; // 切り上げた値にさらに係数をかける

    // 厚みの入力(センチメートル)
    var thicknessCm = parseFloat(prompt("厚みを入力してください(センチメートル)", "5"));

    if (!isNaN(thicknessCm)) {
        // 厚みが有効な数字であれば、立米を計算
        var cubicMeters = calculateCubicMetersFromThickness(result, thicknessCm);

        // ドキュメントに結果を挿入
        var doc = app.activeDocument;

        // レイヤー(名称: サイズ)が存在しなければ新規作成
        var sizeLayer = null;
        for (var i = 0; i < doc.layers.length; i++) {
            if (doc.layers[i].name === "サイズ") {
                sizeLayer = doc.layers[i];
                break;
            }
        }
        if (!sizeLayer) {
            sizeLayer = doc.layers.add();
            sizeLayer.name = "サイズ";
        }

        // 選択したオブジェクトの位置を取得
        var selectedObject = app.selection[0];
        var insertionX = selectedObject.position[0] + selectedObject.width + 10; // 適宜調整

        // レイヤー内にテキストフレームを追加
        var textFrame = sizeLayer.textFrames.add();
        textFrame.contents = "結果: " + result + " ㎡(平方メートル)\n" +
                             "厚み: " + thicknessCm + " cm\n" +
                             "立米: " + cubicMeters + " ㎥(立米)";
        textFrame.position = [insertionX, selectedObject.position[1]]; // テキストの挿入位置を調整

        // テキストフレームのフォントサイズを指定
        textFrame.textRange.characterAttributes.size = fontSize;
    } else {
        // 厚みが無効な場合はエラーメッセージを表示
        alert("無効な厚みが入力されました。");
    }
} else {
    // フォントサイズが無効な場合はエラーメッセージを表示
    alert("無効なフォントサイズが入力されました。");
}

コードの主要部分の解説

1. 立米計算関数

この関数は面積(result)と厚み(thickness)を受け取り、立米(体積)を計算します。厚みはセンチメートル単位で入力されるため、メートルに変換するために100で割っています。

2. ユーザー入力の処理

スクリプト実行時に最初に表示されるダイアログで、結果表示用のフォントサイズを指定します。デフォルト値は12ポイントです。

3. 面積の取得と変換

選択したオブジェクトから面積を取得し、単位変換を行います。係数「0.12445216049」は、Illustratorの内部単位から平方メートルへの変換に使用されるようです。最終的に平方メートル単位の面積を計算します。

4. 厚みの入力

二番目のダイアログで厚みをセンチメートル単位で入力します。デフォルト値は5cmです。

5. レイヤー管理

ドキュメント内に「サイズ」という名前のレイヤーがあるかチェックし、なければ新しく作成します。このレイヤーに計算結果を表示します。これにより、通常の描画レイヤーと計算結果を分けて管理できます。

6. 結果の表示

計算結果を表示するテキストフレームを作成し、選択したオブジェクトの横に配置します。テキストには面積、厚み、計算された立米の値が含まれます。

使用上の注意事項

著作権と配布に関する注意

  • 著作権:このスクリプトの著作権は作成者に帰属します。
  • 無断配布の禁止:このスクリプトの無断転載、再配布は禁止されています。
  • 改変:個人的な使用のためのカスタマイズは可能ですが、改変版の再配布には原作者の許可が必要です。
  • 商用利用:商用目的での使用は、事前に作成者の許可を得てください。
  • 免責事項:このスクリプトを使用して生じたいかなる問題や損害について、作成者は責任を負いません。使用前にバックアップを取ることをお勧めします。

このスクリプトを共有・転載する場合は、必ず出典を明記し、上記の注意事項も併せて記載してください。

まとめ

このイラストレータープラグインは、図形の面積から立米を簡単に計算できる便利なツールです。建築や木工などの分野で素材量の計算に役立ちます。使い方はシンプルで、オブジェクトを選択してスクリプトを実行し、必要なパラメータを入力するだけです。

スクリプトの構造も理解しやすく、必要に応じてカスタマイズすることも可能です。Adobe Illustratorの作業効率を高めたい方にぜひ試していただきたいプラグインです。

タイトルとURLをコピーしました