Spring Calculation, Pro/PROGRAM

Discussion in 'Pro/Engineer & Creo Elements/Pro' started by Geoff, Jan 29, 2004.

  1. Geoff

    Geoff Guest

    Hi,

    I was looking on the net for a spring calculator you know to input the
    Initial load, final load , wire dia etc. Then the program would tell
    you the free length, number of turns solid height etc.

    I found this old post on the forum back in 1997.

    "For those who would like to try another attempt at making a
    fairly good spring, this is one that I whipped up that works
    pretty well:

    It is driven by pro-program and so when I have a specialized
    spring I "SAVE AS" the "SPRING1.PRT" file in my working directory
    to the spring number I want to appear in my parts list and
    modify the description parameter to reflect the new spring. Then
    I simply regenerate, Enter Values; Select All, and viola its
    just that simple. Here's the proprogram cook book. Go bake you a
    spring:."

    Paul R. Finch

    VERSION 8.0
    REVNUM 310
    LISTING FOR PART SPRING1

    INPUT
    OUTSIDE_DIA NUMBER
    WIRE_DIA NUMBER
    FREE_LENGTH NUMBER
    DEFLECTION NUMBER
    ACTIVE_COILS NUMBER
    END INPUT

    RELATIONS
    /* THIS PROGRAM WAS WRITTEN BY
    /* PAUL R. FINCH 961101
    /* COMPRESSION SPRING DESIGN CRITERIA
    /* IS PER MIL-STD-29A, MS24585D AND
    /* MIL-S-13572.
    /*
    /* for reference L=F * R
    /* R=L/F
    /* F=L/R
    /* WHERE L=LOAD; R=RATE; F=DEFLECTION.

    /* PRO-PROGAM INPUTS:
    OD=OUTSIDE_DIA
    W=WIRE_DIA
    FL=FREE_LENGTH
    N=ACTIVE_COILS
    F=DEFLECTION

    /* SOLID HEIGHT CALCULATION PER
    /* MIL-STD-29A, P. 60
    H=W * (N+2)

    /* DEFLECTED LENGTH EQUALS
    /* FREE LENGTH MINUS DEFLECTION
    LENGTH=FL-F
    /* CORRECTION FACTOR FOR FLAT ENDS
    LENGTH1=FL-F+W
    /* SET LENGTH OF SPRING TO
    /* DEFLECTED LENGTH.
    D2=LENGTH1
    /* MEAN DIA EQUALS OD MINUS
    /* WIRE DIA.
    D=OD-W
    D3=D
    D8=D2
    /* SPRING PITCH CALCULATION PER
    /* MIL-STD-29A, P. 60:
    P=(LENGTH1-(2 * W))/N
    D4=P
    D7=W
    D9=W/2
    /* TORSIONAL MODULUS FOR CRES
    G1=10000000
    /* SPRING RATE FOR CRES
    /* PER MIL-STD-29A, P.60
    RATE1=(G1*W^4)/(8*N*D^3)
    /* TORSIONAL MODULUS FOR MUSIC WIRE
    G2=12000000
    RATE2=(G2*W^4)/(8*N*D^3)
    L1=RATE1 * F
    L2=RATE2 * F
    ID=OD-(2 * W)
    /* SPRING INDEX
    C=D/W
    D13=OD+.1
    D14=LENGTH1-W
    D15=D13

    END RELATIONS

    ADD FEATURE (initial number 1)
    INTERNAL FEATURE ID 33
    TYPE = DATUM PLANE
    NAME = DTM1



    END ADD


    ADD FEATURE (initial number 2)
    INTERNAL FEATURE ID 35
    TYPE = DATUM PLANE
    NAME = DTM2



    END ADD


    ADD FEATURE (initial number 3)
    INTERNAL FEATURE ID 37
    TYPE = DATUM PLANE
    NAME = DTM3



    END ADD


    ADD FEATURE (initial number 4)
    INTERNAL FEATURE ID 45
    PARENTS = 33(#1) 35(#2) 37(#3)
    TYPE = COORDINATE SYSTEM
    NAME = CS0


    END ADD


    ADD FEATURE (initial number 5)
    INTERNAL FEATURE ID 47
    PARENTS = 33(#1) 35(#2) 37(#3)

    PROTRUSION: Helical Sweep

    NO. ELEMENT NAME INFO
    STATUS
    --- ------------ -----------
    ------
    1 Attributes Constant Pitch, Right Handed, Thru Axis
    Defined
    2 Swp Profile Sk. plane - Surface DTM3 of feat #3 (DATUM PLANE)
    Defined
    3 Pitch Pitch = 0.148421
    Defined
    4 Section
    Defined

    SECTION NAME = S2D0001
    SECTION NAME = S2D0002


    FEATURE'S DIMENSIONS:
    d2 = .795
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    d3 = .405 Dia
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    d4 = .148PITCH
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    d7 = .045 Dia
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD


    ADD FEATURE (initial number 6)
    INTERNAL FEATURE ID 62
    PARENTS = 35(#2)
    TYPE = DATUM PLANE
    NAME = DTM4



    FEATURE'S DIMENSIONS:
    d8 = .795
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD


    ADD FEATURE (initial number 7)

    INTERNAL FEATURE ID 64
    PARENTS = 35(#2)
    TYPE = DATUM PLANE
    NAME = DTM5



    FEATURE'S DIMENSIONS:
    d9 = .023
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD


    ADD FEATURE (initial number 8)
    INTERNAL FEATURE ID 66
    PARENTS = 64(#7)
    TYPE = DATUM PLANE
    NAME = DTM6



    FEATURE'S DIMENSIONS:
    d14 = .750
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD


    ADD FEATURE (initial number 9)
    INTERNAL FEATURE ID 68
    PARENTS = 33(#1) 37(#3) 64(#7)

    CUT: Extrude

    NO. ELEMENT NAME INFO
    STATUS
    --- ------------ -----------
    ------
    1 Attributes One Side
    Defined
    2 Section Sk. plane - Surface DTM5 of feat #7 (DATUM PLANE)
    Defined
    3 MaterialSide Inside section
    Defined
    4 Direction
    Defined
    5 Depth Through All
    Defined

    SECTION NAME = S2D0003


    FEATURE'S DIMENSIONS:
    d13 = .550 Dia
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD


    ADD FEATURE (initial number 10)
    INTERNAL FEATURE ID 88
    PARENTS = 33(#1) 37(#3) 66(#8)

    CUT: Extrude

    NO. ELEMENT NAME INFO
    STATUS
    --- ------------ -----------
    ------
    1 Attributes One Side
    Defined
    2 Section Sk. plane - Surface DTM6 of feat #8 (DATUM PLANE)
    Defined
    3 MaterialSide Inside section
    Defined
    4 Direction
    Defined
    5 Depth Through All
    Defined

    SECTION NAME = S2D0004


    FEATURE'S DIMENSIONS:
    d15 = .550 Dia
    DIMENSION IS IN LAYER(S) :
    .DIM_DRIVING - OPERATION = NORMAL
    END ADD

    MASSPROP
    END MASSPROP


    ________________________________________________________________________

    Now I've never used Pro/PROGRAM before & I cant get this to work I
    keep getting error messages!!!

    Can anyone get this to work on 2001?

    Thanks

    Geoff
     
    Geoff, Jan 29, 2004
    #1
  2. Geoff

    David Janes Guest

    : Hi,
    :
    : I was looking on the net for a spring calculator you know to input the
    : Initial load, final load , wire dia etc. Then the program would tell
    : you the free length, number of turns solid height etc.
    :
    : I found this old post on the forum back in 1997.
    :
    : "For those who would like to try another attempt at making a
    : fairly good spring, this is one that I whipped up that works
    : pretty well:
    :
    : It is driven by pro-program and so when I have a specialized
    : spring I "SAVE AS" the "SPRING1.PRT" file in my working directory
    : to the spring number I want to appear in my parts list and
    : modify the description parameter to reflect the new spring. Then
    : I simply regenerate, Enter Values; Select All, and viola its
    : just that simple. Here's the proprogram cook book. Go bake you a
    : spring:."
    :
    : Paul R. Finch
    :
    : VERSION 8.0
    : REVNUM 310
    : LISTING FOR PART SPRING1
    :
    : INPUT
    : OUTSIDE_DIA NUMBER
    : WIRE_DIA NUMBER
    : FREE_LENGTH NUMBER
    : DEFLECTION NUMBER
    : ACTIVE_COILS NUMBER
    : END INPUT
    :
    : RELATIONS
    : /* THIS PROGRAM WAS WRITTEN BY
    : /* PAUL R. FINCH 961101
    : /* COMPRESSION SPRING DESIGN CRITERIA
    : /* IS PER MIL-STD-29A, MS24585D AND
    : /* MIL-S-13572.
    : /*
    : /* for reference L=F * R
    : /* R=L/F
    : /* F=L/R
    : /* WHERE L=LOAD; R=RATE; F=DEFLECTION.
    :
    : /* PRO-PROGAM INPUTS:
    : OD=OUTSIDE_DIA
    : W=WIRE_DIA
    : FL=FREE_LENGTH
    : N=ACTIVE_COILS
    : F=DEFLECTION
    :
    : /* SOLID HEIGHT CALCULATION PER
    : /* MIL-STD-29A, P. 60
    : H=W * (N+2)
    :
    : /* DEFLECTED LENGTH EQUALS
    : /* FREE LENGTH MINUS DEFLECTION
    : LENGTH=FL-F
    : /* CORRECTION FACTOR FOR FLAT ENDS
    : LENGTH1=FL-F+W
    : /* SET LENGTH OF SPRING TO
    : /* DEFLECTED LENGTH.
    : D2=LENGTH1
    : /* MEAN DIA EQUALS OD MINUS
    : /* WIRE DIA.
    : D=OD-W
    : D3=D
    : D8=D2
    : /* SPRING PITCH CALCULATION PER
    : /* MIL-STD-29A, P. 60:
    : P=(LENGTH1-(2 * W))/N
    : D4=P
    : D7=W
    : D9=W/2
    : /* TORSIONAL MODULUS FOR CRES
    : G1=10000000
    : /* SPRING RATE FOR CRES
    : /* PER MIL-STD-29A, P.60
    : RATE1=(G1*W^4)/(8*N*D^3)
    : /* TORSIONAL MODULUS FOR MUSIC WIRE
    : G2=12000000
    : RATE2=(G2*W^4)/(8*N*D^3)
    : L1=RATE1 * F
    : L2=RATE2 * F
    : ID=OD-(2 * W)
    : /* SPRING INDEX
    : C=D/W
    : D13=OD+.1
    : D14=LENGTH1-W
    : D15=D13
    :
    : END RELATIONS
    :
    : ADD FEATURE (initial number 1)
    : INTERNAL FEATURE ID 33
    : TYPE = DATUM PLANE
    : NAME = DTM1
    :
    :
    :
    : END ADD
    :
    :
    : ADD FEATURE (initial number 2)
    : INTERNAL FEATURE ID 35
    : TYPE = DATUM PLANE
    : NAME = DTM2
    :
    :
    :
    : END ADD
    :
    :
    : ADD FEATURE (initial number 3)
    : INTERNAL FEATURE ID 37
    : TYPE = DATUM PLANE
    : NAME = DTM3
    :
    :
    :
    : END ADD
    :
    :
    : ADD FEATURE (initial number 4)
    : INTERNAL FEATURE ID 45
    : PARENTS = 33(#1) 35(#2) 37(#3)
    : TYPE = COORDINATE SYSTEM
    : NAME = CS0
    :
    :
    : END ADD
    :
    :
    : ADD FEATURE (initial number 5)
    : INTERNAL FEATURE ID 47
    : PARENTS = 33(#1) 35(#2) 37(#3)
    :
    : PROTRUSION: Helical Sweep
    :
    : NO. ELEMENT NAME INFO
    : STATUS
    : --- ------------ -----------
    : ------
    : 1 Attributes Constant Pitch, Right Handed, Thru Axis
    : Defined
    : 2 Swp Profile Sk. plane - Surface DTM3 of feat #3 (DATUM PLANE)
    : Defined
    : 3 Pitch Pitch = 0.148421
    : Defined
    : 4 Section
    : Defined
    :
    : SECTION NAME = S2D0001
    : SECTION NAME = S2D0002
    :
    :
    : FEATURE'S DIMENSIONS:
    : d2 = .795
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : d3 = .405 Dia
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : d4 = .148PITCH
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : d7 = .045 Dia
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    :
    : ADD FEATURE (initial number 6)
    : INTERNAL FEATURE ID 62
    : PARENTS = 35(#2)
    : TYPE = DATUM PLANE
    : NAME = DTM4
    :
    :
    :
    : FEATURE'S DIMENSIONS:
    : d8 = .795
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    :
    : ADD FEATURE (initial number 7)
    :
    : INTERNAL FEATURE ID 64
    : PARENTS = 35(#2)
    : TYPE = DATUM PLANE
    : NAME = DTM5
    :
    :
    :
    : FEATURE'S DIMENSIONS:
    : d9 = .023
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    :
    : ADD FEATURE (initial number 8)
    : INTERNAL FEATURE ID 66
    : PARENTS = 64(#7)
    : TYPE = DATUM PLANE
    : NAME = DTM6
    :
    :
    :
    : FEATURE'S DIMENSIONS:
    : d14 = .750
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    :
    : ADD FEATURE (initial number 9)
    : INTERNAL FEATURE ID 68
    : PARENTS = 33(#1) 37(#3) 64(#7)
    :
    : CUT: Extrude
    :
    : NO. ELEMENT NAME INFO
    : STATUS
    : --- ------------ -----------
    : ------
    : 1 Attributes One Side
    : Defined
    : 2 Section Sk. plane - Surface DTM5 of feat #7 (DATUM PLANE)
    : Defined
    : 3 MaterialSide Inside section
    : Defined
    : 4 Direction
    : Defined
    : 5 Depth Through All
    : Defined
    :
    : SECTION NAME = S2D0003
    :
    :
    : FEATURE'S DIMENSIONS:
    : d13 = .550 Dia
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    :
    : ADD FEATURE (initial number 10)
    : INTERNAL FEATURE ID 88
    : PARENTS = 33(#1) 37(#3) 66(#8)
    :
    : CUT: Extrude
    :
    : NO. ELEMENT NAME INFO
    : STATUS
    : --- ------------ -----------
    : ------
    : 1 Attributes One Side
    : Defined
    : 2 Section Sk. plane - Surface DTM6 of feat #8 (DATUM PLANE)
    : Defined
    : 3 MaterialSide Inside section
    : Defined
    : 4 Direction
    : Defined
    : 5 Depth Through All
    : Defined
    :
    : SECTION NAME = S2D0004
    :
    :
    : FEATURE'S DIMENSIONS:
    : d15 = .550 Dia
    : DIMENSION IS IN LAYER(S) :
    : .DIM_DRIVING - OPERATION = NORMAL
    : END ADD
    :
    : MASSPROP
    : END MASSPROP
    :
    :
    : ________________________________________________________________________
    :
    : Now I've never used Pro/PROGRAM before & I cant get this to work I
    : keep getting error messages!!!
    :
    : Can anyone get this to work on 2001?
    :
    : Thanks
    :
    : Geoff

    Geoff, I don't think it's worth the effort to fix this, unless you consider it
    merely a chance to learn how Pro/PROGRAM works. It is not going to answer the
    question/task you posed for a 'spring calculator', namely "to input the Initial
    load, final load, wire dia etc. Then the program would tell you the free length,
    number of turns, solid height etc." From looking through the program, it merely
    takes some numbers you give it for od, free length, wire diameter, active coils
    and deflection, and shows you what the spring looks like with that deflection. If
    you tell it zero deflection, it shows you the spring at free length. There is
    nowhere in the program for input of forces (initial or final), material type or
    properties like torsional modulus. In fact, you give it the deflection instead of
    it calculating it
    for you.

    You might try some of these sites for actual engineering calculations:

    http://www.efunda.com/DesignStandards/springs/spring_calculators.cfm
    http://www.engineersedge.com/spring_extension_calc.htm
    http://www.msdspring.com/SpringCalculator\Default.asp

    David Janes
     
    David Janes, Feb 1, 2004
    #2
  3. Geoff

    Geoff Guest

    Hey thanks david (Sorry for the late reply), managed to do a new
    spring using pro program.
    Seems quite a powerfull tool.

    Geoff
     
    Geoff, Feb 26, 2004
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.