예제 #1
0
        public Double Screw_L_ULimit()
        //============================
        {
            //PB 10FEB12. This routine is valid for Go Thru' only. Ask Harout.

            //clsScrew pScrew_Spec = mFixture_Screw_Spec[Indx_In];
            clsScrew pScrew = mScrew;

            //....Get Screw Head Height.
            //
            Double pL_UpperLimit = 0.0F;

            //string pD_Desig = pScrew.Spec.D_Desig;
            //Double pHead_H = pScrew.Head_H;


            //if (pD_Desig != "" && pD_Desig != null)
            //{

            //    if (pD_Desig.Contains("M"))     //....Metric
            //    {
            //        //....Convert Head_H from mm ==> in.
            //        pHead_H = pHead_H / 25.4F;                          //....in.
            //        pL_UpperLimit = mCurrent_Bearing_Radial_FP.mCurrentProduct.L_Tot() - pHead_H - (2 * 0.020F);
            //        pL_UpperLimit = pL_UpperLimit * 25.4F;              //....mm
            //    }

            //    else                            //....English.
            //    {
            //        pL_UpperLimit = mCurrent_Bearing_Radial_FP.mCurrentProduct.L_Tot() - pHead_H - (2 * 0.020F);   //....in
            //    }
            //}

            return(pL_UpperLimit);
        }
예제 #2
0
            public Double MountFixture_Screw_L_UpperLimit(int Indx_In)
            //========================================================
            {
                //PB 10FEB12. This routine is valid for Go Thru' only. Ask Harout.

                //clsScrew pScrew_Spec = mFixture_Screw_Spec[Indx_In];
                clsScrew pScrew_Spec = mFixture[Indx_In].Screw_Spec;            //BG 24AUG12

                //....Get Screw Head Height.
                //
                string pD_Desig      = pScrew_Spec.D_Desig;
                Double pHead_H       = pScrew_Spec.Head_H;
                Double pL_UpperLimit = 0.0F;

                if (pD_Desig != "" && pD_Desig != null)
                {
                    if (pD_Desig.Contains("M"))         //....Metric
                    {
                        //....Convert Head_H from mm ==> in.
                        pHead_H       = pHead_H / 25.4F;                        //....in.
                        pL_UpperLimit = mCurrent_Bearing_Radial_FP.mCurrentProduct.L_Tot() - pHead_H - (2 * 0.020F);
                        pL_UpperLimit = pL_UpperLimit * 25.4F;                  //....mm
                    }

                    else                                                                                             //....English.
                    {
                        pL_UpperLimit = mCurrent_Bearing_Radial_FP.mCurrentProduct.L_Tot() - pHead_H - (2 * 0.020F); //....in
                    }
                }

                return(pL_UpperLimit);
            }
예제 #3
0
        public clsMount(clsJBearing CurrentBearing_In)
        //===========================================
        {
            mCurrentBearing = CurrentBearing_In;
            mBolting        = true;

            mScrew = new clsScrew(CurrentBearing_In.RadB.SL.Screw.Spec.Unit.System);

            //....Initialize:
            mEquiSpaced = true;
            mCount      = 4;
            mAngStart   = 45;
        }
예제 #4
0
            public clsWireClipHoles(clsSeal CurrentSeal_In)
            //=============================================
            {
                mScrew_Spec = new clsScrew(CurrentSeal_In.Unit.System);
                mAngOther   = new Double[mc_COUNT_WIRE_CLIP_HOLES_MAX - 1];

                //....Initialize. Default Values.
                mExists = false;             // true;
                mCount  = 1;
                //mScrew_Spec.D_Desig = "M3";             //PB 23APR12
                //mThreadDia_Desig = "M3";

                mUnit.System = CurrentSeal_In.Unit.System;                      //BG 03JUL13
            }
            public clsMount(clsProduct CurrentProduct_In)
            //===========================================
            {
                mCurrentProduct = CurrentProduct_In;
                mBolting        = eBolting.Both;

                //....Initialize:
                for (int i = 0; i < 2; i++)                         //....i = 0: FRONT, = 1: BACK.
                {
                    mScrew[i]         = new clsScrew(mCurrentProduct.Unit.System);
                    mBC[i].EquiSpaced = true;
                    mBC[i].Count      = 4;
                    mBC[i].AngStart   = 45;
                }
            }
