このサイトはアフィリエイト広告を利用してます

トリムマークとマージンガイド

作業効率向上!Illustratorスクリプトでトリムマークとガイドを作成

【2023/12/18更新】
いつも訪問していただきありがとうございます。

  • トリムマークを作る手間を無くしたい
  • マージンガイドを作る手間を無くしたい
  • 一度の操作でトリムマークとマージンガイドを同時に作成したい

入稿するさいに必要になってくる【トリムマーク】やデザインを見やすくする【マージンガイド】の作成は、デザインするうえで欠かせませんよね

しかし、毎回レイヤーを追加して【トリムマークやマージンガイド】を作成するのは、手間のかかる作業です。Illustratorに備わっているアクション機能でも作成できますが、アートボードのサイズが違うと上手く動作してくれません

そこでこの記事では、アートボードのサイズと数を自動で計測して【トリムマークとマージンガイド】を作成してくれるIllustratorスクリプトを紹介します。スクリプトの動作フローと処理条件が理解できるソースコードも合わせて紹介するので、ぜひ参考にしてください。

Profile
この記事を書いている私は、DTPデザイナーとしてIllustratorの操作経験が15年以上あり、スクリプトも自分の業務で必要になったものを自ら作成し、デザイン作業の効率化を図っています。
最近では、当ブログでも自作スクリプトを公開しています。

このスクリプトを使用することでIllustratorを使ってデザインする作業を効率がよくなりますよ!
それではどうぞ

「クリエイティブ」がわかる転職エージェント

●「量より質」を重視した求人のご紹介
●「クリエイティブがわかっている」
●「求人企業を深く知る・密接な関係」



1.【トリムマークとマージンガイドを作成する】スクリプトの概要

スクリプトの概要
ここでは、スクリプトの概要について解説していきます。
まず、このスクリプト(スクリプト名: Trim_and_margin.jsx)は、私がJavaScriptベースで自作したIllustrator用のスクリプトです。

スクリプトのポイント

本スクリプトのポイントはつあります。

・アートボードサイズに合わせてトリムマークを作成してくれる
・アートボード枚数に合わせてトリムマークを作成してくれる
・アートボードの内側に指定された数値でマージンガイドを作成してくれる
・レイヤーを追加して名称も変更してくれる

スクリプトの入手方法

本スクリプトは、以下からサンプルとしてダウンロードすることができます。
ダウンロードと使用については「注意事項と免責事項」に記載していますので、必ずお読みください

ダウンロード:Trim_and_margin.jsx

スクリプトの使い方

本スクリプトは、下記の5STEPで使うことができます。

  • STEP1.新規レイヤーを作成
  • STEP2.ファイルメニューからスクリプトを選択
  • STEP3.【トリムマークとマージンガイド】スクリプトを起動する
  • STEP4.ウインドウパネルが立ち上げるので、必要な設定をおこなう
  • STEP5.【OK】ボタンをクリックして実行

操作レビュー
※レイヤー名やマージンサイズなどは、変更できます。
※キャンセルする際は【クリアー】ボタンを押して下さい

なお、次の記事ではそもそもIllustratorスクリプトってどうやって使うのか、活用事例を交えて紹介しているので良ければ参考にしてください。

次のセクションでは、スクリプトのソースコードを紹介します。

2.【トリムマークとマージンガイドを作成する】スクリプトのソースコード

スクリプトのソースコード
ここからはスクリプトの動作フローと処理条件がわかるソースコードを紹介します。
説明用のコメントアウトも書いてありますので参考にしてください。

なお下記の記事では、Illustratorスクリプトを自作する方法についてソースコードの事例を交え解説しているのでよければ参考にしてください。


//パネル設定 ここから
var dialog = new Window('dialog','トリムマークとガイド',[0,0,240,280]);//パネル外枠
dialog.titel = dialog.add('panel',[20,15,220,115],'ガイドオフセット');//ガイドオフセット枠
var checkBox1 = dialog.add('checkbox',[35,38,150,55],'ガイド作成');//チェックボックス
dialog.add('statictext',[35,55,130,80],'オフセット値:');
var offSet = dialog.add('edittext',[130,60,170,80],'10');//数値の入力 
dialog.add('statictext',[180,55,260,80],'mm');
dialog.add('statictext',[35,85,115,107],'レイヤー名:');
var layerName1  = dialog.add('edittext',[120,85,200,110],'guides');//レイヤー名の入力

