I still can't say exactly what causes this, but I also notice that sometimes components shift (instead of rotate) when I update them. I think both are maybe attributable to pilot error of sorts. I think what I was doing was replacing (my project) library components that initially had come from the CS Vault with my own versions not tied to Vault and not noticing that the schlib symbols were not aligned the same. I then made other edits to my versions, but had older schematics that were out of sync with what previously had been a 'copy' of the CS Vault component (you can't actually copy them like other components) and was now a version not connected with Vault.
Or something like that - I've been going through libraries and purging anything that points back to Vault and updating components in new design revisions as I go along. As I do that I'm seeing this happen less and less.
IMHO this is yet another reason why the inability to compare a schematic & layout against the libraries leads to unexpected problems: Update a project with all component updates from multiple libraries
Another self update. I have a way to create this problem, though not consistently. I can not figure out why this happens in some cases but not others. I thought maybe it had to do with the relationship between the schematic symbol's origin and the part's pins, but I still can't see a consistent pattern.
Here are the steps that will reproduce it for me (about 25% of the time). This is the sequence I follow when I need to create a special library for a project (maybe there's a better way to do this?).
- Open two (integrated) libraries, I'll call them A.LibPkg and B.LibPkg
- Select a component X from the A.LibPkg's SchLib
- Open B.LibPkg's SchLib file
- Paste in the component,
- Open the component and change the symbol reference to Y
- Open a CS project Schematic that uses component X and select it
- Open the inspector and change the symbol reference to Y (uncheck the Use library name)
About 25% of the time the component in the schematic is rotated. If it happens to touch other wires when rotated new connections are made.
I can't make this happen consistently, but it happens enough that I cringe every time I right click on a component in the SchLib (part of an integrated lib) and select "Update schematic sheets"
I will start keeping better track of when it happens, it seems to be even innocuous things like modifying a supplier link can cause this. I think maybe whether or not I have recompiled the library affects the outcome of doing the update?
Before chasing further wanted to ask here in case I've overlooked something.