예제 #6
0
                //BG 24AUG12
                //public clsFixture()
                //{

                //    mHolesAngOther = new Double[mc_COUNT_MOUNT_HOLES_ANG_OTHER_MAX];

                //}

                public clsFixture(clsBearing_Radial_FP Current_Bearing_Radial_FP_In)
                //==================================================================
                {
                    mHolesAngOther = new Double[mc_COUNT_MOUNT_HOLES_ANG_OTHER_MAX];

                    //BG 24AUG12
                    clsUnit.eSystem pUnitSystem = Current_Bearing_Radial_FP_In.Unit.System;
                    mScrew_Spec = new clsScrew(pUnitSystem);

                    //....Screw.         //BG 24AUG12
                    mScrew_Spec.Type = "SHCS";
                    mScrew_Spec.Mat  = "STL";

                    mHolesCount = 4;

                    //....HolesEquispaced
                    mHolesEquiSpaced = true;
                }
            public clsSL(clsBearing_Radial_FP Current_Bearing_Radial_FP_In)
            //=============================================================
            {
                mCurrent_Bearing_Radial_FP = Current_Bearing_Radial_FP_In;

                //....Screw.
                //
                mScrew = new clsScrew(mCurrent_Bearing_Radial_FP.Unit.System);

                mScrew.Spec_Type = "SHCS";
                mScrew.Spec_Mat  = "STEEL";

                //....Dowel.
                //
                mDowel = new clsPin(mCurrent_Bearing_Radial_FP.Unit.System);

                mDowel.Spec_Type = "P";
                mDowel.Spec_Mat  = "STEEL";
            }
            public clsSL(clsJBearing CurrentBearing_In)
            //=========================================
            {
                mCurrentBearing = CurrentBearing_In;

                //....Screw.
                //
                mScrew = new clsScrew(mCurrentBearing.Unit.System);

                mScrew.Spec_Type = "SHCS";
                mScrew.Spec_Mat  = "STEEL";

                //....Dowel.
                //
                mDowel = new clsPin(mCurrentBearing.Unit.System);

                mDowel.Spec_Type = "P";
                mDowel.Spec_Mat  = "STEEL";
            }
예제 #9
0
        public Double Screw_L_LLimit()
        //============================
        {
            //....Relevant Radial Bearing Parameter:
            //clsScrew pScrew_Spec = Fixture_Screw_Spec[Indx_In];
            clsScrew pScrew_Spec = mScrew;

            Double pLowerLimit = 0.0F;

            //double pBearing_Pad_L = mCurrent_Bearing_Radial_FP.Pad.L;

            ////....Relevant End Config Parameter:
            //double pEndConfigL = mCurrent_Bearing_Radial_FP.mCurrentProduct.EndPlate[Indx_In].L;

            ////....Mounting Screw Parameters:
            //string pD_Desig = pScrew_Spec.Spec_D_Desig;
            //Double pHead_H = pScrew_Spec.Head_H;
            //Double pD = pScrew_Spec.Spec_D;

            //if (pD_Desig != "" && pD_Desig != null)
            //{
            //    if (pD_Desig.Contains("M"))                             //....Metric
            //    {
            //        //....Convert from mm ==> in.
            //        pHead_H = pHead_H / 25.4F;          //....in
            //        pD = pD / 25.4F;

            //        pLowerLimit = (pEndConfigL + pBearing_Pad_L) - pHead_H - 0.020F + 1.5F * pD;
            //        pLowerLimit = pLowerLimit * 25.4F;  //....mm
            //    }

            //    else                                                    //....English.
            //    {
            //        pLowerLimit = (pEndConfigL + pBearing_Pad_L) - pHead_H - 0.020F + 1.5F * pD;
            //    }
            //}

            return(pLowerLimit);
        }
