Mass and material are the determining factors for whether an item can be cut up.
When cutting up an item, the game subtracts from it’s mass the base item of each of it’s materials until it can no longer, then spawns the base item of each material however many times it could subtract it from the mass of the initial item.
If the yield of this would be 0, then it cannot be cut up.
So for a cotton garment weighing 750g, and assuming the base item of cotton is a 24g rag, it can subtract the weight of the rag from the weight of the garment 31 times, leaving 6g remaining, so it spawns 31 rags and removes the garment.
For a cotton and wool garment weighing 500g, where the base material of wool is a 10g patch, it subtracts the weight of a rag, then the weight of a patch, and so on until it cannot subtract any more, and spawns rag * how many times it subtracted the weight of the rag from the garment weight, and patch * how many times it subtracted the weight of the patch from the garment weight.