• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How to get Workspace size in CS6

Community Beginner ,
Dec 05, 2020 Dec 05, 2020

Copy link to clipboard

Copied

Hi. I cannot get the dimensions of the Workspace in CS6. Does anyone have any idea how to find out the dimensions?

 

I understand that it should be 16384 to 16384 on CS6. But how can I get the location of this area relative to the coordinate grid in the current file?

 

VirtualBox_xp_04_12_2020_12_52_40 (1).png

 

To get the dimensions of the workspace in CC, I use catching an exception when creating an artboard outside of the workspace. But in CS6 no exception is thrown. 

 

MaiFuncs.getWorkspaceSize = function(){
    var doc = app.activeDocument;
    var res = {};
    var step = 1000;
    res.x_min = this.getWorkspaceCoord(-16000, step, "x");
    res.x_max = this.getWorkspaceCoord(16000, -step, "x");;
    res.y_min = this.getWorkspaceCoord(-16000, step, "y");;
    res.y_max = this.getWorkspaceCoord(16000, -step, "y");;
    return res;
    
    }


MaiFuncs.getWorkspaceCoord = function(start, delta, coord) {
    
    var artboards = app.activeDocument.artboards;
    var aIndex = artboards.getActiveArtboardIndex();
    var repeat = true;
    var artboard;
    
    while (repeat) {
        try {
            repeat = false;
            var rect;
            if (coord == "x")
                rect = [start, 0, start+1, -1];
            else
                rect = [0 , start, 1, start-1];
            artboard = artboards.add(rect);
            }
        catch (err) {
            start = start+delta;
            repeat = true;
            }
        }
    artboard.remove();
    artboards.setActiveArtboardIndex(aIndex);
    return start;
    }

Is there another way to get the dimensions of the Workspace?

TOPICS
Scripting

Views

209

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , Dec 05, 2020 Dec 05, 2020

I have found solution here: https://community.adobe.com/t5/illustrator/how-to-get-bounds-of-largest-possible-document-area/m-p/8579514?page=1 

 

Result code:

MaiFuncs.getWorkspaceSizeCS6 = function(){
    var d = activeDocument,
        rects = [],
        abs = d.artboards;
    abs.add([0, 1, 1, 0]);
    abs.add([0, 1, 1, 0]);
    for (i = abs.length - 3; i >= 0; i--) {
        var a = abs[i];
        rects.push([a.artboardRect, a.name]);
        a.remove();
        }
    d.rearrangeArtboards(Docu
...

Votes

Translate

Translate
Adobe
Community Beginner ,
Dec 05, 2020 Dec 05, 2020

Copy link to clipboard

Copied

LATEST

I have found solution here: https://community.adobe.com/t5/illustrator/how-to-get-bounds-of-largest-possible-document-area/m-p/8... 

 

Result code:

MaiFuncs.getWorkspaceSizeCS6 = function(){
    var d = activeDocument,
        rects = [],
        abs = d.artboards;
    abs.add([0, 1, 1, 0]);
    abs.add([0, 1, 1, 0]);
    for (i = abs.length - 3; i >= 0; i--) {
        var a = abs[i];
        rects.push([a.artboardRect, a.name]);
        a.remove();
        }
    d.rearrangeArtboards(DocumentArtboardLayout.Row, 1, 0, false);
    var rect = abs[0].artboardRect;
    var res = {};
    res.x_min = rect[0] + 0.5 - 16383 / 2;
    res.y_max = rect[1] - 0.5 + 16383 / 2;
    res.x_max = res.x_min+16383;
    res.y_min = res.y_max-16383;
    for (i = rects.length - 1; i >= 0; i--) {
        var rect = rects[i];
        abs.add(rect[0]).name = rect[1];
    }
    abs[0].remove();
    abs[0].remove();
    return res;
    }

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines