public async Task CreateDxfDrawingAsync(
            string filePath,
            A_Type a_Type,
            double SkipA,
            Legend legend,
            DrawAsType drawAsType = DrawAsType.SOLID)
        {
            legend.Extrime = Panel.Max(x => x.ExtremeMax(a_Type));

            IDrawParameters p = new DrawDxfParametars
            {
                a_Type         = a_Type,
                drawAsType     = drawAsType,
                Legend         = legend,
                ListFe         = Panel,
                SkipA          = SkipA,
                slabEdgesNodes = PanelEdges
            };
            await Task.Run(() =>
            {
                var drawing = new DrawDxf();
                drawing
                .SetParamForDrawing(p)
                .CreatAllLayer()
                .DrawEdges()
                .DrawIsolines()
                .DrawLegend()
                .SaveDrawing(filePath);
            });
        }
        public void ConvertFromRSA_FEToFE(RSA_FE element, A_Type TypeOfA)
        {
            FE_ID    = element.FE_ID;
            Panel_ID = element.Panel_ID;
            nodes    = new List <Node>();
            for (int i = 0; i < element.nodes.Count; i++)
            {
                var n = new Node();
                n.X = element.nodes[i].X;
                n.Y = element.nodes[i].Y;
                switch (TypeOfA)
                {
                case A_Type.AX_TOP:
                    n.A = element.nodes[i].AX_TOP;
                    break;

                case A_Type.AX_BOTTOM:
                    n.A = element.nodes[i].AX_BOTTOM;
                    break;

                case A_Type.AY_TOP:
                    n.A = element.nodes[i].AY_TOP;
                    break;

                case A_Type.AY_BOTTOM:
                    n.A = element.nodes[i].AY_BOTTOM;
                    break;

                default:
                    break;
                }
                nodes.Add(n);
            }
        }
Exemple #3
0
        private List <FE> TranslateFE(double Areq, A_Type a_Type, List <RSA_FE> Panel, double SkipA)
        {
            List <FE> l = new List <FE>();

            Panel.ForEach(x =>
            {
                var e = new FE();
                e.ConvertFromRSA_FEToFE(x, a_Type);
                l.Add(e);
            });
            var v = new GeneratorOfIsolines(l);

            return(v.GetNewNodesInFE((Areq + SkipA)));
        }
        public double ExtremeMin(A_Type a_Type)
        {
            switch (a_Type)
            {
            case A_Type.AX_TOP:
                return(Min_AX_TOP);

            case A_Type.AX_BOTTOM:
                return(Min_AX_BOTTOM);;

            case A_Type.AY_TOP:
                return(Min_AY_TOP);;

            case A_Type.AY_BOTTOM:
                return(Min_AY_BOTTOM);;

            default:
                return(0);
            }
        }
        public static string GetA_TypeAsString(A_Type A_Type)
        {
            switch (A_Type)
            {
            case A_Type.AX_TOP:
                return("Ax[+]");

            case A_Type.AX_BOTTOM:
                return("Ax[-]");

            case A_Type.AY_TOP:
                return("Ay[+]");

            case A_Type.AY_BOTTOM:
                return("Ay[-]");

            default:
                return(null);
            }
        }
