This might be a bit late, but here goes :
You can try importing everything with your file sop. You're supposed to have a name attribute on the primitives. You can then parse over that with this
int primCount = detailintrinsic(0, "primitivecount"); string nameList[]; // Initialize the list with at least one item string currName = prim(0, "name", 0); append(nameList, currName); // Run over all the primitive but the first one for(int i=1; i<primCount; i++) { // Grab the name attribute currName = prim(0, "name", i); // Run over the name list to see if the currentName is present int found = 0; for(int j=0; j<len(nameList); j++) { if(currName == nameList[j]) found++; } if(found == 0) // If not, add it append(nameList, currName); } printf("%d ", nameList);
Cheers !