dialog.titel = dialog.add('panel',[20,125,220,210],'トリムマーク');//トリムマーク枠
var checkbox2 = dialog.add('checkbox',[35,150,180,164],'トリムマーク作成');//チェックボックス
dialog.add('statictext',[35,180,220,194],'レイヤー名:');
var layerName2 = dialog.add('edittext',[120,175,200,200],'trimMark');//レイヤー名の入力

var btnOk = dialog.add('button',[20,225,110,250],'OK',{name:'OK'});//OKボタン
var btnCancel = dialog.add('button',[115,225,210,250],'cancel',{name:'cancel'});//CANCELボタン
offSet.active = true;//オフセット値にフォーカス
//パネル設定 ここまで

//パネル初期値ここから
checkBox1.value = true;//オフセットにチェック
checkbox2.value = true;//トリムマークにチェック
//パネル初期値ここまで
//キャンセルボタンの処理ここから
btnCancel.onClick = function(){
    dialog.close();//パネルを閉じる
}
//キャンセルボタンの処理ここまで

//OKボタンの処理ここから
btnOk.onClick = function () {
    dialog.close();//パネルを閉じる
    var docObj = app.activeDocument;
    CoordinateSystem.ARTBOARDCOORDINATESYSTEM;

    //レイヤー作成ここから
    if(checkBox1.value === true){
        var layObj1 = docObj.layers.add();
        layObj1.name = layerName1.text; //.textで文字をテキスト変換
    };
    if(checkbox2.value === true){
        var layObj2 = docObj.layers.add();
        layObj2.name = layerName2.text;
    };
    //レイヤー作成ここまで

    for(var i = 0; i

        //トリムマーク作成ここから
        if(checkbox2.value === true){
            try{
                var activeName2 = docObj.layers[layerName2.text];  //トリムマークレイヤーの指定
                activeName2.locked = false; //トリムマークレイヤーのロック解除
                docObj.activeLayer = activeName2; //トリムマークレイヤーをアクティブ化
            }catch(e){};

            //トリムマークの描画 ここから
            //左上 ここから
            var trimLine1 = docObj.activeLayer.pathItems.add(); //パス作成
            trimLine1.setEntirePath([[left - mp12,top],[left - mp3,top],[left - mp3,top + mp12]]);//パス座標
            trimLine1.filled = false;//塗りなし
            trimLine1.strokeWidth = point(0.1);//線幅
            trimLine1.strokeColor = setCMYK(0,0,0,100);//線色
            var trimLine2 = docObj.activeLayer.pathItems.add();//パス作成
            trimLine2.setEntirePath([[left - mp12,top + mp3],[left,top + mp3],[left,top + mp12]]);//パス座標
            trimLine2.filled = false;//塗りなし
            trimLine2.strokeWidth = point(0.1);//線幅
            trimLine2.strokeColor = setCMYK(0,0,0,100);//線色
            //左上 ここまで

            //右上 ここから
            var trimLine3 = docObj.activeLayer.pathItems.add();
            trimLine3.setEntirePath([[right + mp12,top],[right + mp3,top],[right + mp3,top + mp12]]);
            trimLine3.filled = false;
            trimLine3.strokeWidth = point(0.1);
            trimLine3.strokeColor = setCMYK(0,0,0,100);
            var trimLine4 = docObj.activeLayer.pathItems.add();
            trimLine4.setEntirePath([[right + mp12,top + mp3],[right,top + mp3],[right,top + mp12]]);
            trimLine4.filled = false;
            trimLine4.strokeWidth = point(0.1);
            trimLine4.strokeColor = setCMYK(0,0,0,100);
            //右上 ここまで

            //左下 ここから
            var trimLine5 = docObj.activeLayer.pathItems.add();
            trimLine5.setEntirePath([[left - mp12,bottom],[left - mp3,bottom,],[left - mp3,bottom - mp12]]);
            trimLine5.filled = false;
            trimLine5.strokeWidth = point(0.1);
            trimLine5.strokeColor = setCMYK(0,0,0,100);
            var trimLine6 = docObj.activeLayer.pathItems.add();
            trimLine6.setEntirePath([[left - mp12,bottom - mp3],[left,bottom - mp3],[left,bottom - mp12]]);
            trimLine6.filled = false;
            trimLine6.strokeWidth = point(0.1);
            trimLine6.strokeColor = setCMYK(0,0,0,100);
            //左下 ここまで

                        
            //右下 ここから
            var trimLine7 = docObj.activeLayer.pathItems.add();
            trimLine7.setEntirePath([[right + mp12,bottom],[right + mp3,bottom],[right + mp3,bottom - mp12]]);
            trimLine7.filled = false;
            trimLine7.strokeWidth = point(0.1);
            trimLine7.strokeColor = setCMYK(0,0,0,100);
            var trimLine8 = docObj.activeLayer.pathItems.add();
            trimLine8.setEntirePath([[right + mp12,bottom - mp3],[right,bottom - mp3],[right,bottom - mp12]]);
            trimLine8.filled = false;
            trimLine8.strokeWidth = point(0.1);
            trimLine8.strokeColor = setCMYK(0,0,0,100);
            //右下 ここまで
            //トリムマークの描画 ここまで

            activeName2.locked = true;//レイヤーロック
        };//トリムマーク作成ここまで
    };//for    
}//OKボタンの処理ここまで
dialog.center();//中央表示
dialog.show();//ダイアログ表示
//Ptとmmの変換 ここから
function point(num){
    var mp = 2.383466;
    var offMp = num * mp;
    return Math.round(offMp * 100) / 100;
}
//Ptとmmの変換 ここまで

