Загрузка данных


var app = Application("Adobe Illustrator");

// Размеры коробки (в миллиметрах)
var L = 120;
var W = 80;
var H = 40;

var mmToPt = 2.834645;
var lPt = L * mmToPt;
var wPt = W * mmToPt;
var hPt = H * mmToPt;

// Инициализация документа
var doc = app.documents.add(DocumentColorSpace.CMYK, (L*2 + W*2 + 50) * mmToPt, (H + W + 100) * mmToPt);

function drawLine(x1, y1, x2, y2, isFold) {
    var line = doc.pathItems.add();
    line.setEntirePath([[x1 * mmToPt, y1 * mmToPt], [x2 * mmToPt, y2 * mmToPt]]);
    line.filled = false;
    line.stroked = true;
    
    if (isFold) {
        line.strokeColor = createColor(100, 0, 0, 0); // Cyan
        line.strokeWidth = 1;
    } else {
        line.strokeColor = createColor(0, 100, 100, 0); // Red
        line.strokeWidth = 1;
    }
}

function createColor(c, m, y, k) {
    var color = new CMYKColor();
    color.cyan = c;
    color.magenta = m;
    color.yellow = y;
    color.black = k;
    return color;
}

var startX = 30;
var startY = 50;
var glueFlap = 15;
var currentX = startX;

// 1. Клеевой клапан
drawLine(currentX, startY, currentX, startY + H, false);
drawLine(currentX, startY + H, currentX + glueFlap, startY + H, false);
drawLine(currentX, startY, currentX + glueFlap, startY, false);
currentX += glueFlap;

// Панель 1 (L)
drawLine(currentX, startY, currentX, startY + H, true);
drawLine(currentX, startY, currentX + L, startY - W/2, false); 
drawLine(currentX + L, startY - W/2, currentX + L, startY, false);
drawLine(currentX, startY + H, currentX, startY + H + W, false);
drawLine(currentX, startY + H + W, currentX + L, startY + H + W, false);
drawLine(currentX + L, startY + H + W, currentX + L, startY + H, false);
drawLine(currentX + 3, startY + H + W + 15, currentX + L - 3, startY + H + W + 15, false);
currentX += L;

// Панель 2 (W)
drawLine(currentX, startY, currentX, startY + H, true);
drawLine(currentX, startY, currentX + W, startY - W/2, false);
currentX += W;

// Панель 3 (L)
drawLine(currentX, startY, currentX, startY + H, true);
currentX += L;

// Панель 4 (W)
drawLine(currentX, startY, currentX, startY + H, true);
drawLine(currentX + W, startY, currentX + W, startY + H, false);
currentX += W;

drawLine(startX + glueFlap, startY, currentX, startY, true);
drawLine(startX + glueFlap, startY + H, currentX, startY + H, true);