×
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

Pro/Program using Family Table values

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

RE: Pro/Program using Family Table values

The designation is the same in a family table for all instances, only the value changes. For example if you have “d15” for the height of a cylinder, and “d18” for the diameter, and you have 10 instances, for each of them you’ll have “d15” for height, and “d18” for diameter, but the values would be different.
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

im4cad is correct. When you create instance using a "d" value, this symbolic value is used to regenerate each instance. But the symbolic value can change from instance to instance.

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

(OP)
Thanks to both of you for your response.
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

(OP)
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

RE: Pro/Program using Family Table values

Where does L:4 come from? This is not a valid symbol.

http://www.3dlogix.com

RE: Pro/Program using Family Table values

(OP)
In the family table for that component, the column that holds the value I'm interested in is labeled "d42" and also has the name "L". I first used the d42 in my equation - no luck, so I then tried the name "L" - same thing. The "4" after the L is the session id for that component that shows up when I click on modify and select the component. All of the dimesions have a "4" at the ends of them. Thing is, if I put a different component in there, it's a different number. So.....I'm confused as to what is going on.
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

You are trying to pass a relation at the assembly level to a part instance, Yes, each new instance that has the "L" dim will have a new session id number, so you cant make a value equal to "L" at the assembly level.

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

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