Just to have something to refer to, here is my code.
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