Advanced Pattern Relations with 2 dimensions (not directions)
Advanced Pattern Relations with 2 dimensions (not directions)
(OP)
Hi everyone. I am new here, and I am hoping to tap into some of your expertice when it comes to advanced patterm relations. I will do my best to explain, but I feel this is a VERY intricate question.
Based off of this example: h ttp://www. ptc.com/cs /cs_26/how to/cpf869/ cpf869.htm
If I want to create a similar hole pattern, but instead of a simple "memb_1=idx1*3" relation, I want to do the following:
1. Make the hole diameters in the pattern get bigger, let's say 25% larger each hole. This would be a pattern dimension in the first direction.
2. Pattern the distance between the holes based off of the previous hole's diameter. Let's say the incremental distance equals 50% of the previous hole's diamter. This would also be a pattern dimension in the first direction.
So, for example, the first hole has an OD=1" @ X1,Y0; the next hole would be OD=1.25" @ X1.5,Y0; the next OD=1.5625" @ X2.125,Y0; etc...
How would you use the relations to control the distance of separation based on the previous hole's diamter?
Based off of this example: h
If I want to create a similar hole pattern, but instead of a simple "memb_1=idx1*3" relation, I want to do the following:
1. Make the hole diameters in the pattern get bigger, let's say 25% larger each hole. This would be a pattern dimension in the first direction.
2. Pattern the distance between the holes based off of the previous hole's diameter. Let's say the incremental distance equals 50% of the previous hole's diamter. This would also be a pattern dimension in the first direction.
So, for example, the first hole has an OD=1" @ X1,Y0; the next hole would be OD=1.25" @ X1.5,Y0; the next OD=1.5625" @ X2.125,Y0; etc...
How would you use the relations to control the distance of separation based on the previous hole's diamter?





RE: Advanced Pattern Relations with 2 dimensions (not directions)
This is a very intricate question and I'm always up for a challenge. Usually people start off with easy relation patterns but it's good to actually spend time learning the powerful patterns available with Pro/E.
Note I renamed the d# dimension parameter name for the original hole to DIA if you choose not to do so just change all occurrances of DIA to the original holes d# use info>switch dims while editing feature or use Feature Info to figure this out.
For your DIA or diameter dimension relation
/*
memb_v = DIA*(1.25)^(idx1)
Since idx1 starts at zero, and anything to the zero power will equal 1 the first holes Diameter will be as you enter it in Pro/E.
The 2nd hole will be 1.25*DIA
The 3rd hole will be 1.25*(1.25*DIA)etc.
For your X dimension relation
/*
if idx1==0
memb_i=0
else
memb_i=.50*DIA*(1.25)^(idx1-1)
endif
Since the increment for the first instance or hole is 0 I used an if else statement for this. The .5* and the (idx1-1) are used to make the 2nd holes x distance equal half the diameter of the first hole.
Hole4 OD=1.953125 @ X2.90625,Y0
The == operator is used to test if something is equal to
The = operator is used to actually set a value equal to an expresion
Hope you can use this help to develop some useful patterns or learn a little more about them Pro/E.
Michael
RE: Advanced Pattern Relations with 2 dimensions (not directions)
Thanks again~
RE: Advanced Pattern Relations with 2 dimensions (not directions)
For your X dimension relation
/*
memb_i = 0
if idx1 > 0
memb_i = .5*DIA*(1.25)^(idx1-1)
endif
Michael
RE: Advanced Pattern Relations with 2 dimensions (not directions)
Would the equations then be?
Diameter equation:
memb_v = DIA*(hold_dia_increase)^(idx1)
Distance equation:
memb_i = 0
if idx1 > 0
memb_i = .5*DIA*(hold_dia_increase)^(idx1-1)
endif