//数値を2倍にする計算 ここから
function os(size){
    return size * 2;
}
//数値を2倍にする計算 ここまで

//CMYK ここから
function setCMYK(c,m,y,k){
    var CMYK = new CMYKColor();
    CMYK.cyan = c;
    CMYK.magenta = m;
    CMYK.yellow = y;
    CMYK.black = k;
    return CMYK;
}
//CMYK ここまで



3.注意事項と免責事項

注意している女性
本記事に記載してあるスクリプトを実行した結果生じるトラブルに関しては一切の責任を負いません。ご利用は自己責任にてお願いいたします。

またIllustratorのアップデートにより動作が変わってしまう可能性もあります。アップデートによる動作の不具合に関しては、対処しかねるので予めご理解ください。

最後に本記事で配布しているスクリプトを無断で転送・販売・配布することは禁止いたします。

動作チェックは

・IllustratorCS6【Win】
・Illustrator2024【mac】

で、おこなっています。

4.【トリムマークとマージンガイドを作成する】スクリプトのまとめ

SUMMARY
今回は、【トリムマークとマージンガイドを作成する】スクリプトをポイントを交えながら紹介しました。
ポイントをおさらいすると

・アートボードサイズに合わせてトリムマークを作成してくれる
・アートボード枚数に合わせてトリムマークを作成してくれる
・アートボードの内側に指定された数値でマージンガイドを作成してくれる
・レイヤーを追加して名称も変更してくれる

トリムマークとマージンガイドが自動で作成されることで、今まで手間がかかっていた作業がスムーズにおこえるので、ぜひこのスクリプトを活用していただければと思います。

なお、Illustratorスクリプトについて学んでみたいと思った方は、次の記事でおすすめの書籍とWEBサイトについて紹介しているので良ければ参考にしてください。

というわけで今回は以上です。
『作業効率向上!Illustratorスクリプトでトリムマークとガイドを作成』を最後までお読みいただきありがとうございました。

ブログランキング・にほんブログ村へにほんブログ村 人気ブログランキング


ガネメ現役サラリーマン

投稿者の過去記事

◇このブログでは、15年以上DTPデザイナーとして、学んできたデザインやパソコンのセキュリティ知識・参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります。

◇このブログはアフィリエイト広告を利用しています

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
・第2種電気工事士
その他・・・・

プロフィール

face

ガネメ
鹿児島県在住
現役サラリーマン

◇このブログでは、15年以上DTPデザイナーとして、学んできたデザインやセキュリティ知識、参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
・第2種電気工事士
その他・・・・

詳しいプロフィールはこちら

アーカイブ

カテゴリー

使用中のレンタルサーバー

ピックアップ記事

  1. Illustratorスクリプトで図形を描きたい 図形のサンプルコードを学習した…
  2. Illustratorスクリプトが動作しないを解決する5つの対応法
    コード同士を接続したら動かなくなった エラーが表示されて動かない アッ…
  3. Illustratorの便利機能
    Illustratorの作業を自動化したい EXCELのマクロみたいな機能を探し…




PAGE TOP