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

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

A simple trick to avoid huge delay with Simp Rep rule evaluation

dcokin
14-Alexandrite

A simple trick to avoid huge delay with Simp Rep rule evaluation

In brief:

If you want the rule to apply to all levels and not just the current subassembly, do not check the "Include submodels" box when you initially create the search condition.  Close the rule editor dialog box, and then "redefine" to edit it, and then check that box.

 

On a large assembly, this can make a huge difference in how long it takes to bring up the resulting Simp Rep each time.  Compare the results I got with my demo assembly:

Creo Parametric 2.0 M240

with workaround: 13 seconds

without workaround:  6 minutes

 

Creo Parametric 4.0 M030

with workaround:  14 seconds

without workaround: 28 seconds

 

In depth:

Oh boy, was this tricky to figure out!

 

I have a complicated top assembly model that we've been working on for years.  It has a "No_Standard_Hardware" Sim Rep, that automatically removes fasteners and other small components.  This was set up using the "Model Rules" feature in Simp Reps.  There is a "Rule Action" to exclude items which match a search query "condition".  This query looks for Solid Models which match anything on a long list of names.  (Which we have saved as a query file, to allow reuse throughout our origination.)  The "Include submodels" option is checked, so it will scan for these components at all levels, not just the current assembly.

 

Our standard config.pro includes "auto_evaluate_simprep_rules yes", so it checks these rules (scanning the entire model tree), every time you invoke the Simp Rep.

 

Despite how large the assembly is, and how many filenames it has to check against, switching to this Simp Rep has always been very quick.  As in, a few seconds.  If I replace the search list by importing a new query file, it still updates quickly.  If the lower level models have changed to include more of these items, it still updates quickly.  If I create another Simp Rep in the same model that includes the same search condition, that Simp Rep would also update quickly.

 

So... damń, was it confusing when I was trying to create an identical Simp Rep in another model, and it was taking minutes every time I would switch to it!  I was searching for hidden settings everywhere, wondering if a change we had made to our start part templates might have been somehow to blame, etc...

5 REPLIES 5
Chris3
21-Topaz I
(To:dcokin)

So just to be clear if auto_evaluate_simprep_rules was left to the default of "no" then you wouldn't have had this issue. Is that correct?

 

Can you share what a "large" assembly is for your company? How many components?

dcokin
14-Alexandrite
(To:dcokin)


@Chris3@ wrote
So just to be clear if auto_evaluate_simprep_rules was left to the default of "no" then you wouldn't have had this issue. Is that correct?

If "auto_evaluate_simprep_rules" was set to "no", then there would not be a delay when you switch to a rep that has defined rules.  But the rules would only be evaluated when the user specifically asks, so not as useful in a fast changing environment.  (Also note, if "include submodels" was left unchecked, there wouldn't be much of a delay either, as it wouldn't have to scan through the whole model tree to perform the rule evaluation.)

 

Weirdly, that button to manually evaluate the rules shows up in at least 4 different places.  Our config.pro includes "open_simplified_rep_by_default default", so when we open an assembly we initially see the default rep without the user being prompted.  Without that, an "Open Rep" dialog would come up whenever you open an assembly, and it has an "Evaluate Rules" checkbox at the bottom.  (The "auto_evaluate_simprep_rules" setting controls whether that box is checked by default or not.)  There is also an "Evaluate" button in the dialog where you define rule actions, an "Evaluate Rules" option in the "Model Rules" pull down menu of the Simp Rep editor, and a "Evaluate Model Rules" option in the "Edit" pull down menu of the View Manager dialog.

 

Can you share what a "large" assembly is for your company? How many components?


The "large demo assembly" I was using has about 400 part numbers in it; about 4,000 instances.  (Top assembly for a small satellite's bus; about the size of a refrigerator.)  I have done Simp Rep rule evaluation on truly massive model before (satellite about the size of school bus; 8,000 parts numbers, no idea how many instances), which I describe in detail in this post.  This was a less complicated rule to evaluate though, just checking if a parameter was set to "yes" or "no", not comparing against a long list of part numbers.  Didn't take all that long to evaluate either, although I still haven't figured out why it takes longer in some cases.  (4 minutes after first launching Creo, 10 seconds after closing the model, clearing memory, and reopening.  I've never understood how a fresh session is different than one where the memory has been cleared.)

dcokin
14-Alexandrite
(To:dcokin)

UPDATE:  I just installed the newly released Creo Parametric 5.0.0.0, and repeated the same test.  I got 14 seconds with the workaround, and 29 without, so pretty much identical to Creo 4 results.

gbronke
10-Marble
(To:dcokin)

I was just curious have you run into the issue where you hit evaluate rules and it does not work in certain instances,  In order for it to acutally work I have to edit the condition then hit ok.  Not sure why that is.

dcokin
14-Alexandrite
(To:gbronke)

Sorry, no; I haven't run into that one myself.  Good luck!

Announcements
NEW Creo+ Topics: PTC Control Center and Creo+ Portal


Top Tags