Мучал нейросетку, получилось 2 скрипта, один удаляет все, другой ничего.
Своих познаний не хватает в исправлении недочета. Задача удалить все кроме объектов с черной обводкой.
Своих познаний не хватает в исправлении недочета. Задача удалить все кроме объектов с черной обводкой.
// Функция для получения всех объектов с чёрной обводкой
function getBlackStrokeObjects(doc) {
var blackStrokeObjects = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
var item = layer.pageItems[j];
if (item.stroked && item.strokeColor == new CMYKColor(0, 0, 0, 100)) {
blackStrokeObjects.push(item);
}
}
}
return blackStrokeObjects;
}
// Функция инвертирования выделения
function invertSelection(selection, doc) {
// Получаем массив всех объектов
var allItems = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
allItems.push(layer.pageItems[j]);
}
}
// Создаём массив для инвертированного выделения
var invertedSelection = [];
// Проходимся по каждому объекту в массиве всех объектов
for (var k = 0; k < allItems.length; k++) {
// Если объект находится в текущем выделении
if (!containsObject(selection, allItems[k])) {
invertedSelection.push(allItems[k]);
} else {
// Иначе добавляем его к выделению
allItems[k].selected = true;
}
}
return invertedSelection;
}
// Функция проверки наличия объекта в массиве
function containsObject(arr, obj) {
for (var i = 0; i < arr.length; i++) {
if (arr === obj) {
return true;
}
}
return false;
}
// Функция удаления выбранных объектов
function removeSelectedObjects(selection) {
for (var i = 0; i < selection.length; i++) {
selection.remove();
}
}
// Основная функция
function main() {
// Получаем выделение
var selection = activeDocument.selection;
// Инвертируем выделение, чтобы выбрать только объекты с чёрной обводкой
selection = invertSelection(selection, activeDocument);
// Удаляем все выбранные объекты кроме тех, что имеют чёрную обводку
removeSelectedObjects(selection);
}
main();
function getBlackStrokeObjects(doc) {
var blackStrokeObjects = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
var item = layer.pageItems[j];
if (item.stroked && item.strokeColor == new CMYKColor(0, 0, 0, 100)) {
blackStrokeObjects.push(item);
}
}
}
return blackStrokeObjects;
}
// Функция инвертирования выделения
function invertSelection(selection, doc) {
// Получаем массив всех объектов
var allItems = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
allItems.push(layer.pageItems[j]);
}
}
// Создаём массив для инвертированного выделения
var invertedSelection = [];
// Проходимся по каждому объекту в массиве всех объектов
for (var k = 0; k < allItems.length; k++) {
// Если объект находится в текущем выделении
if (!containsObject(selection, allItems[k])) {
invertedSelection.push(allItems[k]);
} else {
// Иначе добавляем его к выделению
allItems[k].selected = true;
}
}
return invertedSelection;
}
// Функция проверки наличия объекта в массиве
function containsObject(arr, obj) {
for (var i = 0; i < arr.length; i++) {
if (arr === obj) {
return true;
}
}
return false;
}
// Функция удаления выбранных объектов
function removeSelectedObjects(selection) {
for (var i = 0; i < selection.length; i++) {
selection.remove();
}
}
// Основная функция
function main() {
// Получаем выделение
var selection = activeDocument.selection;
// Инвертируем выделение, чтобы выбрать только объекты с чёрной обводкой
selection = invertSelection(selection, activeDocument);
// Удаляем все выбранные объекты кроме тех, что имеют чёрную обводку
removeSelectedObjects(selection);
}
main();
// Функция для получения всех объектов с чёрной обводкой
function getBlackStrokeObjects(doc) {
var blackStrokeObjects = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
var item = layer.pageItems[j];
if (item.stroked && item.strokeColor == new CMYKColor(0, 0, 0, 100)) {
blackStrokeObjects.push(item);
}
}
}
return blackStrokeObjects;
}
// Функция инвертирования выделения
function invertSelection(selection, doc) {
// Получаем массив всех объектов
var allItems = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
allItems.push(layer.pageItems[j]);
}
}
// Создаём массив для инвертированного выделения
var invertedSelection = [];
// Проходимся по каждому объекту в массиве всех объектов
for (var k = 0; k < allItems.length; k++) {
// Если объект находится в текущем выделении
if (containsObject(selection, allItems[k])) {
invertedSelection.push(allItems[k]);
} else {
// Иначе добавляем его к выделению
allItems[k].selected = true;
}
}
return invertedSelection;
}
// Функция проверки наличия объекта в массиве
function containsObject(arr, obj) {
for (var i = 0; i < arr.length; i++) {
if (arr === obj) {
return true;
}
}
return false;
}
// Функция удаления выбранных объектов
function removeSelectedObjects(selection) {
for (var i = 0; i < selection.length; i++) {
selection.remove();
}
}
// Основная функция
function main() {
// Получаем выделение
var selection = activeDocument.selection;
// Инвертируем выделение, чтобы выбрать только объекты с чёрной обводкой
selection = invertSelection(selection, activeDocument);
// Удаляем все выбранные объекты кроме тех, что имеют чёрную обводку
removeSelectedObjects(selection);
}
main();
function getBlackStrokeObjects(doc) {
var blackStrokeObjects = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
var item = layer.pageItems[j];
if (item.stroked && item.strokeColor == new CMYKColor(0, 0, 0, 100)) {
blackStrokeObjects.push(item);
}
}
}
return blackStrokeObjects;
}
// Функция инвертирования выделения
function invertSelection(selection, doc) {
// Получаем массив всех объектов
var allItems = [];
for (var i = 0; i < doc.layers.length; i++) {
var layer = doc.layers;
for (var j = 0; j < layer.pageItems.length; j++) {
allItems.push(layer.pageItems[j]);
}
}
// Создаём массив для инвертированного выделения
var invertedSelection = [];
// Проходимся по каждому объекту в массиве всех объектов
for (var k = 0; k < allItems.length; k++) {
// Если объект находится в текущем выделении
if (containsObject(selection, allItems[k])) {
invertedSelection.push(allItems[k]);
} else {
// Иначе добавляем его к выделению
allItems[k].selected = true;
}
}
return invertedSelection;
}
// Функция проверки наличия объекта в массиве
function containsObject(arr, obj) {
for (var i = 0; i < arr.length; i++) {
if (arr === obj) {
return true;
}
}
return false;
}
// Функция удаления выбранных объектов
function removeSelectedObjects(selection) {
for (var i = 0; i < selection.length; i++) {
selection.remove();
}
}
// Основная функция
function main() {
// Получаем выделение
var selection = activeDocument.selection;
// Инвертируем выделение, чтобы выбрать только объекты с чёрной обводкой
selection = invertSelection(selection, activeDocument);
// Удаляем все выбранные объекты кроме тех, что имеют чёрную обводку
removeSelectedObjects(selection);
}
main();