Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
Hi,all guys:
I have a question about the family table regeneration issue.
I have a task to create a bent which contains panels and columns(see picture 1#), the variation parameter of this bent is the height .In height 1 and 2, there should be 2 panels(girt_plate &girt_plate_1) ,and 3 panels( girt_plate & girt_plate_1&girt_plate_parametric) for height 3 and 4.
That means we need girt_plate_parametric to be disappeared in height1 and 2 and shown in height3 and 4, so I made a family table , see below screen shot.
After I save this model then re-open , then choose new instance, double-bay-bent_D25_FHR3, the model just cannot regenerate. You may see that the columns don’t change when the height changes. The columns’ length do have relation with height.
But when I firstly open the generic model then change the parameter, the model will regenerate, then I go to family table and open the double-bay-bent_D25_FHR3, it is the right bent I want.
The problem is this bent should be install to a high level assembly, so when I insert the bent and choose the right one , this one should be the one I want with all component at right size.
I am so appreciate anyone who could help on this.
Solved! Go to Solution.
Yes, I see:
This code was not intended for Relations, but for Pro/PROGRAM
(in fact relations are a subcomponent of the program, but not the part where components are added)
You will find it under Tools > Model Intent > Program and then use Edit Program in an old Menu Manager Menu:
Here is a functional example I created a couple of years ago - I just removed a couple of parts and assemblies inserted at the end.
The input section prompts the user for input of a boolean parameter when regenerating the assembly, the relations section is what you see with Relations and the ADD sections reflect the features/components of type PART, SUBASSEMBLY and FEATURE. This is where you can skip features using the IF-conditions.
The MASSPROP section at the end was the only way in the past to make Pro/ENGINEER calculate mass properties. It is still functional, but by now concurrent methods exist, that are easier.
I will also update the existing article CS35523 (How to suppress components in assembly mode using Program in Pro/ENGINEER Wildfire 5.0) in the PTC Knowledge Database with this information.
VERSION 2.0
REVNUM 143
LISTING FOR ASSEMBLY PROGRAM
INPUT
MIT_ACHSE YES_NO
"should the subassembly achse.asm be implemented?"
END INPUT
RELATIONS
d0:2 = d4:0
D1:1=d1:8
D0:1=d0:8
d5:2=d3:0
END RELATIONS
ADD PART PLATTE
INTERNAL COMPONENT ID 1
END ADD
IF (MIT_ACHSE == YES)
ADD SUBASSEMBLY ACHSE
INTERNAL COMPONENT ID 2
PARENTS = 1(#1)
END ADD
EXECUTE ASSEMBLY ACHSE
END EXECUTE
END IF
<... here I removed the other components that appear the same way as the PART PLATTE and SUBASSEMBLY ACHSE>
MASSPROP
END MASSPROP
Have you tried with Pro/PROGRAM in the assembly?
IF (FILL_ST... > 85)
ADD PART XYZ
INTERNAL COMPONENT ID ###
END ADD
END IF
Thanks so much Koch, but when I input that code in the program, it turns out to be an error, please see the screenshot.
looking forward to your further supporting!
Yes, I see:
This code was not intended for Relations, but for Pro/PROGRAM
(in fact relations are a subcomponent of the program, but not the part where components are added)
You will find it under Tools > Model Intent > Program and then use Edit Program in an old Menu Manager Menu:
Here is a functional example I created a couple of years ago - I just removed a couple of parts and assemblies inserted at the end.
The input section prompts the user for input of a boolean parameter when regenerating the assembly, the relations section is what you see with Relations and the ADD sections reflect the features/components of type PART, SUBASSEMBLY and FEATURE. This is where you can skip features using the IF-conditions.
The MASSPROP section at the end was the only way in the past to make Pro/ENGINEER calculate mass properties. It is still functional, but by now concurrent methods exist, that are easier.
I will also update the existing article CS35523 (How to suppress components in assembly mode using Program in Pro/ENGINEER Wildfire 5.0) in the PTC Knowledge Database with this information.
VERSION 2.0
REVNUM 143
LISTING FOR ASSEMBLY PROGRAM
INPUT
MIT_ACHSE YES_NO
"should the subassembly achse.asm be implemented?"
END INPUT
RELATIONS
d0:2 = d4:0
D1:1=d1:8
D0:1=d0:8
d5:2=d3:0
END RELATIONS
ADD PART PLATTE
INTERNAL COMPONENT ID 1
END ADD
IF (MIT_ACHSE == YES)
ADD SUBASSEMBLY ACHSE
INTERNAL COMPONENT ID 2
PARENTS = 1(#1)
END ADD
EXECUTE ASSEMBLY ACHSE
END EXECUTE
END IF
<... here I removed the other components that appear the same way as the PART PLATTE and SUBASSEMBLY ACHSE>
MASSPROP
END MASSPROP
Thanks, Koch, I think finally I get an approach to solve this problem.
I and my team thank you for your great support!