- Сообщения
 - 633
 
- Реакции
 - 315
 
Пытаюсь заставить ИИ написать мне скрипт. Скрипт должен определить размеры выделенных объектов и выдать панельку, в которой дать выбор, как эти размеры выводить в текст: в одну строку, в одну колонку (один размер - одна строка), или рядом с объектом. ИИ радостно пишет, но скрипт не работает. Я его запускаю, панелька появляется и сразу пропадает. ИИ на мое недовольство снова пишет тот же скрипт.
Я решил, что коллективный разум или ЕИ (естественный интеллект) быстрее справятся. Где тут ошибка?
	
	
		
			
	
	
	
		
		
	
				
			Я решил, что коллективный разум или ЕИ (естественный интеллект) быстрее справятся. Где тут ошибка?
		Код: 
	
	#target illustrator
// Создаем панель
var win = new Window("palette", "Размеры объектов", undefined);
win.orientation = "column";
// Добавляем чек-боксы
var checkbox1 = win.add("checkbox", undefined, "Текст в одну строку");
var checkbox2 = win.add("checkbox", undefined, "Текст в одну колонку");
var checkbox3 = win.add("checkbox", undefined, "Текст возле каждого объекта");
// Добавляем кнопку
var runButton = win.add("button", undefined, "Запустить");
// Функция для форматирования размера
function formatSize(size) {
    var roundedSize = Math.round(size * 10) / 10;
    return (roundedSize % 1 === 0) ? roundedSize.toFixed(0) : roundedSize.toFixed(1);
}
// Обработчик нажатия кнопки
runButton.onClick = function() {
    var doc = app.activeDocument;
    if (doc.selection.length > 0) {
        var allSizes = [];
        for (var i = 0; i < doc.selection.length; i++) {
            var selectedItem = doc.selection[i];
            var widthPx = selectedItem.width;
            var heightPx = selectedItem.height;
            var widthMm = widthPx * 0.352777;
            var heightMm = heightPx * 0.352777;
            var formattedWidth = formatSize(widthMm);
            var formattedHeight = formatSize(heightMm);
            if (checkbox3.value) {
                var textItem = doc.textFrames.add();
                textItem.contents = formattedWidth + " мм х " + formattedHeight + " мм";
                textItem.position = [selectedItem.position[0], selectedItem.position[1] - 20];
            }
            allSizes.push(formattedWidth + " х " + formattedHeight);
        }
        if (checkbox1.value) {
            var allSizesTextItem = doc.textFrames.add();
            allSizesTextItem.contents = allSizes.join("; ");
            allSizesTextItem.position = [50, 50];
        }
        if (checkbox2.value) {
            var allSizesTextItem = doc.textFrames.add();
            allSizesTextItem.contents = allSizes.join("\n");
            allSizesTextItem.position = [100, 50];
        }
    } else {
        alert("Нет выделенных объектов.");
    }
};
// Показываем панель
win.center();
win.show();
	
	
