In Creo 3.0 and earlier we used to have a config.pro option called 'restricted_gtol_dialog' that would restrict access to various options in the GTOL dialog based on what was allowed or disallowed according to the GD&T standards. Effectively this option would prevent you from creating an "illegal" combination of symbols in a GTOL by disabling some of the UI components based on the options previously selected. For instance, the datum reference fields were disabled for Flatness tolerance since Flatness does not allow datum references per the standards.
While in general this functionality had some benefits, there were also a number of problems associated with it:
While the net effect of these issues wasn't great, overall I have heard that customers appreciate any amount of intelligence that the tool could provide. Because, let's face it, GD&T is a complex language and the average engineer or designer is far from an expert in the topic. What typically happens is that someone's GD&T knowledge is usually at its peak immediately after they've attended a training class, but if they don't use this knowledge regularly they'll lose it over time. Having some GD&T rules embedded into the CAD software is helpful for those users whose GD&T knowledge has gotten a little bit rusty.
In Creo 4.0 we have eliminated this config option and provided a different mechanism for users to identify standards-compliance problems with their GTOLs and other GD&T-related annotations. We call this new mechanism "syntax checking" and this is a capability that will be provided in the base package of Creo Parametric (no additional license needed) and it is powered by our partner, Sigmetrix, who provides us with GD&T Advisor as well as Tolerance Analysis Extension (TAE). Being the experts in tolerance analysis makes Sigmetrix the right choice to provide the logic engine for this syntax checking capability. By effectively outsourcing the GD&T standards logic and rules to an expert partner, we at PTC are addressing the issue of the lack of in-house expertise in GD&T standards. By externalizing the logic "engine" of syntax checking we also remove the dependency between the UI and the syntax checking capability, meaning that we can implement updates to the logic without needing to update the UI of the annotation itself.
Think of it like a spell check or grammar check in Microsoft Word. It works on GTOL, Datum Feature Symbol and Datum Target. If some of the content in one of those annotations is not correct according to the standard, you'll be notified in two ways:
In the image below, I've created a Flatness tolerance and attempted to provide a datum reference, which is not allowed.
The syntax rules will be checked while you're editing the annotation and you'll get real-time feedback on the issues. This means you don't have to complete the task and regenerate in order to see the check results.
The standard used for the syntax checker is determined in the same way that the standard used for GD&T Advisor will be determined. In Creo 4.0, we are using the Tolerance Standard option that is found under the Model Properties dialog. If you'd like to use the ISO 1101-2012 and related standards, choose the ISO/DIN option. If you'd like to use the ASME Y14.5-2009 and related standards, choose the ANSI option.
As a side note, in the future we do plan to provide an improved option that would allow more flexibility and capability for setting the standard to be used, but for now in Creo 4.0 we are tying this in with the existing Tolerance option.
It's worth mentioning here that the syntax checker available in the base package of Creo Parametric is not the same thing as the full-blown semantic validation that is provided by the optional module, GD&T Advisor. The syntax check is limited in scope to only the content of the particular annotation in question and it does not consider the geometry of the model or any of the other annotations in the check. In other words, the syntax check will make sure that the fields of the annotation are filled out properly and that there is no illegal combination of symbols present, but it will not check that you've picked an appropriate geometry reference or that the datum reference frame being specified is valid. Here are a few examples:
Let me know in the comments what you think of the syntax checking functionality.
-Raphael
UPDATE: 2017-03-06
Moved this blog from Creo Sneak Peek group to the Model Based Enterprise group.
Also edited slightly to reflect the fact that Creo 4.0 is now shipping