示例#1
0
        private void ModelBeamToStbColumnAndGirder(
            List <StbSecBeam_RC> secBeams_RC, List <StbSecBeam_S> secBeams_S, List <StbSecColumn_RC> secColumn_RC, List <StbSecColumn_S> secColumn_S, K2SSecSteelItems secSteel,
            double colMaxAngle, ICollection <StbColumn> columns, ICollection <StbGirder> girders, double pAngle, double nAngle, ModelBeam modelBeam)
        {
            int  croSecId = _croSecNames.IndexOf(modelBeam.crosec.name);
            bool positive = pAngle <= colMaxAngle && pAngle >= -1d * colMaxAngle;
            bool negative = nAngle <= colMaxAngle && nAngle >= -1d * colMaxAngle;

            if (positive || negative)
            {
                var kind = GetColumnStructureKind(modelBeam.crosec.material.family);
                columns.Add(K2StbMemberItems.CreateColumn(modelBeam, croSecId, kind));
                if (_registeredCroSecId[0].IndexOf(croSecId) < 0)
                {
                    AddColumnSection(secColumn_S, secColumn_RC, secSteel, kind, croSecId, _tagNum[0]++);
                }
            }
            else
            {
                var kind = GetGirderStructureKind(modelBeam.crosec.material.family);
                girders.Add(K2StbMemberItems.CreateGirder(modelBeam, croSecId, kind));
                if (_registeredCroSecId[1].IndexOf(croSecId) < 0)
                {
                    AddBeamSection(secBeams_S, secBeams_RC, secSteel, kind, croSecId, _tagNum[1]++);
                }
            }
        }
示例#2
0
        private void ModelTrussToStbBrace(List <StbSecBrace_S> secBrace_S, K2SSecSteelItems secSteel, ICollection <StbBrace> braces, ModelTruss modelTruss)
        {
            int trussCroSecId = _croSecNames.IndexOf(modelTruss.crosec.name);

            braces.Add(K2StbMemberItems.CreateBrace(modelTruss, trussCroSecId));
            if (_registeredCroSecId[2].IndexOf(trussCroSecId) < 0)
            {
                AddBraceSection(secBrace_S, secSteel, trussCroSecId, _tagNum[2]++);
            }
        }