Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

Instance-Part Modelling

hareeshtd

New member
hi guys,


In ProE it is possible to use the "pattern(instance) member indexes"like idx1,idx2 in Relations.Is it possible to access index number of a member of an instance i.e. if the member isin 3rd position in aninstance I should be able to get 3-the position of the member in the instance.


plsreply anybody knowing the answer.


bye guys...
 
I'm not really sure I understand your question. Can you give me a better explaination of what you're trying to acheive?
 
Hello swcalvert,


Here is how I used the relations to create a pattern, in ProE.


Just do the following in ProE/2001.
Create a cylinder of dia 300 and length 10 units.
The cylinder has three sets of holes at different pcds
<B style="mso-bidi-font-weight: normal">Pcd Dia of hole Angle between holes Number of Holes<?:namespace prefix = o ns = "urn:schemas-microsoft-com:eek:ffice:eek:ffice" />[/B]
275 5 15 24
240 20 36 10
180 30 90 4
Create one hole at pcd 275 of hole dia 5 and at 0 degree with horizontal plane.
Now pattern the hole to get all three sets of holes using only one pattern command by using relations, as follows
Feature->Pattern->select hole->General(type of pattern)->Relation->select dimension for hole diameter(d2) from graphics screen ->edit->type the following text in rel.ptd
if(idx1<24)
memb_v=5
endif
if(idx1>23 & idx1<34)
memb_v=20
endif
if(idx1>33)
memb_v=30
endif

save the file and exit
click done(bottom-most in the menu,not the one in bold font)
now click again Relation->select dimension for pcd(d3) from graphics screen ->edit
->type the following text in rel.ptd
if(idx1<24)
memb_v=275
endif
if(idx1>23 & idx1<34)
memb_v=240
endif
if(idx1>33)
memb_v=180
endif

save the file and exit
click done(bottom-most in the menu,not the one in bold font)
now click again Relation->select dimension for angle(d4) from graphics screen ->edit->type the following text in rel.ptd
if(idx1<24)
memb_v=idx1*15
endif
if((idx1>23) & (idx1<34))
memb_v=(idx1-25)*36
endif
if(idx1>33)
memb_v=(idx1-35)*90
endif

save the file and exit
click done->done
Note that:
-LEAD_V
 
OK, let me work on this for a little while when I get time. However, for the meantime, you can you if/else statements in expressions.


VAR = if (expr1)(expr2) else (expr3)


hole_dia = if (indx1>20)(4) else (2)


This is only one if/else statement and I'm not sure if more than one can be applied in an expression.
 
Oh, and I forgot to add, you don't have to make a relation (expression in Ug talk) for the angle spacing between the holes (if you want consistantcy). When you finished the pattern just edit the 'p' number for the angle of the instance and make it 360/what ever 'p' number


Example:


p25=20


p26=360/p24
 
Hello


The feature parameters u can always edit in UG,but the parametrs that I want to edit are not listed in feature edit dialog box,i.e. if I edit the hole dia of instance it affects all the instances,that is whyin order to edit individual instances I am using expressions.


Regarding ur questionon using if/else


u can always use expressions like
pcd=if(condition1)(statement1)else if(condition2)(statement2)else(statement3)
pls note space between else and if.
In Model Navigator pls observe that the listing of instances is as bellow
INSTANCE(3)[2,7]/SIMPLE_HOLE(2)
The [2,7] in the above sentence is the position of the member in instance but note that it is just"information" and I don't know which variables control the[2,7].May be it is possibe to extract this information by using UFUNC functions but Iknow little about UFUNC.
 
I guess you lost me there
smiley5.gif
. I'm not really sure I understand what you're after. I thought you want a statement that would control the size of the holes based on the number in the instance.


The syntax would be:


pcd=if(condition1)(statement1)else(if(condition2)(statement2 )else(statement3))


Right mouse click on the feature INSTANCE(3)[2,7]/SIMPLE_HOLE(2) and look at the info on that hole. Every number UG creates has a 'p' number assigned to it.
 
ok what i am telling is by MB3 in the model navigator whatever u r getting is just information on which u don't have any control.


I was concentrating on the naming convention used represent instances in model navigator so that i may in someway get the'variable name' that controls the position of the member in the array


suppose i create a 2 by 2 rectangular array instances will be listed as bellow


INSTANCE(3)[0,0]/SIMPLE_HOLE(2)


INSTANCE(3)[0,1]/SIMPLE_HOLE(2)


INSTANCE(3)[1,0]/SIMPLE_HOLE(2)


INSTANCE(3)[1,1]/SIMPLE_HOLE(2)


observe that [0,0],[0,1],[1,0],[1,1] indicate the matrix of order 2x2.What i want is the variable(s) that give me these numbers.If u have other ways of getting these index numbers then also it is fine.(what i wrote was just a hint and i have also not explored that way)
 
OK, if you MB3 on the array you should get info on number along x and number along y as well as dimension in the x and y value.
 
u r not understanding my question,


Now forget about previous topics and read the following carefully


Just MB3 on any instance member and select Edit Parameters


You can edit either the feture related parameters(in case of hole you can change dia,depth,type of hole etc) and instance parameters (assuming u create rectangular array,u can edit number of instancesalong x and y, offset along x and y)


If u change offset value then all the members of the array are affected, i.e. if the offset value along x is 10 before editing and u change it to 15 (assuming 3 members are in x direction) then the distance between member 1 and 2 ,distance between member 2 and 3 will become 15.


Now come to the question "Is it possible (in the above e.g.) tochange offset value between 1st and 2nd member to 10 and that between 2nd and 3rd member to 15 (remember that all members belong to the same array).In similar fashion I also want to edit dia of holes of an array i.e. in the same array I want to get holes having different diameters (e.g. 2,4,6,8 diameter values)"


(In ProE it is easy to solve this problem by using Pattern Table,which unfortunately we don't have in UG)
 
MB3 on one of the instances that you want to move and select Edit Parameters and then select Clock Instance. You should then be able to move that one hole in adirection of x or y. Select another hole and move it the same way but this time instead of entering a value, enter the 'p' number for the last directional move.


To be honest with you, I have never made and array that I needed different hole dia for.
 
Hello swcalvert,


What about the example that I specified in ProE(i.e.3 sets of holes. u might have created such instances I assume),U need to create 3 instances for that in UG.You can not create them in single instance right?That was my question.
 
You can create a sketch of circles that represent your pattern for hole locations and hole size. Then create your holesusing extruded cuts on Solid Works&Pro/E this is done as a single extrude feature but in UG you'll get a separate extrusion for each hole. Then you can edit your dimensions so that they resemble pattern dims.


IT is not possible to do pattern relations in UG like Pro/E but the pattern driving sketch in my opinion is the best method.


Michael
 

Sponsor

Articles From 3DCAD World

Back
Top