cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can change your system assigned username to something more personal in your community settings. X

Import Parameters

BenLoosli
23-Emerald II

Import Parameters

When I use the Import Parameters from an XML file. I have noticed 3 things.

1) If the parameter has a restricted parameter list associated with it, it will not import.

2) If the parameters are designated, when imported they have to be manually designated.

3) An imported parameter that already exists in the file will have its assigned value erased after the import.

 

I am on Creo 4 m080

 

Has anyone had an experience with overcoming these limitations?

We hired a couple of new designers and they created hundreds of parts using the piping and framework modules and these did not use our default start part so parameters we want in Windchill are now missing from their files. We are hoping an import will pf the parameters will allow us an easy method of correcting the files.

 

1 ACCEPTED SOLUTION

Accepted Solutions
TomU
23-Emerald IV
(To:BenLoosli)

@BenLoosli,

If you record a mapkey using the old parameter ui (hidden config), it can create any missing parameters, set their values, and designate them.  A mapkey built with this old interface will not overwrite any existing parameter values and won't stop running if some parameters already exist.  The ability to switch to this old parameter ui is going away in the near future, so I've been pushing on PTC to provide some way to continue this process with the new parameter UI.  No luck so far. (See CS322155)

 

Below is an example mapkey.  This will create a bunch of parameters, set their values (in this case blank), and designate them.  Run it on a test part to see what it's doing.  Let me know if you need a further explanation of anything.

 

mapkey tucp @MAPKEY_NAMECreate Parameters;@MAPKEY_LABELCreate Parameters;\
mapkey(continued) ~ Command `ProCmdRibbonOptionsDlg` ;\
mapkey(continued) ~ Select `ribbon_options_dialog` `PageSwitcherPageList` 1 `ConfigLayout`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `ConfigLayout.AddOpt`;\
mapkey(continued) ~ Input `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Update `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Input `add_opt` `EditPanel` `no`;~ Update `add_opt` `EditPanel` `no`;\
mapkey(continued) ~ Activate `add_opt` `AddOpt`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `OkPshBtn`;\
mapkey(continued) ~ Activate `UITools Msg Dialog Future` `no`;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#PART;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#ASSEMBLY;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#DRAWING;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) #DONE/RETURN;#DONE/RETURN; ~ Command `ProCmdRibbonOptionsDlg` ;\
mapkey(continued) ~ Select `ribbon_options_dialog` `PageSwitcherPageList` 1 `ConfigLayout`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `ConfigLayout.AddOpt`;\
mapkey(continued) ~ Input `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Update `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Input `add_opt` `EditPanel` `yes`;~ Update `add_opt` `EditPanel` `yes`;\
mapkey(continued) ~ Activate `add_opt` `AddOpt`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `OkPshBtn`;\
mapkey(continued) ~ Activate `UITools Msg Dialog Future` `no`;

 

View solution in original post

19 REPLIES 19

Model Check?  But it sounds like you want a bit more user-level control.

 

Or - CREOSON... (FREE if you want to code a bit)

 

Nitro-BOM does most of what you want it sounds like (commercial option).  Here are some video links:

 

Nitro-BOM is probably the most user friendly approach - and you can learn it in under 30-min.   It is sold on an Annual Subscription for a Globally Floating License... So you can easily share with multiple users.

 

Dave

 

 

Dave,

I have downloaded CreoSon but do not have time to experiment with it at this time.

Are there any tutorials on how to program with CreoSon?

 

Ben

The Help Doc included in it is pretty awesome... The real question is what language do you want to use.

 

CREOPYSON is VERY POPULAR for this... It is Python based.  I would recommend looking at that if you are a Python person.

 

If you want another language - there is JavaScript library in the distribution also - so if you want to develop in the browser, you can use that - or Node.js ... 

 

Alternatively - you can pick any modern programming / scripting language and as long as you can do HTTP POST requests you will be able to figure it out.

 

Since CREOSON is a JSON Transaction based approach... you are just passing structured text to CREOSON's server to execute in Creo.

 

The FUNCTIONS are a good place for examples.  They are on-line -- same in the doc.

 

Dave

 

 

 

 

Here is some CREOSON (OpenSource Creo Automation) code using the JavaScript Library included in the latest distribution.

 

You can launch CREOSON, open the Help Doc and go to the Playground.  After you get there - request a sessionId -- and replace the code an editor with this:

 

function massCreateParams(itemName) {

    let paramObj = new creo.ParameterObj()
    paramObj.designate = true;     // force designation true
    paramObj.file = "*";           // hit any files in session
    paramObj.name = itemName;      // name of parameter to create/set/clear
    
    return paramObj.set();

}

let creosonUtilObj = new creo.CreosonUtils();
let namesArr = ["CATEGORY","COATING","CUSTOMER_NAME","CUSTOMER_NUMBER","CUSTOMER_REVISION","DATE_CREATED","DESCRIPTION","DESIGNER_NAME","MACHINE_LETTER","MATERIAL_NAME","MATERIAL_SIZE","MFG_NAME","MFG_NUMBER","STATION","SUB_CATEGORY"];


    creosonUtilObj.loopItems(namesArr, massCreateParams)
        .then(function () {
            alert("Finished Batching!");
        })
        .catch((err) => {
            alert('ERROR: '+err);
        });

 

You only need to make sure list of parameter names you want to create is in the namesArr as in the above example.  And every model in session will get each parameter name added as an empty value.  (so be careful) 🙂

 

When finished an Alert will tell you it is done.

 

Have Fun!

 

Dave

 


@DavidBigelow wrote:

Here is some CREOSON (OpenSource Creo Automation) code using the JavaScript Library included in the latest distribution.

 

You can launch CREOSON, open the Help Doc and go to the Playground.  After you get there - request a sessionId -- and replace the code an editor with this:

 

function massCreateParams(itemName) {

    let paramObj = new creo.ParameterObj()
    paramObj.designate = true;     // force designation true
    paramObj.file = "*";           // hit any files in session
    paramObj.name = itemName;      // name of parameter to create/set/clear
    
    return paramObj.set();

}

let creosonUtilObj = new creo.CreosonUtils();
let namesArr = ["CATEGORY","COATING","CUSTOMER_NAME","CUSTOMER_NUMBER","CUSTOMER_REVISION","DATE_CREATED","DESCRIPTION","DESIGNER_NAME","MACHINE_LETTER","MATERIAL_NAME","MATERIAL_SIZE","MFG_NAME","MFG_NUMBER","STATION","SUB_CATEGORY"];


    creosonUtilObj.loopItems(namesArr, massCreateParams)
        .then(function () {
            alert("Finished Batching!");
        })
        .catch((err) => {
            alert('ERROR: '+err);
        });

 

You only need to make sure list of parameter names you want to create is in the namesArr as in the above example.  And every model in session will get each parameter name added as an empty value.  (so be careful) 🙂

 

When finished an Alert will tell you it is done.

 

Have Fun!

 

Dave

 


Hi,

is there some CREOSON function which is able to set parameter value ?


Martin Hanák

Sure - if you look at CREOSON Functions  -- and search for parameter : set you will find all the options (and a few examples). 

 

Note ... wildcards are allowed for filename and parameter name... which is why the example is so clean vs opening every model and running a mapkey to update it.   50-models + 50 mapkeys ... easily 20-30 min of work to manually do vs just a few seconds with CREOSON.

 

Here an updated version of the function that allows for values to be set... note it expects itemName and itemValue as inputs to the function.

function massCreateParams(itemObj) {

    let paramObj = new creo.ParameterObj()
    paramObj.designate = true;     // force designation true
    paramObj.file = "*";           // hit any files in session
    paramObj.name = itemObj.name;      // name of parameter to create/set/clear

    paramObj.value = itemObj.value;    // <------- value to set
    
    return paramObj.set();

}

There are many ways to set values - since we used an array of names to generate, we can change that to an array of parameter names and values and pass that in like so:

 

let namesArr = [
{name : "CATEGORY", value : "IN-HOUSE"},
{name : "COATING", value : "TBD"},
{name : "CUSTOMER_NAME", value : "ABC CO."},
...];

 

