LoginSignup
1
3

More than 5 years have passed since last update.

【illustrator】マルチ解除 17のコマンドを1つのショートカットに【ショートカット拡張】

Last updated at Posted at 2018-08-08

オブジェクトを1つ選択

  • グループを選択時 ・・・ 「グループ解除」
  • クリッピングマスクを選択時 ・・・ 「クリッピングマスクを解除」
  • ライブペイントを選択時 ・・・ 「ライブペイントを解除」
  • ブレンドを選択時 ・・・ 「ブレンドを解除」
  • 画像トレースフィルタのかかった画像を選択時 ・・・ 「画像トレースを解除」
  • 複合シェイプを選択時 ・・・ 「複合シェイプを解除」
  • メッシュを選択時 ・・・ 「メッシュのもととなるパスに変換」※メッシュは解除できない
  • 複合パスを選択時 ・・・ 「複合パスを解除」
  • シンボルを選択時 ・・・ 「シンボルへのリンクを解除」
  • ガイドを選択時 ・・・ 「ガイドの解除」
  • 不透明マスクのかかったパスを選択時 ・・・ 「不透明マスクを解除」
  • 塗と線以外の効果のかかったパスを選択時 ・・・ 「線と幅以外の効果を解除」
  • エリア文字を選択時 ・・・ 「ポイント文字に変換」
  • 複数行のポイント文字を選択時 ・・・ 「1行ごとにテキストを分割」
  • 1行のポイント文字を選択時 ・・・ 「1文字づつテキストを分割」

オブジェクトを複数選択

  • 「グループ解除」

選択なし

  • アウトライン表示のレイヤーがない場合、すべてのレイヤーをアウトライン表示
  • アウトライン表示のレイヤーがある場合、すべてのレイヤーをプレビュー表示

 

var doc = app.activeDocument;
var selects = doc.selection;

if (selects.length === 1){
    for (iS=0; iS<selects.length; iS+=1){
        if (selects[iS].typename === "GroupItem"){
            if (selects[iS].clipped){
                app.executeMenuCommand('releaseMask'); // クリッピングマスク解除
            }
            else{
                app.executeMenuCommand('ungroup'); // グループ解除
            }
        }
        else if (selects[iS].typename === "PluginItem"){
            app.executeMenuCommand('Release Planet X'); // ライブペイント解除
            app.executeMenuCommand('Path Blend Release'); // ブレンド解除
            app.executeMenuCommand('Release Image Tracing');  // 画像トレースの解除
            app.doScript("複合シェイプを解除","#");
        }
        else if (selects[iS].typename === 'MeshItem'){
            app.doScript("アクション名","グループ名"); // ※「パスのオフセット 0指定」のアクションを登録し記述
            selects[iS].remove();
        }
        else if (selects[iS].typename === "CompoundPathItem"){
            app.executeMenuCommand('noCompoundPath'); // 複合パス解除
        }
        else if (selects[iS].typename === "SymbolItem"){
            app.doScript("シンボルへのリンクを解除","#");
        }
        else if (selects[iS].typename === "PathItem"){
            if (selects[iS].guides){
                selects[iS].guides = false;
            }
            else{
                app.doScript("不透明マスクを解除","#");
                selects2 = app.activeDocument.selection;
                if (selects2.length === 1){
                    var sc = selects2[0].strokeColor;
                    var sw = selects2[0].strokeWidth;
                    var fc = selects2[0].fillColor;
                    app.doScript("アピアランスを消去","#");
                    selects2[0].strokeColor = sc;
                    selects2[0].strokeWidth = sw;
                    selects2[0].fillColor = fc;
                }
            }
        }
        else if (selects[iS].typename === "TextFrame"){
            if (selects[iS].kind === TextType.AREATEXT){
                selects[iS].convertAreaObjectToPointObject()
            };
            else{
                if (selects[iS].lines.length === 1){
                    // 1文字分割のスクリプト
                    // http://chuwa.iobb.net/tech/archive/2011/12/splitter.html
                    #include "外部jsxファイル";
                }
                else{
                    // 1行分割のスクリプト
                    // https://www.tactsystem.co.jp/applescript/illustrator07.html
                    #include "外部jsxファイル";
                }
            }
        }
    }
}
else if (select.length > 1){
    app.executeMenuCommand('ungroup'); // グループ解除
}
else{
    var layers = app.activeDocument.layers;
    var preview = true;
    for (i=0; i<layers.length; i+=1){
        if (!layers[i].preview){
            preview = false;
            break;
        }
    }
    if (preview){
        for (i=0; i<layers.length; i+=1){
            layers[i].preview = false;
        }
    }
    else{
        for (i=0; i<layers.length; i+=1){
            layers[i].preview = true;
        }
    }
}




1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3