예제 #10
0
            public Double MountFixture_Screw_L_LowerLimit(int Indx_In)
            //=========================================================
            {
                //....Relevant Radial Bearing Parameter:
                //clsScrew pScrew_Spec = Fixture_Screw_Spec[Indx_In];
                clsScrew pScrew_Spec = Fixture[Indx_In].Screw_Spec;      //BG 24AUG12

                double pBearing_Pad_L = mCurrent_Bearing_Radial_FP.Pad.L;

                //....Relevant End Config Parameter:
                double pEndConfigL = mCurrent_Bearing_Radial_FP.mCurrentProduct.EndConfig[Indx_In].L;

                //....Mounting Screw Parameters:
                string pD_Desig = pScrew_Spec.D_Desig;
                Double pHead_H  = pScrew_Spec.Head_H;
                Double pD       = pScrew_Spec.D;

                Double pLowerLimit = 0.0F;

                if (pD_Desig != "" && pD_Desig != null)
                {
                    if (pD_Desig.Contains("M"))                                 //....Metric
                    {
                        //....Convert from mm ==> in.
                        pHead_H = pHead_H / 25.4F;              //....in
                        pD      = pD / 25.4F;

                        pLowerLimit = (pEndConfigL + pBearing_Pad_L) - pHead_H - 0.020F + 1.5F * pD;
                        pLowerLimit = pLowerLimit * 25.4F;      //....mm
                    }

                    else                                                        //....English.
                    {
                        pLowerLimit = (pEndConfigL + pBearing_Pad_L) - pHead_H - 0.020F + 1.5F * pD;
                    }
                }

                return(pLowerLimit);
            }
예제 #11
0
            //===================

            public clsMountHoles(clsEndConfig CurrentEndConfig_In)
            //====================================================
            {
                mCurrentEndConfig = CurrentEndConfig_In;
                mScrew_Spec       = new clsScrew(CurrentEndConfig_In.Unit.System);
            }
