We got an unofficial “type change tool” from an innovative admin a few years back (in exchange for a beer) and have used it 1000’s of times to convert the type both ways between:
OTB WTDocument
OTB ReferenceDocument
Fortunately, we have these OTB types using the same LC everywhere (multiple sub types are allowed in special-purpose Libraries).
Note: A very nice way to avoid having to change is to encourage (require) that all documents be created from template; the type is embedded in the template. BUT – This has worked well for us to now in 9.1. As of 10.1, the user has to first select the type, then the available templates of that Type become available. This is great for programmers but backward in our opinion from business use and we wish it was the other way. Users in general can recognize what template to use by it’s business purpose, but in general have no idea what Windchill object type that ought to map to.
Today in 9.1, users a) determine the needed template b) select it directly, not having to care about the type
In 10.x, users will have to a) select the type b) select the template; if the template is not there, go back and select the other type
This is leading us to consider making the OTB “Document” and “Reference Document” types no longer instantiable, creating some sub types with names that match the business, then changing the type of all existing.