Pro/Program using Family Table values
Pro/Program using Family Table values
(OP)
If I want to use a value from an instance in a program, how do I refer to it knowing that its designation is different on each instance. For ex., on one instance a dimension may be L:4 and on another it is called L:25. I want to include it in a relation (D1 = LENGTHA + L:4) where the number after the L changes depending on what instance is plugged into the assembly.
Any ideas...??
Kev
Any ideas...??
Kev





RE: Pro/Program using Family Table values
I hope I understood right your question.
im4cad
Pro Design Services, Inc.
http://www.cadproe.com/pds/home.asp
RE: Pro/Program using Family Table values
Lets say you make a square, where d0 and d1 represent the 2 sides. If you make a relation saying d0=d1*2, then use d1 in a Family Table, each isntance will have its own unique value of d0 and d1.
Now if you use Pro/PROGRAM, you can INSTANTIATE the creation of new instances whenever a new regeneration is done.
This is another ball of wax, though.
http://www.3dlogix.com
RE: Pro/Program using Family Table values
I understand pretty well how the family table works. I checked the family table and the dimension I'm interested in is designated as D42 and it also has a name of "L" for length. But.....when I enter either into my program it creates an error on that line. When I key it in like the example in my original post (D1 = LENGTHA + L:4), it will accept it and effect the value, but the value doesn't make sense. I've determined that the number after the colon (ie. L:4) is the instance number (I think), because that number appears after the other dimensions for the instance. Is there a special syntax that can be used with the name for that dimension?
Thanks
Kev
RE: Pro/Program using Family Table values
INPUT
RK STRING
"Do you want the short (S) or long (L) retention knob?"
COLLET_CHUCK STRING
"Enter holder number (ie. 100300,150350,etc)"
EXT_A YES_NO
"Do you need an extension (Y,N)?"
IF EXT_A == YES
EXT_SIZE STRING
"Enter extension number (ie. 104731,404791,etc)"
LENGTHA NUMBER
"How far will this extension stick out from holder?"
ENDIF
END INPUT
RELATIONS
/*****RETENTION KNOB DECLARATIONS
IF RK == "s"
KNOB = "ms43562_ret_knob.prt"
ENDIF
IF RK == "l"
KNOB = "ms46597_ret_knob.prt"
ENDIF
/*****HOLDER DECLARATIONS
IF COLLET_CHUCK == "100300"
HOLDER = "ch46461_100-300<cat50>.prt"
ENDIF
.
.
.
IF COLLET_CHUCK == "200600"
HOLDER = "ch47294_200-600<cat50>.prt"
ENDIF
/*****EXTENSION STICK OUT
d1 = LENGTHA + L
!*** ERR: Relation has an error.
/*****FIRST EXTENSION DECLARATIONS
IF EXT_SIZE == "104448"
EXTA = "ch46055_104448<sscc_100_shank>.prt"
ENDIF
.
.
.
IF EXT_SIZE == "408862"
EXTA = "ch47294_408862<sscc_150_shank>.prt"
ENDIF
END RELATIONS
ADD FEATURE (initial number 1)
INTERNAL FEATURE ID 1
TYPE = DATUM PLANE
NAME = GAGE_LINE
FEATURE IS IN LAYER(S) :
01__ASM_ALL_DTM_PLN - OPERATION = SHOWN
01__ASM_DEF_DTM_PLN - OPERATION = SHOWN
END ADD
ADD FEATURE (initial number 2)
INTERNAL FEATURE ID 3
TYPE = DATUM PLANE
NAME = ASM_TOP
FEATURE IS IN LAYER(S) :
01__ASM_ALL_DTM_PLN - OPERATION = SHOWN
01__ASM_DEF_DTM_PLN - OPERATION = SHOWN
END ADD
ADD FEATURE (initial number 3)
INTERNAL FEATURE ID 5
TYPE = DATUM PLANE
NAME = ASM_FRONT
FEATURE IS IN LAYER(S) :
01__ASM_ALL_DTM_PLN - OPERATION = SHOWN
01__ASM_DEF_DTM_PLN - OPERATION = SHOWN
END ADD
ADD FEATURE (initial number 4)
INTERNAL FEATURE ID 7
TYPE = COORDINATE SYSTEM
NAME = ASM_DEF_CSYS
FEATURE IS IN LAYER(S) :
05__ASM_ALL_DTM_CSYS - OPERATION = SHOWN
05__ASM_DEF_DTM_CSYS - OPERATION = SHOWN
END ADD
ADD FEATURE (initial number 5)
INTERNAL FEATURE ID 39
PARENTS = 3(#2) 5(#3)
TYPE = DATUM AXIS
NAME = AA_1
FEATURE IS IN LAYER(S) :
02__ASM_ALL_AXES - OPERATION = SHOWN
_FEATURES - OPERATION = SHOWN
_AXES - OPERATION = SHOWN
END ADD
ADD FEATURE (initial number 6)
INTERNAL FEATURE ID 45
PARENTS = 1(#1)
TYPE = DATUM PLANE
NAME = RET_KNOB
FEATURE IS IN LAYER(S) :
01__ASM_ALL_DTM_PLN - OPERATION = SHOWN
_FEATURES - OPERATION = SHOWN
FEATURE'S DIMENSIONS:
d0 = 4.010
END ADD
ADD FEATURE (initial number 7)
INTERNAL FEATURE ID 47
PARENTS = 1(#1)
TYPE = DATUM PLANE
NAME = EXTENSION
FEATURE IS IN LAYER(S) :
01__ASM_ALL_DTM_PLN - OPERATION = SHOWN
_FEATURES - OPERATION = SHOWN
FEATURE'S DIMENSIONS:
d1 = 13.000
END ADD
ADD COMPONENT (KNOB)
INTERNAL COMPONENT ID 58
END ADD
ADD COMPONENT (HOLDER)
INTERNAL COMPONENT ID 53
END ADD
IF EXT_A == YES
ADD COMPONENT (EXTA)
INTERNAL COMPONENT ID 54
END ADD
ENDIF
ADD PART CH44116_104731
INTERNAL COMPONENT ID 55
END ADD
MASSPROP
END MASSPROP
RE: Pro/Program using Family Table values
http://www.3dlogix.com
RE: Pro/Program using Family Table values
All I'm really trying to to do is bring in components from existing family tables to create an assembly by prompting the user for each component and during the prompt process, ask for offset values to properly position them in relation to one another.
I can get the components in there with no trouble. It's when I'm trying to position them that's driving me nuts.
Kev
RE: Pro/Program using Family Table values
Try putting the relation at the part level, by calling an assembly level value. Try using Layouts for this also.
Steve
http://www.3dlogix.com