×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Advanced Pattern Relations with 2 dimensions (not directions)

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: http://www.ptc.com/cs/cs_26/howto/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?

RE: Advanced Pattern Relations with 2 dimensions (not directions)

Drewbixcubed,

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
infinity

RE: Advanced Pattern Relations with 2 dimensions (not directions)

(OP)
Thank you VERY much Michael. I racked my brain trying to figure this out all day yesterday! I was stuck on how to work the dynamic diameter into the X dimension.  Glad to know I can ask the tough questions (at least for me) somewhere!!

Thanks again~

RE: Advanced Pattern Relations with 2 dimensions (not directions)

I replaced the if else statement I originally gave you above with a simpler if statement.

For your X dimension relation
/*
memb_i = 0
if idx1 > 0
memb_i = .5*DIA*(1.25)^(idx1-1)
endif


Michael
spineyes

RE: Advanced Pattern Relations with 2 dimensions (not directions)

(OP)
If I wanted to make these parametric, I could make a parameter for the % increase of the hole diameter (hold_dia_increase).
  
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

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources