rollback a parent assy by mistake?
rollback a parent assy by mistake?
I did a rollback of an assy and its drawing only (no child components Included) last week. I am always extra careful with rollbacks as many unwanted referenced files could be included by mistake.
this time I rolled back 2 files but according to the history a third file, a parent assy of the rolled back one was rolled back at the same tIme losing about 10 versions...how is it possible?
the only case I had close to this was a drawing referencing 2 different modelsand the rollback check was on and greyed out so I had to rollback the drawing and the 3d data separately.
Anyway I am pretty sure that redirection aside it is not possible to roll back a parent assy from the rollback screen of a child... am I wrong?
this time I rolled back 2 files but according to the history a third file, a parent assy of the rolled back one was rolled back at the same tIme losing about 10 versions...how is it possible?
the only case I had close to this was a drawing referencing 2 different modelsand the rollback check was on and greyed out so I had to rollback the drawing and the 3d data separately.
Anyway I am pretty sure that redirection aside it is not possible to roll back a parent assy from the rollback screen of a child... am I wrong?
What should happen when the drawing and subassembly are rolled back is this:
Further experimentation shows that it only happens when you rollback the drawing and include referenced files. If you roll back the drawing alone, and then the subassembly alone, the main assembly is not rolled back. This is definitely a bug.
The main assembly should not be touched at all and the references in the subassembly should become broken. The fact that PDM deletes one or more versions of the main assembly to meet the reference requirements of the subassembly is unacceptable.Go to full postFurther experimentation shows that it only happens when you rollback the drawing and include referenced files. If you roll back the drawing alone, and then the subassembly alone, the main assembly is not rolled back. This is definitely a bug.
Re: rollback a parent assy by mistake?
I was able to replicate this behavior with a pretty simple test, and it is quite alarming. Here's what I did:
- Create a new assembly
- Create a sketch in the assembly
- Save
- Create a second assembly
- Create a sketch in the second assembly
- Save
- Create a drawing of the second assembly
- Save the drawing
- Add the second assembly as a subassembly of the first assembly
- Check-in all three files with comment 'INITIAL CHECK-IN'
- Check out all three files
- Open the top assembly
- Edit the subassembly in-context
- Edit the sketch
- Add a relation between the sketch and the sketch in the top assembly
- Exit the sketch
- Exit in-context editing
- Open the subassembly drawing
- Save the drawing
- Return to the top assembly
- Save
- Check-in all three files with comment 'ADDED IN-CONTEXT REFERENCE'
- Check out all three files
- Edit the subassembly in-context
- Edit the sketch and remove the in-context relation
- Exit the sketch
- Exit the in-context editing
- Open the subassembly drawing
- Save the drawing
- Delete the sketch in the top assembly.
- Save
- Check in everything with comment 'REMOVE IN-CONTEXT REFERENCE'
- View the subassembly drawing history
- Select the 'ADDED IN-CONTEXT REFERENCE' version and click 'Rollback'
- Tell the rollback dialog to rollback referenced files
- The dialog will show the drawing and the subassembly. The top assembly is not listed
- Complete the rollback
- Open the top assembly
Magically, the model has no issues. Why? Because the top assembly was rolled back and it was never mentioned during the rollback process. WOW! Just WOW. SOLIDWORKS obliterating data with no warning.
So, this is one scenario where you can see the behavior you describe. Thanks, I hate it.
Re: rollback a parent assy by mistake?
If I follow, this is all due to the context ref back to the upper-level assembly. In Solid Edge files these refs were referred to as "reversed" which made sense to me.
Most of the files in our data set have many where-used so context refs are taboo. But that's not saying they don't exist, some users... Since PDM refuses to find a way to show where used, aside from drawing nodes, in the File Reference Dialog it's completely silent. Design Manager tool for Solid Edge is all about working on file reference structures but it can add where used files to the grid and effect changes to those as well. It seems PDM is effecting changes without showing the where used. I wonder if this happens to other things that use the File Reference Dialog such as change state, get, checkout/in...
Most of the files in our data set have many where-used so context refs are taboo. But that's not saying they don't exist, some users... Since PDM refuses to find a way to show where used, aside from drawing nodes, in the File Reference Dialog it's completely silent. Design Manager tool for Solid Edge is all about working on file reference structures but it can add where used files to the grid and effect changes to those as well. It seems PDM is effecting changes without showing the where used. I wonder if this happens to other things that use the File Reference Dialog such as change state, get, checkout/in...
Re: rollback a parent assy by mistake?
What should happen when the drawing and subassembly are rolled back is this:
Further experimentation shows that it only happens when you rollback the drawing and include referenced files. If you roll back the drawing alone, and then the subassembly alone, the main assembly is not rolled back. This is definitely a bug.
The main assembly should not be touched at all and the references in the subassembly should become broken. The fact that PDM deletes one or more versions of the main assembly to meet the reference requirements of the subassembly is unacceptable.Further experimentation shows that it only happens when you rollback the drawing and include referenced files. If you roll back the drawing alone, and then the subassembly alone, the main assembly is not rolled back. This is definitely a bug.
Re: rollback a parent assy by mistake?
I certainly agree it's undesired behavior. However, based on other things I've seen I wouldn't be surprised if they said it was intended behavior.
All too often the marketing message is how the software "fixes" things for you, and how many times has marketing mentioned things like "Do you struggle with broken references in your data set?" So, when there's an option between destroying data and "automatically fixing references" for the user I bet they chose "fix" references. This is why I always take note of the author and VAR/company of the blogs that push the data integrity back onto the user and educate how to keep the file references safe vs those that are claiming the software will effortlessly fix everything.
Or it was just going to take too much more time to implement the components of roll-back that would gracefully handle context/reverse refs. That ol' 80/20 rule that managers wield, sucks to be in the 20%.
I assume you've wrote exhaustive test plans where every possible path is identified and dealt with in some way.
All too often the marketing message is how the software "fixes" things for you, and how many times has marketing mentioned things like "Do you struggle with broken references in your data set?" So, when there's an option between destroying data and "automatically fixing references" for the user I bet they chose "fix" references. This is why I always take note of the author and VAR/company of the blogs that push the data integrity back onto the user and educate how to keep the file references safe vs those that are claiming the software will effortlessly fix everything.
Or it was just going to take too much more time to implement the components of roll-back that would gracefully handle context/reverse refs. That ol' 80/20 rule that managers wield, sucks to be in the 20%.
I assume you've wrote exhaustive test plans where every possible path is identified and dealt with in some way.
Re: rollback a parent assy by mistake?
@JSculley
Thank you very much I was able to replicate the issue on 2021 sp5.1
this is a very big problem for us.
forthe moment I will rollback the data Individually, but it is quite scary and it needs more tests.
Thank you very much I was able to replicate the issue on 2021 sp5.1
this is a very big problem for us.
forthe moment I will rollback the data Individually, but it is quite scary and it needs more tests.
Re: rollback a parent assy by mistake?
@bnemec the main issue I have is the lack of warning or report BEFORE the rollback.
it took 1 day to fix the assy I broke and the engineering department noticed it because they are working on it right NOW.
what about the last 6months or 1 year or more ? are those data ok? are they broken at some level down the assembly??
we blamed the lack of pdm awareness, but this bug is making me think twice.
it took 1 day to fix the assy I broke and the engineering department noticed it because they are working on it right NOW.
what about the last 6months or 1 year or more ? are those data ok? are they broken at some level down the assembly??
we blamed the lack of pdm awareness, but this bug is making me think twice.
Re: rollback a parent assy by mistake?
I'm not disagreeing with your points. Its just that this doesn't surprise me. I partially blame lazy/oblivious 3d CAD users of the early 2000s all crying about the file references they broke. (I still blame CAD users that are too lazy to understand 3d file references but that's another story) So CAD developers took that feedback as "never leave broken references at all costs" but adding all the logic to catch the nearly infinite set of cases then classify them into types so an accurate warning dialog can be displayed can be as big of a job as the base functionality, so it's often not done.mp3-250 wrote: ↑Fri Dec 23, 2022 3:44 am @bnemec the main issue I have is the lack of warning or report BEFORE the rollback.
it took 1 day to fix the assy I broke and the engineering department noticed it because they are working on it right NOW.
what about the last 6months or 1 year or more ? are those data ok? are they broken at some level down the assembly??
we blamed the lack of pdm awareness, but this bug is making me think twice.
Also, another case of you can have function A and maybe use functionality C, but we don't know how it will react when you also use any functionality G through Z. So you want some kind of top-down modeling method that create reverse direction file refs? Okay. Oh, you want PDM, okay that might work with top down. Oh, you want to roll something back in PDM that has reverse file refs? No problem, we handled that too, it will even fix your file refs for you. But it's going to assume you want to throw away work and not ask about it. There are infinite ways for users to go off the path of good CAD data and no guard rails. Best part is the "training" that so many claim to be the cure all does nothing for this.
Re: rollback a parent assy by mistake?
@bnemec
I got in touch with my VAR and the SW development guys confirmed that rolling back a parent assy is unexpected behaviour.
They assigned a SPR number and it is under review at the moment.
SPR 1245006
Parent assembly is unexpectedly rolled back when rollback is done for drawing in the component.
I got in touch with my VAR and the SW development guys confirmed that rolling back a parent assy is unexpected behaviour.
They assigned a SPR number and it is under review at the moment.
SPR 1245006
Parent assembly is unexpectedly rolled back when rollback is done for drawing in the component.
Re: rollback a parent assy by mistake?
good to be wrong.mp3-250 wrote: ↑Mon Jan 16, 2023 6:45 pm @bnemec
I got in touch with my VAR and the SW development guys confirmed that rolling back a parent assy is unexpected behaviour.
They assigned a SPR number and it is under review at the moment.
SPR 1245006
Parent assembly is unexpectedly rolled back when rollback is done for drawing in the component.