Off the top of my head, but a simplified example:
If designer A creates a part, 'thingy', based off a wave link of 'widget'. Later, Designer B modifies 'widget", not knowing it is used by 'thingy'. Everything is happy, until someone opens up 'thingy', and features have blown up, and panic ensues. The part is, or was still valid, but now requires unexpected work to fix, because other parts were changed without checking the impact of it. With new users, it gets exacerbated, they are just trying to understand NX, then you add the wave link concept...the far reaching impact can be a bit overwhelming.
We break them, in an attempt to avoid any issues. I also encourage users to name the wave link, or face, with the originating part number, for future traceablity.
Your example is the perfect illustration of what is wrong with breaking WAVE links. Is designer modifies the part 'widget' then 'thingy' is ACTUALLY needs to be modified to reflect the fact it is based on widget. Now imagine a stituation where shopfloor receives 1000 pieces of modified 'widget' in order to convert them to the... you guess it - UNmodified thingy. Just because nobody reflected the change in due course.
Not if the original part is still valid. I will agree, in most industries (or the real world, as we call it), you would want both parts updated. I've seen us get burned on parts, at various race teams, by leaving the links live.
This is why I try to caveat, with "this industry".
Basically, working under TC, revising initial part should mean creating new Item Revision and using certain revision rule when loading derived parts. Pitfalls are sometimes consequences of the poor implementation.
Agreed, if you're using TC, and have the time, and budget to fully implement it with all the right rules, that would be the way to go.
Running native, I've found it easier to break the links, than to break the fingers of the undisciplined user
I also frecuently use promote body, mainly for assemblies that after welding are going to be machined. I need to use this command because I need to have the components in my assembly navigator, part list… but also edit the geometry at assembly level with cutouts, holes… because is the way they are made in reallity (components without machining operations and assemblies with machined operations and also drawings for all of them).
I found promote body as very good and powerfull feature because once you have promoted the bodies you have all part commands availables to be used on the bodies, even sheet metal commands, other softwares I have used can’t do that, they are limited to some assembly specific features that can be made to the components.
On the other hand I think promote body needs some improvements. For example:
If I machine a threaded hole to promoted bodies in my assembly I can’t use “hole callaout” in the drawing to show the thread size (there are at least two different ERs about that but I think it is a mistake to solve, not an enhacement).
When someone works with this assemblies that are going to be welded and then machined it is very likely to make features like cutouts and holes to almost every component and with promote body you need to manually promote them and if you are going to make for example threaded tholes that run through several components (with threads on all of them) you need unite them to avoid a hole feature for each component which can lead to lots of features for something than should be done with just one like others softwares do, and when you need to replace a component you have to be careful to promote and reunite it every time you do that. Maybe I am wrong and there is a better approach but I think that a way to avoid that, like a command that sets that all existing and future components in that assembly must be promoted and united would be good, or it would be better modifing hole command to let you make threaded holes to several bodies, this would be better because one you have united promoted bodies is a bit confusig to check if there are gaps or overlapping between them. Other forum member said that relinking promoted bodies would be a very good improvement too and I agree...
Thank you for your advise about hole series, but I think it doesn't allow me to make holes with threads in all the components that the hole is applied to. Beside, I think hole series store goemetry in the components files and I need the component files without the holes, I want the hole feature to be only stored at assembly level.
I also use assembly cut, it is great when you only need to make cutouts, but when I need to make threaded holes, or bends to assemblies (this happens very few times for me but it also happens) I need to use promote body.
I didn't know I could do hole series to promoted bodies without linking geometry to the components. I still need to use threaded hole command when I need to make threads to all components the hole apply to but I think I will use hole series for some others. Thank you