Загрузка данных
(function main() {
// Размеры коробки в мм
var L = 120; // Длина
var W = 80; // Ширина
var H = 40; // Высота
// Технологические припуски (стандарт)
var G = 35; // Боковой клеевой клапан
var FL = 35; // Верхний основной клапан
var FS = 25; // Верхние боковые клапаны
// Перевод мм в пункты (Points), так как Illustrator работает в них
var mmToPt = 2.834645;
L *= mmToPt; W *= mmToPt; H *= mmToPt; G *= mmToPt; FL *= mmToPt; FS *= mmToPt;
// Создание нового документа
var doc = app.documents.add(DocumentColorSpace.CMYK, (L*2 + W*2 + G + 100), (H + W + FL + 100));
// Настройка слоев и цветов
var cutLayer = doc.layers[0]; cutLayer.name = "Резочные линии (CUT)";
var creaseLayer = doc.layers.add(); creaseLayer.name = "Биговочные линии (CREASE)";
var cmykCut = new CMYKColor(); cmykCut.cyan = 0; cmykCut.magenta = 100; cmykCut.yellow = 0; cmykCut.black = 0; // Маджента для реза
var cmykCrease = new CMYKColor(); cmykCrease.cyan = 100; cmykCrease.magenta = 0; cmykCrease.yellow = 0; cmykCrease.black = 0; // Циан для биговки
function drawLine(layer, points, color, isDashed) {
var path = layer.pathItems.add();
path.strokeColor = color;
path.strokeWidth = 1;
path.filled = false;
if (isDashed) { path.strokeDasharray =; }
for (var i = 0; i < points.length; i++) {
var p = path.pathPoints.add();
p.anchor = [points[i][0] + 50, points[i][1] + 50]; // Смещение от края артборда
}
}
// Х-координаты вертикальных линий панелей
var x0 = 0, x1 = G, x2 = x1 + L, x3 = x2 + W, x4 = x3 + L, x5 = x4 + W;
// Y-координаты горизонтальных линий
var yBottom = 0; // Низ автодна
var yBaseBottom = W/2 + 10; // Линия дна (нижняя биговка стенок)
var yBaseTop = yBaseBottom + H; // Линия верха (верхняя биговка стенок)
var yTop = yBaseTop + FL; // Самый верх клапанов
// --- БИГОВКИ (Слой Crease) ---
// Горизонтальные основные линии стенок
drawLine(creaseLayer, [[x1, yBaseBottom], [x5, yBaseBottom]], cmykCrease, true);
drawLine(creaseLayer, [[x1, yBaseTop], [x5, yBaseTop]], cmykCrease, true);
// Вертикальные биговки между панелями
drawLine(creaseLayer, [[x1, yBaseBottom], [x1, yBaseTop]], cmykCrease, true);
drawLine(creaseLayer, [[x2, yBaseBottom], [x2, yBaseTop]], cmykCrease, true);
drawLine(creaseLayer, [[x3, yBaseBottom], [x3, yBaseTop]], cmykCrease, true);
drawLine(creaseLayer, [[x4, yBaseBottom], [x4, yBaseTop]], cmykCrease, true);
// Элементы биговки автодна (упрощенная базовая геометрия под склейку)
drawLine(creaseLayer, [[x1, yBaseBottom], [x2, yBaseBottom - W/2]], cmykCrease, true);
drawLine(creaseLayer, [[x3, yBaseBottom], [x4, yBaseBottom - W/2]], cmykCrease, true);
drawLine(creaseLayer, [[x2, yBaseBottom], [x2, yBottom]], cmykCrease, true);
drawLine(creaseLayer, [[x4, yBaseBottom], [x4, yBottom]], cmykCrease, true);
// --- РЕЗ (Слой Cut) ---
// Наружный контур и клапаны
// Боковой клеевой клапан
drawLine(cutLayer, [[x0, yBaseBottom + 5], [x1, yBaseBottom]], cmykCut, false);
drawLine(cutLayer, [[x0, yBaseBottom + 5], [x0, yBaseTop - 5]], cmykCut, false);
drawLine(cutLayer, [[x0, yBaseTop - 5], [x1, yBaseTop]], cmykCut, false);
// Верхняя часть (три клапана: боковой FS, лицевой FL, боковой FS)
drawLine(cutLayer, [[x1, yBaseTop], [x1 + 5, yBaseTop + FS]], cmykCut, false);
drawLine(cutLayer, [[x1 + 5, yBaseTop + FS], [x2 - 5, yBaseTop + FS]], cmykCut, false);
drawLine(cutLayer, [[x2 - 5, yBaseTop + FS], [x2, yBaseTop]], cmykCut, false); // первый боковой
drawLine(cutLayer, [[x2, yBaseTop], [x2, yBaseTop + FL]], cmykCut, false);
drawLine(cutLayer, [[x2, yBaseTop + FL], [x3, yBaseTop + FL]], cmykCut, false);
drawLine(cutLayer, [[x3, yBaseTop + FL], [x3, yBaseTop]], cmykCut, false); // основной верхний
drawLine(cutLayer, [[x3, yBaseTop], [x3 + 5, yBaseTop + FS]], cmykCut, false);
drawLine(cutLayer, [[x3 + 5, yBaseTop + FS], [x4 - 5, yBaseTop + FS]], cmykCut, false);
drawLine(cutLayer, [[x4 - 5, yBaseTop + FS], [x4, yBaseTop]], cmykCut, false); // второй боковой
drawLine(cutLayer, [[x4, yBaseTop], [x5, yBaseTop]], cmykCut, false); // задняя стенка верх
drawLine(cutLayer, [[x5, yBaseTop], [x5, yBaseBottom]], cmykCut, false); // крайний правый срез
// Нижняя часть (Упрощенный контур ласточкиного хвоста / автодна)
drawLine(cutLayer, [[x5, yBaseBottom], [x4, yBottom]], cmykCut, false);
drawLine(cutLayer, [[x4, yBottom], [x3 + W/2, yBottom]], cmykCut, false);
drawLine(cutLayer, [[x3 + W/2, yBottom], [x3, yBaseBottom]], cmykCut, false);
drawLine(cutLayer, [[x3, yBaseBottom], [x2, yBottom]], cmykCut, false);
drawLine(cutLayer, [[x2, yBottom], [x1 + W/2, yBottom]], cmykCut, false);
drawLine(cutLayer, [[x1 + W/2, yBottom], [x1, yBaseBottom]], cmykCut, false);
app.redraw();
})();