예제 #12
0
                public void Retrieve()                      //PB 20FEB12. To be reviewed.
                //=====================
                {
                    //Approximate DBC:
                    //----------------
                    Double pDBC_Calc = Calc_DBC_Ballpark();


                    //DBC Limits:
                    //-----------
                    //....Based on conversation with Harout K., Waukesha Bearings, 13APR12.
                    //
                    Double pcHalfRange;                                             // pDup;

                    if (mCurrent_Bearing_Radial_FP.OilInlet.Annulus.Exists == true) //....Annulus.
                    {
                        //pDup = mCurrent_Bearing_Radial_FP.OilInlet.Annulus.D;
                        pcHalfRange = 0.25;
                    }
                    else                                                                            //....No Annulus.
                    {
                        //pDup = mCurrent_Bearing_Radial_FP.DFit();
                        pcHalfRange = 0.75;
                    }

                    Double pDBC_Max, pDBC_Min;

                    pDBC_Max = pDBC_Calc + pcHalfRange;
                    pDBC_Min = pDBC_Calc - pcHalfRange;


                    //Max. Allowable Seal OD:
                    //-----------------------
                    //....Seal_Do_Max ().


                    //Retrieve the Candidate Fixtures:
                    BearingDBEntities pBearingDBEntities = new BearingDBEntities();
                    Decimal           pDBCMin            = (Decimal)pDBC_Min;
                    Decimal           pDBCMax            = (Decimal)pDBC_Max;
                    Decimal           pEndConfig_DO_Max  = (Decimal)EndConfig_DO_Max();

                    //....Row Count.
                    int pRowCount = 0;
                    var pProject  = (from pRec in pBearingDBEntities.tblManf_Fixture_SplitAndTurn
                                     where pRec.fldDBC >= pDBCMin && pRec.fldDBC <= pDBCMax && pRec.fldDBC != null &&
                                     pRec.fldDFinish <= pEndConfig_DO_Max && pRec.fldDFinish != null &&
                                     pRec.fldPartNo != null
                                     orderby pRec.fldDFinish ascending
                                     select pRec).ToList();

                    pRowCount = pProject.Count();
                    if (pRowCount == 0)
                    {
                        //....Candidate Fixture doesn't exist.
                        mExists = false;
                        return;
                    }
                    else
                    {
                        //....Candidate Fixture Exists.
                        mExists = true;

                        //....Dynamically Allocate Array with RowNumber.
                        mPartNo          = new string[pRowCount];
                        mDBC             = new Double[pRowCount];
                        mD_Finish        = new Double[pRowCount];
                        mHolesCount      = new int[pRowCount];
                        mHolesEquiSpaced = new bool[pRowCount];
                        mHolesAngStart   = new Double[pRowCount];

                        //.....Maximum Number of other Angles.
                        mHolesAngOther = new Double[pRowCount, mc_COUNT_MOUNT_HOLES_ANG_OTHER_MAX];

                        mThreadDia_Desig = new string[pRowCount];
                        mThreadPitch     = new Double[pRowCount];


                        //.....Retrieve Fixture data from tblManf_Fixture_SplitAndTurn.  PB 19FEB12. Recheck.

                        if (pProject.Count() > 0)
                        {
                            for (int i = 0; i < pRowCount; i++)
                            {
                                mPartNo[i]          = pProject[i].fldPartNo.ToString();
                                mDBC[i]             = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldDBC);
                                mD_Finish[i]        = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldDFinish);
                                mHolesCount[i]      = mCurrent_Bearing_Radial_FP.mDB.CheckDBInt(pProject[i].fldCountHoles);
                                mHolesEquiSpaced[i] = mCurrent_Bearing_Radial_FP.mDB.CheckDBBool(pProject[i].fldEqui_Spaced);
                                mHolesAngStart[i]   = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Start);

                                mThreadDia_Desig[i] = pProject[i].fldDia_Desig.ToString();

                                if (!mHolesEquiSpaced[i])
                                {
                                    //for (int j = 0; j < mc_COUNT_MOUNT_HOLES_ANG_OTHER_MAX; j++)
                                    mHolesAngOther[i, 0] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other1);
                                    mHolesAngOther[i, 1] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other2);
                                    mHolesAngOther[i, 2] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other3);
                                    mHolesAngOther[i, 3] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other4);
                                    mHolesAngOther[i, 4] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other5);
                                    mHolesAngOther[i, 5] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other6);
                                    mHolesAngOther[i, 6] = mCurrent_Bearing_Radial_FP.mDB.CheckDBDouble(pProject[i].fldAng_Other7);
                                }


                                if (!mCurrent_Bearing_Radial_FP.Mount.Holes_GoThru)
                                {
                                    //....Go Thru' = NO;
                                    //........Further selection criteria applied based on minimum thread depth.

                                    //........Min Tap Drill depth.
                                    clsScrew pScrew_Spec = new clsScrew(mCurrent_Bearing_Radial_FP.Unit.System);
                                    pScrew_Spec.D_Desig = mThreadDia_Desig[i];

                                    Double pDepth_TapDrill_Min;
                                    pDepth_TapDrill_Min = 1.5 * pScrew_Spec.D + 0.0625;

                                    if (pDepth_TapDrill_Min > 0.5 * mCurrent_Bearing_Radial_FP.Pad.L - 0.125F)
                                    {
                                        //....Criteria violated. This fixture is rejected from the candidate list.
                                        mPartNo[i] = "";
                                    }
                                }
                            }
                        }
                    }
                }