Could you please elaborate, what do you mean by 'assign a soft-object type (sub-type ofWTpart) to a Windchill part'.
Any Soft types you create from Windchill type automatically casted to that type, so if you create com.test.WTTempPart from wt.part.WTPart this com.test.WTTempPart is of type WTPart and inherit all properties from it. You can use soft types same as that of Windchill OOTB types.