//Exports item points of current .ojj project as defined in subSet //version 1.1 //N.Vischer 22.02.21, 19:51 macro "Export Items as Text"{ //subSet = "all:";// all items are included //subSet = "exclude: Island Axis";//all items except Island and Axis are included //subSet = "BPos Len";//only BPos and Len are included subSet = "exclude: Island Axis"; subSet += " "; prName = ojGetProjectName(); Table.create(prName + "_Table.txt"); row = 0; for(img = 1; img <= ojNImages(); img++){ imgName = ojGetImageName(img); sChannels = ojGetImageValue(img, "channels"); Table.set("Img", row, imgName); for(obj = ojFirstObject(img); obj <= ojLastObject(img); obj++){ ojSelectObject(obj); for(item = 1; item <= ojNItems("*"); item++){ ojSelectItem( "*", item); itmName = ojGetItemName(); n = indexOf(subSet, itmName + " "); isListed = n >= 0; all = startsWith(subSet, "all: "); excludeFlag = startsWith(subSet, "exclude:"); if(all || (isListed && !excludeFlag) || (!isListed && excludeFlag) ){ for(pt = 1; pt <= ojNPoints(); pt++){ Table.set("Obj", row, obj); Table.set("ItemNo", row, item); Table.set("Item", row, itmName); Table.set("X", row, ojXPos(pt)); Table.set("Y", row, ojYPos(pt)); z = ojZPos(pt); Table.set("Z", row, z); channel = (z -1) % sChannels + 1; Table.set("Chn", row, channel); row++; } } } } } }