How often do you use Creo "Insert Mode"? Then, get really unpredictable or unexpected results on "Resume"? This seems to happen a lot when "Suppress" is mixed with "Insert Mode" because Creo confuses the interaction. And most important, Creo fails to show the customer when or how it is making a mess of things.
How do we work around this obvious failure in Creo CAD Software?
This is a descriptive follow up to the PTC Support Case 16896033. While most of us don't have access, PTC folks do, so you can verify all that I say.
After many calls, videos, email exchanges, etc., I am informed that the below failures with "Suppress" and Creo Insert Mode - are working as designed. This, even though the functions are inconsistent and misleading - both in function and in communication with the customer.
While this does not seem to be much of a problem with small parts, it can become a real issue with larger parts - especially if you make several variations as you work - like Engineering Change Requests.
One Example with Screenshots
This first image shows a portion of the model tree with two features circled. The first circle (also highlight in blue), is where we will insert. The second one, labeled BOUNDARY, is a point to note as we look later in the screenshots of the feature list.
First, The Model Tree
After entering Creo Insert Mode, the model tree looks like this next image:
We see the mode indicator with the green line, and we note the same two circled features. Feature 204 is still active, and the BOUNDARY feature is now suppressed. We note that BOUNDARY is suppressed, partly because of the gray below the green line, and partly because of the small black box near the feature icon. Looks good, right?
Suppression Order In The Feature List
Now we look at the Feature List associated with this insert mode condition. (I have broken the list into sections because it is very long.) Please note, the two features are circled as above.
Feature 204 is still active as we also saw above with the model tree. Now feature BOUNDARY is suppressed as we also note above. Is this right?
Now look at the Suppression Order (Sup Order). Why did it suppressed these new features at order 3 when there are obviously many suppression orders higher?
To look at this deeper, we must look at the feature list BEFORE entering Insert Mode. This next image is the feature list before activating Creo Insert Mode. (Screenshot taken at the same time as the first model tree image above.)
This next image shows the feature list, again in several sections (because it is long), highlighting some important points with red arrows.
Starting at the bottom, we see this is the end of the feature list. There are two regenerated features at the bottom, then several suppressed features at suppression order one. Please note, because the last feature is regenerated, we are obviously NOT already in Creo Insert Mode.
In the middle section we see there are already features at suppression order 3. (Remember, this is BEFORE entering insert mode.) Then, in the upper section we see the highest suppression order is 12.
So, going back to the images above, we ask 2 important questions:
- Why did Creo Insert Mode choose to suppress features at order 3? Obviously, this is out of order.
- Because Insert Mode is an action suppressing features, why is it not a new, higher level, suppression order? We expect suppression order 13.
This becomes particularly important because there is no way to exit Insert Mode without also resuming features that were suppressed prior to entering Insert Mode. When we exit Insert Mode it will resume all features at suppression order 3, not just the ones that were suppressed when entering Insert Mode. Big Fail.
If, on the other hand, we use the Resume Last Set functionality, it will resume the features suppressed at order 12, not the actual last set of features most recently suppressed. Again, Fail.
This is a catch 22 and there is no graceful way out. There is NO WAY to bring the model back to the previous state.
Editorial: Ah, but PTC says this is functioning properly.
PTC, The details are all in the call log along with many examples (not just the above) both written and in video.
Creo Insert Mode Problem Description
For discussion purposes, I have divided the inconsistencies into these categories, but the issues are actually quite intertwined. Here are the categories:
1. Inconsistent Behavior.
Starting with behavior. There are 2 ways to suppress things.
- First, an explicit "Suppress" using the suppress menu picks. We will call this a "Manual" Suppress.
- Second, by using the "Insert Here" RMB Menu (Right Mouse Button Menu). This enters Creo Insert Mode which suppresses all features after the insert point.
There is a visual difference - sometimes. A manually suppressed feature has a small black square with the feature icon in the model tree. When in "Insert Mode" there is a green line and shaded area in the model tree. Please note that these "insert" features also have the small black square with the feature icon - meaning they are suppressed.
The inconsistent behavior occurs as we mix these 2 suppression methods.
If you insert before items that are suppressed, there is no way to tell what is suppressed manually, and what is "Insert". (This also fits the inconsistent messaging below.)
Secondly, if you suppress something immediately before the "Insert" line, it extends the insert behavior, but does not tell you it is treating the action different. It acts like Insert, looks like Insert, Smells like Insert, but it is actually suppress. On the other hand, if you insert again after already being in Insert Mode, it looks exactly the same as the previous insert, but the behavior when you wish to resume is completely different. (Unpredictable results, compounded by inconsistent messaging.)
2. Inconsistent Messaging.
There are several ways that inconsistent, misleading, messaging is displayed.
A. In the back-end, Creo is now treating Insert Mode different than suppress. (Noted by the poor handling of the suppression order. ) Yet, on the front-end, it appears that suppression and insert are the same.
B. Creo Insert Mode does not obey the rules of suppression order. If you enter Insert Mode, then suppress the next feature up in the model tree, it shows as if you had inserted above that next feature you just suppressed. However, if you exit Creo Insert Mode it does not resume features in the same way. On the other hand, if you enter Insert Mode, then Insert Here before the next feature above, it looks exactly the same on the screen, but it acts entirely different. (Yes, inconsistent messaging.)
C. Functions that interact with suppressed features, such as Resume, also work and message in misleading and inconsistent ways. Creo Insert Mode versus Suppress. This makes things like Resume Last Set to not always work as expected, or even as the command says. (See the image message below.) If the last set suppressed was via Insert Here, then the command to Resume Last Set should not resume something unrelated, nor resume the entire order that Insert Mode may have been started with. The behavior frequently does not follow the messaging.
D. In Creo you can "Insert Here" multiple times going up the model tree. While the messaging seems consistent with the action, in the back-end something different happens with the second action than the first. The first creates a new suppression order. (Well, most times.) Subsequent inserts do not.
This is trivial if insert is only used once, but it becomes completely inconsistent messaging when manual suppress is also used. Also, when various resume approaches are used, such as a direct resume of a single feature further down - which changes the point of insert, but does not change the suppression order of the features above which are still suppressed. Even though they are, they now don't appear to be included in Creo Insert Mode.
3. Unpredictable Results.
See the above section on messaging. If the results do not follow the messages given in the command, then the results are unpredictable. In many cases, it will resume the last set, as one example, but in other cases, it will resume something that was previously suppressed, but not the last set that was actually suppressed.
If you use a very simple Creo model for Insert Mode, it suppresses as typical, then the behavior is fairly predictable. On the other hand, if you inherit a model from someone that has many orders of suppression, it becomes nearly impossible to dissect or predict how Creo will act if you resume or suppress or use insert mode again. You must constantly look at the feature list and study the area where you will be working, just to guess at how Creo will act.
PTC, please see the text above, and the case notes, videos, etc. for many other examples of results that are not predictable.
4. Unpredictable Workflow.
What is the proper workflow when a customer needs to back through the model in steps (to make changes), then resume again in the same steps to capture and fix feature failures?
I have asked myself this question many times, and the answer is "it depends". In many cases it is best to insert in, make a needed change, then resume the entire large model. This means waiting for Creo to regenerate and fail many features. Then, insert again for the next step and repeat, waiting each time for Creo to do its regeneration and complain about features that fail. While this method often works, there are cases where Creo will lose references because of the resume failures, especially if you happen to save the model. (But, that is another set of bugs that PTC is not willing to address.)
Other times it is best to insert way down on the model tree, then manually suppress in steps, (and make sure you never use the Insert Here because that will create big problems). Using Resume Last Set will then usually work predictably, but sometimes not. If you must insert at one of the steps, insert in, add the feature, then Exit Insert Mode before moving on.
The point here is the workflow to accomplish the same task depends on the state of the existing model, how many features are suppressed already, in which blocks, and at what suppression order Creo decides to enter Insert Mode. Because we don't know these things in advance, we can't predict which workflow is going to be best for the situation.
Basically, because the behavior is inconsistent, and messaging is confusing, and the results are unpredictable, we don't know which workflow will work best. That makes the workflow also unpredictable.
As A Side Note
From a 30 year veteran with this software, even after studying this issue for many months, I am not able to reliably predict how Creo will act in any given situation. It still surprises me, and still frustrates me, when it acts in obnoxious ways.
I have documented many of these in notes, videos, images, etc., but based on responses from PTC, the problem documentation remains largely unviewed. They ask us to document it, but they don't take the time to comprehend what we provide. Therefore the PTC people that are claiming it is not broken obviously have not taken the time to understand the problem. That is one more, unfortunately predictable aspect of this confusing problem.
To be fair, one PTC tech guy has taken an interest in this issue. He is trying to get PTC to fix it, even though R&D refuses to accept it as an SPR.
5. The Kicker When Comparing To Previous Versions.
I am told repeatedly by PTC that the functionality is the same as it always has been. In other words, they are saying this functionality in Creo is the same as the old functionality in Pro/Engineer. It is not, by 4 very important details.
- Pro/E allowed you to enter Insert Mode just once. From there, if you wanted to move up the model tree to insert in a new place, you used a manual suppress such as Clip Suppress (which is no longer in Creo).
- Pro/E did not get confused about suppression order. When you suppressed additional features, they were always at the next suppression order up. Every suppress action was its own suppression order. It did not hold onto the suppression order of the Insert Mode, so if you change the location where you are inserting, it did not keep the same suppression order for additional features being suppressed to the new insert point.
- In Creo you can "Insert Here" multiple times, in multiple steps going up the model tree, and they will always be at the same suppression order as the original insert. Even if you suppress manually other features going to a higher suppression order, additional moves of the "Insert Here" are always at the same suppression order. This is not only confusing, but misleading - especially if you try to Resume Last Set - or Exit Insert Mode - if you have used Suppress to move the point of insert.
- The old Pro/E acted in a manner that was predictable and expected per the messaging and commands. Creo does not. Creo has confusing messaging, and unexpected results (like Resume Last Set). Most important, the unpredictability is just that, unpredictable. You can't be sure how Creo is going to interact when moving in and out of the suppress, resume, and Insert Mode. The above example of inserting at suppression order 3 when there are already features suppressed at order 3 is a good example of unpredictability.
So please, PTC, understand your software, before making these false statements. The new functionality in Creo is NOT like the old.
Moving Creo Insert Mode Forward
While there is a lot to explain about the problem as noted in all of the information above, the resolution is actually pretty simple.
The root of the broken functionality is respect for order. The Creo Insert Mode and Insert Here command do not honor suppression order. The fix is to make Insert Mode and Suppress modes all consistent in the way they create and interact with suppression order.
- Honor the various suppression modes - always - giving each and every suppressing action the next suppression order up.
- Creo Insert Mode is great, as is the Insert Here command. However, every time the Insert Here command is used, it should index up one suppression order. This will allow the Resume Last Set command to work, and it will also allow multiple steps of insert - independent of each other.
- Exit Insert Mode should resume all features that were suppressed using the Insert Here command (no matter how many times the Insert Here command was used), but NOT resume features that are manually suppressed. (This is the mass Exit Insert Mode to resume all features that were suppressed via insert mode.) This will require some communication to the customer about the difference between features that are "Insert Suppressed" versus those that are "Manual Suppressed". That can be via a color, or different symbol (think square black spot currently used with suppress.)
- When suppressing features that will move the insert point, ask if the action is Suppress only, or if it is to be included in the insert function. (Obviously, choose better words.)
- If I could add a function: "Resume Previous Insert Set" to resume the last group of features that were suppressed using the Insert Here command. Again NOT resume features that are manually suppressed.
(This concept is less important than the first three above. The three above need to be fixed because they don't currently work correctly or predictably in Creo.)
That's it. Hopefully PTC will read this with the intent to understand. I recognize it is long with a lot to digest, but they won't listen to their regular channels, so maybe something public will help. I want to make sure there is no misunderstanding. Hopefully they will get these things fixed soon.
Response from PTC
Unfortunately, many of the people at PTC assigned to examine this problem - R&D - are so wrapped up in justification that they are unwilling to watch the videos and read the documentation they asked me to create. Sad that they are unwilling to understand.
There is one standout, however. One guy who is not really in R&D who can see the problem. He even loaded up the old Pro/E 2001 to test and see the differences. I don't know what influence he will have, but he also agrees that things are not presented well in Creo for these functions. Hopefully he will be able to move this along in the back channels and get it fixed for us. Here's to Hope.
For More On CREO
We have other articles also about Creo. For starters, try this one. Learn The Creo Paradigms.