The code will now create default values per parameter name in the object array vs just empty designated parameters in the previous post's example.

 

Hope that makes sense

 

Dave

TomU
23-Emerald IV
(To:BenLoosli)

@BenLoosli,

If you record a mapkey using the old parameter ui (hidden config), it can create any missing parameters, set their values, and designate them.  A mapkey built with this old interface will not overwrite any existing parameter values and won't stop running if some parameters already exist.  The ability to switch to this old parameter ui is going away in the near future, so I've been pushing on PTC to provide some way to continue this process with the new parameter UI.  No luck so far. (See CS322155)

 

Below is an example mapkey.  This will create a bunch of parameters, set their values (in this case blank), and designate them.  Run it on a test part to see what it's doing.  Let me know if you need a further explanation of anything.

 

mapkey tucp @MAPKEY_NAMECreate Parameters;@MAPKEY_LABELCreate Parameters;\
mapkey(continued) ~ Command `ProCmdRibbonOptionsDlg` ;\
mapkey(continued) ~ Select `ribbon_options_dialog` `PageSwitcherPageList` 1 `ConfigLayout`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `ConfigLayout.AddOpt`;\
mapkey(continued) ~ Input `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Update `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Input `add_opt` `EditPanel` `no`;~ Update `add_opt` `EditPanel` `no`;\
mapkey(continued) ~ Activate `add_opt` `AddOpt`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `OkPshBtn`;\
mapkey(continued) ~ Activate `UITools Msg Dialog Future` `no`;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#PART;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#ASSEMBLY;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) ~ Command `ProCmdMmParams`;~ Command `ProCmdDwgParameters` ;#DRAWING;\
mapkey(continued) #CREATE;#STRING;CATEGORY;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;COATING;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;CUSTOMER_REVISION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DATE_CREATED;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESCRIPTION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;DESIGNER_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MACHINE_LETTER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MATERIAL_SIZE;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NAME;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;MFG_NUMBER;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;STATION;<EMPTY_STR>;\
mapkey(continued) #CREATE;#STRING;SUB_CATEGORY;<EMPTY_STR>;\
mapkey(continued) #DESIGNATE;#PARAMETERS;#CATEGORY;#COATING;#CUSTOMER_NAME;#CUSTOMER_NUMBER;\
mapkey(continued) #CUSTOMER_REVISION;#DATE_CREATED;#DESCRIPTION;#DESIGNER_NAME;\
mapkey(continued) #DOC_CNTL_STATUS;#EXPORT_DATA;#MACHINE_LETTER;#MATERIAL_NAME;\
mapkey(continued) #MATERIAL_SIZE;#MFG_NAME;#MFG_NUMBER;#STATION;#SUB_CATEGORY;#DONE SEL;\
mapkey(continued) #DONE/RETURN;#DONE/RETURN; ~ Command `ProCmdRibbonOptionsDlg` ;\
mapkey(continued) ~ Select `ribbon_options_dialog` `PageSwitcherPageList` 1 `ConfigLayout`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `ConfigLayout.AddOpt`;\
mapkey(continued) ~ Input `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Update `add_opt` `InputOpt` `new_parameter_ui`;\
mapkey(continued) ~ Input `add_opt` `EditPanel` `yes`;~ Update `add_opt` `EditPanel` `yes`;\
mapkey(continued) ~ Activate `add_opt` `AddOpt`;\
mapkey(continued) ~ Activate `ribbon_options_dialog` `OkPshBtn`;\
mapkey(continued) ~ Activate `UITools Msg Dialog Future` `no`;

 

BenLoosli
23-Emerald II
(To:TomU)

Tom,

 

Thank you, that works exactly like we need. I just changed the parameters to the 7 we need in each section and it works perfectly. Storing this in a separate file for another day, if needed.

 

Ben

BenLoosli
23-Emerald II
(To:TomU)

Tom,

I am trying to add populated parameters and it is not working.

For example:

mapkey(continued) #CREATE;#STRING;CAGECODE;34234;\

Is there some formatting for the string when added by a mapkey that is needed. I did try:

mapkey(continued) #CREATE;#STRING;CAGECODE;'34234';\

and it did not update, either.

 

TomU
23-Emerald IV
(To:BenLoosli)

The first syntax looks correct.  I just manually changed the config option and then recorded this mapkey.  Deleting the parameter and rerunning the mapkey does create the parameter with the correct value.

mapkey param_test @MAPKEY_LABELparam_test;~ Command `ProCmdMmParams` ;\
mapkey(continued) #CREATE;#STRING;CAGECODE;34234;#DONE/RETURN;#DONE/RETURN;

 

DavidBigelow
17-Peridot
(To:TomU)

Kind of amazed that that original mapkey # syntax still works....


@DavidBigelow wrote:

Kind of amazed that that original mapkey # syntax still works....


Hi,

old mapkey syntax works because new_parameter_ui no (config.pro) forces Creo to use old user interface for parameter manipulation.


Martin Hanák
TomU
23-Emerald IV
(To:MartinHanak)

@DavidBigelow and @MartinHanak,

 

Don't forget, the ability to use this old interface is going away soon.  This is why I desperately want the new UI to to support the same functionality the old one offers (when controlled via a mapkey).

MartinHanak
24-Ruby II
(To:TomU)


@TomU wrote:

@DavidBigelow and @MartinHanak,

 

Don't forget, the ability to use this old interface is going away soon.  This is why I desperately want the new UI to to support the same functionality the old one offers (when controlled via a mapkey).


Hi,

I hope that new_parameter_ui no (config.pro) will be available in Creo 7.0, too.

See https://www.ptc.com/en/support/article/CS260154 article.


Martin Hanák

Hi

I had a similar issue in Creo 7. We did an upgrade to our document and it also required many new parameters in drawings. New drawings run without any problems but when old drawings need new revision the drawing parameters need to be updated.

It is solved in a mapkey first importing parameter file and the mapkey continues to add the checkmarks in the designated fields. It is running very fine - until one of the parameters, in a few of the drawings, is created and designated.

So if some of you had a good idea to get around this, plaese let mee know.

This is why Mapkeys are good for quick-and-dirty one-direction actions that require NO LOGIC to deal with state changes.

 

in this situation... the Mapkey was more of a hack to the problem than an actual solution.


This is why CREOSON.... should be looked at...  it is FREE and gives you the control you are looking to accomplish more generically ... vs recording, pruning and building a mapkey manually or with another script/program that can not provide any flow control.

 

With CREOSON ... you can actually put Logic into your automation ... check state and make decisions as a result.

 

I would go back and check the previous post on CREOSON to review or visit the web site to learn a bit more.

 

dave

Patriot_1776
22-Sapphire II
(To:BenLoosli)

Hey Ben!

The easy answer is.....hire some new Designers?  LOL

You can actually copy parameters from one part to another.  We have a TON of parameters here, it's actually absurd.  And it's tricky, but you can copy User Defined parameters to another part.  I've had a ton of trouble remoting in to work today, I'll try and post up tomorrow about it...if I can.

Hi Frank,

 

I had no say in the contractors being hired and they were left alone to work as the 1 senior person we had left at the end of last year, before the second contractor was hired. I was busy setting up Windchill systems so no babysitting from me! 

 

Anyway, Tom's mapkey has resolved 90%  of our issues with older parts. The final 10% is getting the Creo users to update their part files with the proper parameter values. 

Patriot_1776
22-Sapphire II
(To:BenLoosli)

'Morning Ben!  Yeah, I hear ya.  We hired an Engineer (permanent) recently.  Sharp kid, but I didn't really get a chance to show him how to use Windchill before we started working from home.  Now he's trying to check things in and I'm trying to explain how we do things (attach STEP and PDF files, etc.) via e-mail.  It's good practice for my potential new position that I applied for here.  I'd be helping set policy for the Lab and be part of the Creo/Windchill "help desk".

 

Anyways, I'll try and post up how I was able to copy the parameters.  It's a mite tricky and the steps have to be followed exactly, but it works.  Good thing because I think I have to do it to a bunch of parts now...  *facepalm*  Glad Tom was able to help ya!

Top Tags