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

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

Suppress a pattern via Pro/Program

rmcboaty
7-Bedrock

Suppress a pattern via Pro/Program

Hello.

i have a pattern of simple holes that are defined as a dimension pattern, where the number of instances is defined by a Parameter.

on top of that holes (after them in the tree) i have a reference-based pattern of cosmetic threads (nr. of instances is the same as nr. of holes).

i would like to suppress/ unsuppress the entire cosm. thread pattern based on a condition (parameter) based on the pro-program (or something else, like relations, if that's available).

i've tried adding "SUPPRESSED" to the add feature <pattern>, but that only suppressed the top pattern (all the threads still remained unsuppressed after rebuild).

i've also tried to add "SUPPRESSED" to the first instance of the cosmetic thread definition, but that only produced a long error screen that the parent feat is suppressed).

any ideas how could i do that? the problem is that # of instances is often changed, so i can't simple add an if to every instance of it.

here is the definition of the pattern and first thread

ADD FEATURE (initial number 88)

INTERNAL FEATURE ID 27018

PARENTS = 13890(#55)

NO. ELEMENT NAME INFO STATUS

--- ------------ ----------- ------

1 Type Reference Defined

LEADER OF A (32 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

ADD FEATURE (initial number 89)

INTERNAL FEATURE ID 26335

PARENTS = 200(#8) 13796(#56)

COSMETIC: Thread

NO. ELEMENT NAME INFO STATUS

--- ------------ ----------- ------

1 Thread Surf Defined

2 Start Surf Defined

3 Direction Defined

4 Depth Blind, depth = 20 Defined

5 Major Diam Value = 13.5000 Defined

6 Note Params Defined

MEMBER (1, 1) IN A (32 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

(other members of the pattern here)

etc.....

I would like to suppress or unsuppress an entire pattern only, not only specific instances.

if it's suppressed i would like it in the tree anyway (so that it doesn't dissappear).

any ideas?

this is wildfire 3, no idea which M version, but one of the latest.


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
1 ACCEPTED SOLUTION

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

it will work, but in gui if you right click on that (suppressed) pattern, the only option will be delete (no resume etc).

I would like to have it so that it is completely the same from the point of the user (i.e. resume, delete, rename)

With Pro/Program you can't have it both ways.  If a feature (or a group of features) is suppressed by Pro/Program, then the user cannot manually resume them (unless they change the value of the parameter driving the Pro/Program condition.)

If you want to be able to suppress or resume something programmatically but have no restriction on how the user interacts with it, you will need to use one of the other APIs (Toolkit, VB API, J-Link, Web-Link, etc.)  With these you are simply issue command - suppress this feature, resume this other feature, etc.

View solution in original post

5 REPLIES 5
TomU
23-Emerald IV
(To:rmcboaty)

Add an extra "garbage" feature after the pattern (extra datum plane, point, etc.), and then put your conditional IF statements around the entire pattern AND the extra feature.  New pattern elements will be inserted between the two, but because the END IF is below the extra feature it should capture them all.

i've found that if you make a new var with "true" or "false" as value (driven by relations) and encapsulate the entire pattern with

if var

add feat....

end if

it will work, but in gui if you right click on that (suppressed) pattern, the only option will be delete (no resume etc).

I would like to have it so that it is completely the same from the point of the user (i.e. resume, delete, rename)

what i am trying to accomplish is basically this (here only 1 feat in pattern to make it smaller in size)

IF VAR

ADD SUPPRESSED FEATURE (initial number 50)

INTERNAL FEATURE ID  27018

PARENTS = 13890(#48)

NO. ELEMENT NAME    INFO                                            STATUS

--- ------------ -----------                                        ------

  1  Type         Reference                                          Defined

LEADER OF A (1 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

ADD SUPPRESSED FEATURE (initial number 51)

INTERNAL FEATURE ID  26335

PARENTS = 200(#8) 13796(#49)

COSMETIC: Thread

NO. ELEMENT NAME    INFO                                            STATUS

--- ------------ -----------                                        ------

  1  Thread Surf                                                     Defined

  2  Start Surf                                                      Defined

  3  Direction                                                       Defined

  4  Depth        Blind, depth = 20                                  Defined

  5  Major Diam   Value = 13.5000                                    Defined

  6  Note Params                                                     Defined

MEMBER (1, 1) IN A (1 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

ELSE

ADD FEATURE (initial number 50)

INTERNAL FEATURE ID  27018

PARENTS = 13890(#48)

NO. ELEMENT NAME    INFO                                            STATUS

--- ------------ -----------                                        ------

  1  Type         Reference                                          Defined

LEADER OF A (1 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

!*** ERR: Feature with ID 27018 already exists in the model.

ADD FEATURE (initial number 51)

INTERNAL FEATURE ID  26335

PARENTS = 200(#8) 13796(#49)

COSMETIC: Thread

NO. ELEMENT NAME    INFO                                            STATUS

--- ------------ -----------                                        ------

  1  Thread Surf                                                     Defined

  2  Start Surf                                                      Defined

  3  Direction                                                       Defined

  4  Depth        Blind, depth = 20                                  Defined

  5  Major Diam   Value = 13.5000                                    Defined

  6  Note Params                                                     Defined

MEMBER (1, 1) IN A (1 X 1) REF GENERAL PATTERN

MAIN PATTERN DIMENSIONS:

d322 = 20 General_Dims

d323 = 13.5 General_DimsM

END ADD

!*** ERR: Feature with ID 26335 already exists in the model.

END IF

but it won't let me have 2 features with the same ID defined

if i try to manually change the ID of the feature i get:

!*** ERR: pattern member should have same condition as leader 27018

any ideas anyone?

nr of elements in a pattern is variable and is referenced from a pattern above it.

MARTIN HANAK do you perhaps know?

TomU
23-Emerald IV
(To:rmcboaty)

it will work, but in gui if you right click on that (suppressed) pattern, the only option will be delete (no resume etc).

I would like to have it so that it is completely the same from the point of the user (i.e. resume, delete, rename)

With Pro/Program you can't have it both ways.  If a feature (or a group of features) is suppressed by Pro/Program, then the user cannot manually resume them (unless they change the value of the parameter driving the Pro/Program condition.)

If you want to be able to suppress or resume something programmatically but have no restriction on how the user interacts with it, you will need to use one of the other APIs (Toolkit, VB API, J-Link, Web-Link, etc.)  With these you are simply issue command - suppress this feature, resume this other feature, etc.

rmcboaty
7-Bedrock
(To:TomU)

thanks, i realized that there is no other way yes. also too bad, that P/P only takes boolean values, thus i have to create additional parameters.

do you perhaps know if it's possible to use pro/program to hide the entire feature from the model tree unless it's activated (not suppressed) via params?

TomU
23-Emerald IV
(To:rmcboaty)

You don't have to use Boolean values, but the end result will necessarily have to be Boolean.  Keep in mind that you can evaluate multiple parameters at a time.  You can also nest the evaluation.  For example, all of the following are valid:

IF PARAM_A > 20 & PARAM_B <> 15

IF PARAM_C == 6 | PARAM_D == "Hi Mom" | PARAM_E == NO

IF PARAM_F >= 10

    IF PARAM_G <> "HI DAD"

        IF PARAM_H < 123.456

The only way I know to hide a suppressed feature from the tree is to change the tree configuration to not show suppressed objects.

Top Tags