I have been experimenting with adding the Windchill version parameters for the drawing and model version to the drawing format and ran into a couple of issues.
I was wondering what work arounds anyone has to deal with this situation?
Steps Taken:
Issue 1: New drawing with format.
Issue 2: New drawing using a Template
The only course of action I can think of is to not use the Windchill parameters in the drawing because of these issues. One workaround to that is to strip out the titleblock from the format and have engineers add it after the drawing has been saved at least once. That is not a solution. Another workaround is to create the drawing, save and then replace the format. Works, but adds work to an already busy workload.
I did do some research into this and found this infuriating tech support case: CS145634 that states "Behavior is currently working as per specifications."
I find it hard to believe that one, no one has found this before it even went into production, and two, that the specification is written that this is acceptable behavior.
-marc
CAD / PLM Systems Manager
Solved! Go to Solution.
Wanted to update you on this issue. Starting in Creo 2.0 M150 and Creo 3.0 M040 parameter names in drawings can be appended with ":MDL" to force them to only look at the model's values. With this suffix they will not revert to the drawing's value, even if the parameter is missing from the model. There is some weirdness where it doesn’t update once the parameter exists in the model unless re-typed into the drawing. Unfortunately there is zero documentation available on this new feature right now.
Marc,
I feel your pain. I went round and round with PTC on this same issue. It was like talking to a brick wall. There is a fundamental problem with having the same parameter name exist in both the drawing and the model. This is exasperated when connecting to Windchill where system parameters are instantly created as soon as the object is loaded into session.
One workaround that will keep model parameters from snapping to drawing parameters is to use a single cell repeat region on the format (or template) for each parameter. Set the cell value to &mdl.param.value and then create a filter specific to the parameter you want to display. For example, "&mdl.param.name == PTC_WM_REVISION".
Unfortunately this workaround doesn't help any with the drawing program. For that I've simply settled on a set of mapkeys.
My case history is attached if you feel like reading it. Be warned, it's long and frustrating!
Related Discussions
Marc,
We do a similar thing, but we don't have the issues you describe. When we create a new drawing, the &ptc_wm_revision is set to ".0" which changes to 1.1 on first upload to Windchill. This is regardless of whether the drawing has been created in a Windchill session or not.
I don't know this for sure, but I suspect the key lies in the way the start files are created. When I open our start .prt and drawing template file the &ptc_wm... parameters are all in there with &ptc_wm_created_on showing a date some years back. So when the start parts were created, whoever created them (that was before I joined the company) saved them in a workspace, or whatever it is you need to do to create those params. This would ensure they would always be present when creating new parts / drawings and avoiding the issue you're seeing.
Like I say, I can't be certain but that might be something to try. The only time I've seen this happen is when we're using really old files that precede the current CAD standards and putting them on new drawing formats. A history of corporate mergers etc means we have something of a mixture of parameters depending on the age of the part, and the older ones don't have the ptc_wm ones by default.
The Windchill parameters in the drawing (part, assembly) file are only created when you do a save to the file into Windchill. Therefore, your parameters will have no calue until you have done the save. We used to have designers who would go directly from creating the model into the drawing without saving first. When we implemented Windchill, we had to put in the documentation that they MUST save the model file before creating the drawing file. Still got calls for a few months from engineers complaining that their parameters weren't showing on their drawings.
I posted this exact thing in an earlier thread maybe a year ago.
Create an EMPTY dwg without the format (just choose the size). SAVE the dwg (this pings Windburn and inserts that parameter. THEN add your format. The format then looks for the paramater, and finds it, whereas until you save it, it doesn't exist, and it FUBAR's it. I think the reason a template works, is that it's been saved, basically as a dwg first, so it has the parameter. We don't use templates, we add the format.
It's a pretty easy fix, if a little frustrating to have to do it that way. You quickly get used to it and it has worked fine ever since.
Wanted to update you on this issue. Starting in Creo 2.0 M150 and Creo 3.0 M040 parameter names in drawings can be appended with ":MDL" to force them to only look at the model's values. With this suffix they will not revert to the drawing's value, even if the parameter is missing from the model. There is some weirdness where it doesn’t update once the parameter exists in the model unless re-typed into the drawing. Unfortunately there is zero documentation available on this new feature right now.
Thanks for the update Tom!
Looks like I will have to wait until we get migrated to Creo 3.0 later this year...
...maybe they will have some documentation by then.
Until then you can do the same thing David Cox mentioned above. This is the same thing we do. Check your start part into PDMLink and then pull it back out. That will get you the parameters in all your new parts. They may be wrong but at least they will be there and then they will get updated when you check in.
Check your start part into PDMLink and then pull it back out. That will get you the parameters in all your new parts.
Again, this doesn't work for drawing templates. Since the model isn't present, but the model parameter you want to reference is (it will exist in both the drawing and the part), any reference to the model parameter will immediately revert or snap back to the drawing's. This suffix prevents that from happening.
Have you made sure you're using template mode in the Tools ribbon? I think that prevents creo from reverting a parameter to parameter:d.
Yep. The issue isn't the creation of the template, it's the usage. When Creo creates a new drawing from a template, behind the scenes it does a save-as, then loads the new drawing into session, then adds the appropriate model to it. At step two, before the new model has been added yet, the note and table parameters will immediately snap to matching drawing parameters instead of waiting for the not-yet-added model's parameters. This is what's so helpful about the new syntax. It forces the drawing to not switch to the drawing's parameters, even if they exist with the same name.
I understand now. I just tested and found the same behaviour, I had to check in and check out and reapply the format if I wanted to show &PTC_WM_VERSION:D. Have to do the Creo 2 M160 or M170 now date code update and try :MDL.
All,
Just to clarify what exactly is happening.
When creating a new drawing with Windchill parameters if the parameter does not exist the parameter is change to text.
Example &PTC_WM_VERSION:D becomes PTC_WM_VERSION plain text.
options.
Ref SPR 4995703. M050 may fix this issue
An enhancement was made in Creo 2 M160 (well, M150, but there was a bug in the implementation fixed in M160) and Creo 3 M040 relative to this: where you can use ':D' to indicate the drawing, and ':#' to indicate a solid model by runtime id, you can now use ':MDL' to indicate the current solid model of the drawing. You can also put such a note in a template drawing, and it will wait until there is a solid to resolve against. Once the solid is identified, it will be a parametric callout using that model, using the ':#' syntax.
Can anyone confirm?
Have they fix the issue with parameters changing to text?
Example &PTC_WM_VERSION:D becomes PTC_WM_VERSION plain text.