Issue: not able to record a mapkey to edit linear_tol_0_0 or other similar parameters in existing parts/asm/drws.
Scope: updating legacy parts, updating parts designer used a save copy as to create new similar part from old. Changing the parameters anytime for different customers or same customer wanting the defaults changed. MBD and/or DRW. Mapkey solution able to be distributed to multiple users and function.
Current limited method of manual edit: with tol_display on some of the items are in the lower right corner of the graphics window. Have to set selection filter to annotations. Then double click on item. Enter new value to. Enter. Repeat for the few listed.
Current method to update all manual method:
Add a note and input the parameters:
&linear_tol_0_
&linear_tol_0_0
...
&linear_tol_0_000000
&angular_tol_0_
&angular_tol_0_0
...
&angular_tol_0_000000
With the note made now double click on each to bring up the edit value dialog. Input new value, enter, repeat for all 14. Then select the note and delete it.
None of the manual methods seem to give usable mapkey recording methods. Looking for alternate method of accessing these seemingly special parameters so I can Mapkey the edits. Below are the trail file outputs with cmdmgr_trail_output toggled.
The workaround I do not want to do is abandoned all these built in parameters that are supposed to do the job and make similarly named params in every model to use. Then I would have to find and update every note that has the system parameter in it. Update all Plus the defaults in Creo that are also save in the model and can be displayed on screen will be wrong.
Can make params of the same name in the parts, what! Wow.
Another bad thing is users can add parameters of the same name in the model. Those user added clones work within parameters and relations but not outside of that. When using in a note (&linear...) the system parameter is shown not the user created one.
Additional note: How to display the set tol for dimension with zero decimal places
Additional note there is an old locked thread asking how to display the linear tol for no decimal places shown on a dimension. There is a way to set that in the config which is known with alternate input method in config.pro.
Regular config.pro starts at one decimal place
linear_tol_0.0 0.25
Optional input method of the same setting
linear_tol 1 0.25 2
Optional input for zero decimal places
linear_tol 0 0.5 1
The way to display that in a note/title block or other location is "&linear_tol_0_"
Issue: not able to record a mapkey to edit linear_tol_0_0 or other similar parameters in existing parts/asm/drws.
Scope: updating legacy parts, updating parts designer used a save copy as to create new similar part from old. Changing the parameters anytime for different customers or same customer wanting the defaults changed. MBD and/or DRW
Current limited method of manual edit: with tol_display on some of the items are in the lower right corner of the graphics window. Have to set selection filter to annotations. Then double click on item. Enter new value to. Enter. Repeat for the few listed.
Current method to update all manual method:
Add a note and input the parameters:
&linear_tol_0_
&linear_tol_0_0
...
&linear_tol_0_000000
&angular_tol_0_
&angular_tol_0_0
...
&angular_tol_0_000000
With the note made now double click on each to bring up the edit value dialog. Input new value, enter, repeat for all 14. Then select the note and delete it.
None of the manual methods seem to give usable mapkey recording methods. Looking for alternate method of accessing these seemingly special parameters so I can Mapkey the edits. Below are the trail file outputs with cmdmgr_trail_output toggled.
The workaround I do not want to do is abandoned all these built in parameters that are supposed to do the job and make similarly named params in every model to use. Then I would have to find and update every note that has the system parameter in it. Update all Plus the defaults in Creo that are also save in the model and can be displayed on screen will be wrong.
Can make params of the same name in the parts, what! Wow.
Another bad thing is users can add parameters of the same name in the model. Those user added clones work within parameters and relations but not outside of that. When using in a note (&linear...) the system parameter is shown not the user created one.
Additional note: How to display the set tol for dimension with zero decimal places
Additional note there is an old locked thread asking how to display the linear tol for no decimal places shown on a dimension. There is a way to set that in the config which is known with alternate input method in config.pro.
Regular config.pro starts at one decimal place
linear_tol_0.0 0.25
Optional input method of the same setting
linear_tol 1 0.25 2
Optional input for zero decimal places
linear_tol 0 0.5 1
The way to display that in a note/title block or other location is "&linear_tol_0_"
Hi,
I am not sure whether you can create mapkey with requested functionality.
On the other side I think you can get requested functionality using AutoIt.
AutoIt script can replicate actions that you now perform interactively.
When using AutoIt you need some programming knowledge.
The question is whether you are allowed to use AutoIt.
Certainly not an easy way to do this but I am pretty sure you can do this with a combination mapkey and trail file. The below was done in Creo 7. You could record / edit a trail file for each one and then have a mapkey run the trail files.
Note: Trail files are notoriously finicky and often lead to Creo crashing so test test test. I have also seen cases where it is possible to lift commands out of trail files and put them into mapkeys and successfully make then run so you could try that although that may not be possible in this case.
Certainly not an easy way to do this but I am pretty sure you can do this with a combination mapkey and trail file. The below was done in Creo 7. You could record / edit a trail file for each one and then have a mapkey run the trail files.
Note: Trail files are notoriously finicky and often lead to Creo crashing so test test test. I have also seen cases where it is possible to lift commands out of trail files and put them into mapkeys and successfully make then run so you could try that although that may not be possible in this case.
That's true I missed that the request was for all of the variables.
I haven't tried this but you may be able to use the same method on a drawing. Import a text file to the drawing with the variable names located at 0,0 and then change them. The trail file will record the mouse positions so it may be possible to do it that way. That gets a bit tricker though.
Thank you for the replies so far. I may have to attempt a trail file + mapkey. I do not have my hopes up for that because the mapkey is to be made available to multiple users.
Does anyone know a different method of accessing these parameters inside of CREO in an existing part?
1) changing these linear_tol_0_0 config.pro settings will not do anything to the model. It does not alter the tolerances of its existing dimensions.
2) have you looked into using linear_tol setting instead? (I think same issue as #1)
3) Maybe Modelcheck can help you in bringing in your legacy models to current standards.
4) It seems you need something more than hacking with mapkeys and what you get out-of-the-box with Creo. I'd look at 3rd party add-ons such as NitroCell or Creo|SON
5) not helpful but can't resist - maybe this is the chance to convince your company to switch to ISO standard for tolerancing 🙂
I was getting to testing trail files today. Got one making a note changing all settings, then deleting the note. Was about to start testing on other machines and then I realized I needed two decimal places for X.X ± 0.25. The default and many models are only set to have one decimal place for X.X. I can see no way to change the number of decimal places in an existing file. Have to have that in the initial file inherited from the config.pro
EX :
linear_tol 1 0.25 2 gives X.X±0.25
I will have to learn some basics for model check setup to begin to see if model check can correct this. May look into learning some Pro Program. Maybe that can do it.
ModelCheck and Pro/Program, Toolkit, etc can only do what you can do with mouse clicks. If you can't make it happen with your mouse clicks there is nothing that these additional tools can do for you.
The marked solution was not by me. It is not a solution to install 3rd party software. and it does not complete the task of editing visible decimal places.
There is no solution is the solution. Feature request submitted to add linear tol settings to prt files detailing options.
I can edit the values of linear_tol_0_... with trail file run but I cannot edit the number of visible decimal places in an existing model. There is no way within standard CREO that is well known. A programmer maybe could write an addon that made the settings editable.
I totally agree that PTC needs to fix a number of items related to the CAD model's tolerance specification. It seems to me that the whole process was originally based on the rigid philosophy that the tolerance standard has to be defined prior to starting the design.
The software really should be revamped to make it easy to update an existing CAD model to new tolerance specification.
As was described in this thread, after the model is constructed, changing its ANSI tolerance standard can be done by weird process of modifying the special linear_tol_0... parameters. But to do so, one first has to make a note that calls out the display of those parameter values. I document this in the attached video in which I also want to showcase how the tolerances on individual dimensions can be over-ridden or made unintentionally different from those in the tolerance block. The video also shows how to "trick" the system into updating the tolerances of all nominal dimensions to be aligned with the values displayed in the tolerance block, thus making the CAD model consistent with the drawing. Maybe this work-around is no longer necessary in later versions of Creo? Or maybe something in my system makes it necessary; there are numerous settings that affect how tolerances are controlled in Creo and I'm not familiar with all of them.
Moreover, for the case of modifying the schemes where there are different number of digits in the tolerance value vs. in the displayed dimension value, there is no solution - unbelievably, one is forced to recreate the model and its drawing. I thought one could do something like switch to ISO standard and then go back to ANSI standard and the new config.pro settings for the linear_tol and angular_tol parameters would be applied.... But alas, that's not the case. It seems that the Creo model "remembers" the settings for the ANSI tolerance standard even when it is switched to ISO standard and it then re-applies them when it's switched back to ANSI mode.
And speaking of ISO tolerancing method, it would be great if PTC made the tolerance_class setting into a special parameter that acts the same way as those linear_tol_0_... parameters. That way, the tolerance class can be displayed on the drawing or in the MBD by a parametric note. Right now, it's very easy to make the ISO models inconsistent with the drawing because the model class is indicated on the drawing's title block with a dumb static string...
I know a lot more about the about those quirks from your post now. Thank you for that!
I tried do using "purge_history_on_save_copy" after switching to ISO. But it did not work. I opened the new file and switch to ASME and same old linear tols from the old part.
I tried "model > get data > copy from" in a new empty part but that copies everything in including the old linear tols.
I tried feature copy by selecting all the features in the tree and copy pasting that into a new empty file which I do not think is viable, but has some functionality. After redefining every feature I have one part updated. Mind you this part had no relations driving dimensions. Would have to fiddle more to see how smooth copying those in is. I have not used copy feature like this before so I might not know the trick to getting the process setup before hand to have it be a simple copy paste without and reference definition.
model > getdata > copy from is the only way I have found that moves the linear tol settings from one file to another. Not that useful in this instance.
Sliding the foundation out from under a model and forcing a new one in is obviously a challenge. It is more than needs to be done. I have a toolbox full of hammers though.