You'll need to keep the part name and the "r1", "r2"... value in separate fields. You can use merge fields or a calculation to combine them, but part name will need to be kept separate in order for this method to work.
Define a self join relationship that matches records by part name:
Parts::PartName = Parts|SameName::PartName
Then you can set up an auto-enter calculation on the revision field as:
Max ( Parts|SameName::revision ) + 1
Clear the "do not replace existing value" check box and you may need to commit records and/or refresh the window before you see the value update in the new record.