Instance to generic on drawing
While you have abc.drw in memory:
Open generic.prt
Edit the family table for generic.prt
Remove the row for abc in the family table
Save generic.prt
Save abc.drw
What you get:
Drawing generic.drw uses model generic.prt
Generic.prt does not contain instance abc
Drawing abc.drw uses stand-alone model abc.prt
*******************************************
To make an instance stand alone:
call up instance
call up instance drw
call up assy using instance
call up generic
erase table from generic
exit generic - don't save
rename instance - save - check it's not an instance anymore
click in assy window - save
click in drw window - save
In your case, you want the drawing to reference the generic instance instead. I think you can replace the model in the drawing: views, drw models, replace.
Pick the generic. I don't think you will lose any dims this way. If you want
to get rid of the instance in the generic, just delete the family table.
With the drawing of the instance 'In Session'(as well as any assy models that reference the instance), just #Delete the 'Row' that contains the name of the instance from its generic's 'Family Table'. Then 'Save' the table edits, 'Save' the generic, and then 'Save' the drawing and any assembly models that reference the instance that you broke free from its generic. To be safe, I'd also perform a #Regenerate #Automatic on the assembly model(s)
before saving them.
NOTE: The system will issue a message stating that INSTANCE_NAME is no longer table driven when you perform the above-described 'instance deletion' operation.
Afterwards, you could delete the generic if the instance that you broke free was the only instance of the part family that was referenced by drawings and assembly models.