Exemple #6
0
    public void LoadNew(A_Type armor)
    {
        switch (armor)
        {
        case A_Type.MetalSoft:
            change ["Blunt_to_Blunt"]    = 1.0f;
            change ["Cut_to_Blunt"]      = 1.0f;
            change ["Pierce_to_Blunt"]   = 1.0f;
            change ["Abrasive_to_Blunt"] = 0.0f;

            change ["Blunt_to_Cut"]    = 0.0f;
            change ["Cut_to_Cut"]      = 0.0f;
            change ["Pierce_to_Cut"]   = 0.0f;
            change ["Abrasive_to_Cut"] = 0.0f;

            change ["Blunt_to_Pierce"]    = 0.0f;
            change ["Cut_to_Pierce"]      = 0.0f;
            change ["Pierce_to_Pierce"]   = 0.0f;
            change ["Abrasive_to_Pierce"] = 0.0f;

            change ["Blunt_to_Abrasive"]    = 0.0f;
            change ["Cut_to_Abrasive"]      = 0.0f;
            change ["Pierce_to_Abrasive"]   = 0.0f;
            change ["Abrasive_to_Abrasive"] = 1.0f;

            reduction ["Blunt"]    = 0.12f;
            reduction ["Cut"]      = 0.0f;
            reduction ["Pierce"]   = 0.0f;
            reduction ["Abrasive"] = 0.8f;

            destruction ["Blunt"]    = 0.1f;
            destruction ["Cut"]      = 0.4f;
            destruction ["Pierce"]   = 0.4f;
            destruction ["Abrasive"] = 0.5f;

            structure = 100.0f;
            mass      = 8.0f;
            name      = "Soft Metal";

            break;

        case A_Type.MetalHard:
            change ["Blunt_to_Blunt"]    = 1.0f;
            change ["Cut_to_Blunt"]      = 1.0f;
            change ["Pierce_to_Blunt"]   = 1.0f;
            change ["Abrasive_to_Blunt"] = 0.0f;

            change ["Blunt_to_Cut"]    = 0.0f;
            change ["Cut_to_Cut"]      = 0.0f;
            change ["Pierce_to_Cut"]   = 0.0f;
            change ["Abrasive_to_Cut"] = 0.0f;

            change ["Blunt_to_Pierce"]    = 0.0f;
            change ["Cut_to_Pierce"]      = 0.0f;
            change ["Pierce_to_Pierce"]   = 0.0f;
            change ["Abrasive_to_Pierce"] = 0.0f;

            change ["Blunt_to_Abrasive"]    = 0.0f;
            change ["Cut_to_Abrasive"]      = 0.0f;
            change ["Pierce_to_Abrasive"]   = 0.0f;
            change ["Abrasive_to_Abrasive"] = 1.0f;

            reduction ["Blunt"]    = 0.1f;
            reduction ["Cut"]      = 0.0f;
            reduction ["Pierce"]   = 0.0f;
            reduction ["Abrasive"] = 0.6f;

            destruction ["Blunt"]    = 0.5f;
            destruction ["Cut"]      = 0.1f;
            destruction ["Pierce"]   = 0.1f;
            destruction ["Abrasive"] = 1.0f;

            structure = 100.0f;
            mass      = 10.0f;
            name      = "Hard Metal";

            break;

        case A_Type.Ammortization:
            change ["Blunt_to_Blunt"]    = 1.0f;
            change ["Cut_to_Blunt"]      = 0.0f;
            change ["Pierce_to_Blunt"]   = 0.0f;
            change ["Abrasive_to_Blunt"] = 0.0f;

            change ["Blunt_to_Cut"]    = 0.0f;
            change ["Cut_to_Cut"]      = 1.0f;
            change ["Pierce_to_Cut"]   = 0.0f;
            change ["Abrasive_to_Cut"] = 0.0f;

            change ["Blunt_to_Pierce"]    = 0.0f;
            change ["Cut_to_Pierce"]      = 0.0f;
            change ["Pierce_to_Pierce"]   = 1.0f;
            change ["Abrasive_to_Pierce"] = 0.0f;

            change ["Blunt_to_Abrasive"]    = 0.0f;
            change ["Cut_to_Abrasive"]      = 0.0f;
            change ["Pierce_to_Abrasive"]   = 0.0f;
            change ["Abrasive_to_Abrasive"] = 1.0f;

            reduction ["Blunt"]    = 0.8f;
            reduction ["Cut"]      = 0.0f;
            reduction ["Pierce"]   = 0.0f;
            reduction ["Abrasive"] = 0.0f;

            destruction ["Blunt"]    = 0.02f;
            destruction ["Cut"]      = 0.5f;
            destruction ["Pierce"]   = 0.5f;
            destruction ["Abrasive"] = 0.9f;

            structure = 100.0f;
            mass      = 7.0f;
            name      = "Ammortization";

            break;
        }
    }