示例#1
0
        private BeamCase GetConcentratedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;

            if (load is LoadConcentratedSpecial) //1A.1
            {
                LoadConcentratedSpecial  cl = load as LoadConcentratedSpecial;
                ConcentratedLoadAtCenter b  = new ConcentratedLoadAtCenter(beam, cl.P);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedGeneral) //1A.2
            {
                LoadConcentratedGeneral    cl = load as LoadConcentratedGeneral;
                ConcentratedLoadAtAnyPoint b  = new ConcentratedLoadAtAnyPoint(beam, cl.P, cl.XLocation);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedDoubleSymmetrical) //1A.3
            {
                LoadConcentratedDoubleSymmetrical cl = load as LoadConcentratedDoubleSymmetrical;
                TwoConcentratedLoadsSymmetrical   b  =
                    new TwoConcentratedLoadsSymmetrical(beam, cl.P, cl.Dimension_a);
                beamForceCase      = b;
                beamDeflectionCase = b;
            }

            if (load is LoadConcentratedDoubleUnsymmetrical) //1A.4
            {
                LoadConcentratedDoubleUnsymmetrical cl = load as LoadConcentratedDoubleUnsymmetrical;
                TwoConcentratedLoadsUnsymmetrical   b  =
                    new TwoConcentratedLoadsUnsymmetrical(beam, cl.P1, cl.P2, cl.Dimension_a, cl.Dimension_b);
                beamForceCase      = b;
                beamDeflectionCase = null;
            }
            if (load is LoadConcentratedCenterWithEndMoments) //1A.5
            {
                LoadConcentratedCenterWithEndMoments     cl = load as LoadConcentratedCenterWithEndMoments;
                ConcentratedLoadAtCenterAndVarEndMoments b  =
                    new ConcentratedLoadAtCenterAndVarEndMoments(beam, cl.P, cl.M1, cl.M2);
                beamForceCase      = b;
                beamDeflectionCase = null;
            }
            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
示例#2
0
        private BeamCase GetConcentratedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam beamForceCase = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;
            if (load is LoadConcentratedSpecial) //1A.1
            {
                LoadConcentratedSpecial cl = load as LoadConcentratedSpecial;
                ConcentratedLoadAtCenter b = new ConcentratedLoadAtCenter(beam, cl.P);
                beamForceCase = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedGeneral) //1A.2
            {
                LoadConcentratedGeneral cl = load as LoadConcentratedGeneral;
                ConcentratedLoadAtAnyPoint b=new ConcentratedLoadAtAnyPoint(beam, cl.P, cl.XLocation);
                beamForceCase = b;
                beamDeflectionCase = b;
            }
            if (load is LoadConcentratedDoubleSymmetrical) //1A.3
            {
                LoadConcentratedDoubleSymmetrical cl = load as LoadConcentratedDoubleSymmetrical;
                TwoConcentratedLoadsSymmetrical b =
                   new TwoConcentratedLoadsSymmetrical(beam, cl.P, cl.Dimension_a);
                beamForceCase = b;
                beamDeflectionCase = b;
            }

            if (load is LoadConcentratedDoubleUnsymmetrical) //1A.4
            {
                LoadConcentratedDoubleUnsymmetrical cl = load as LoadConcentratedDoubleUnsymmetrical;
                TwoConcentratedLoadsUnsymmetrical b =
                   new TwoConcentratedLoadsUnsymmetrical(beam, cl.P1, cl.P2, cl.Dimension_a, cl.Dimension_b);
                beamForceCase = b;
                beamDeflectionCase = null;
            }
            if (load is LoadConcentratedCenterWithEndMoments) //1A.5
            {
                LoadConcentratedCenterWithEndMoments cl = load as LoadConcentratedCenterWithEndMoments;
                ConcentratedLoadAtCenterAndVarEndMoments b =
                   new ConcentratedLoadAtCenterAndVarEndMoments(beam, cl.P, cl.M1, cl.M2);
                beamForceCase = b;
                beamDeflectionCase = null;
            }
            return new BeamCase(beamForceCase, beamDeflectionCase);
        }