コード例 #1
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            double gammaMU = 0.0, gammaMAs = 0.0, kdefU = 0.0, kdefSq = 0.0, kdefSf = 0.0, kdefSc = 0.0, systemFactor = 1.0;
            int    serviceClass = 1;

            if (!DA.GetData("Gamma mu", ref gammaMU))
            {
                return;
            }
            if (!DA.GetData("Gamma ma", ref gammaMAs))
            {
                return;
            }
            if (!DA.GetData("kdef U", ref kdefU))
            {
                return;
            }
            if (!DA.GetData("kdef Sq", ref kdefSq))
            {
                return;
            }
            if (!DA.GetData("kdef Sf", ref kdefSf))
            {
                return;
            }
            if (!DA.GetData("kdef Sc", ref kdefSc))
            {
                return;
            }
            if (!DA.GetData("serviceClass", ref serviceClass))
            {
                return;
            }
            if (!DA.GetData("systemFactor", ref systemFactor))
            {
                return;
            }

            // parse enum
            // test value
            if (!Enum.IsDefined(typeof(FemDesign.Materials.TimberServiceClassEnum), serviceClass - 1))
            {
                throw new System.ArgumentException($"Incorrect service class value: {serviceClass}. Value should be 1, 2 or 3");
            }
            // set enum if exception was not thrown
            var sClass = (FemDesign.Materials.TimberServiceClassEnum)(serviceClass - 1);

            // create object
            FemDesign.Materials.TimberFactors obj = new Materials.TimberFactors(gammaMU, gammaMAs, kdefU, kdefSq, kdefSf, kdefSc, sClass, systemFactor);

            // return
            DA.SetData(0, obj);
        }
コード例 #2
0
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            Materials.CltPanelLibraryType cltPanelLibraryType = null;
            if (!DA.GetData("CltPanelLibraryType", ref cltPanelLibraryType))
            {
                return;
            }

            Materials.TimberFactors factors = null;
            if (!DA.GetData("TimberFactors", ref factors))
            {
                return;
            }

            bool shearCoupling = true, gluedNarrowSides = true;

            DA.GetData("ShearCoupling", ref shearCoupling);
            DA.GetData("GluedNarrowSides", ref gluedNarrowSides);

            FemDesign.Materials.TimberPanelType obj = new Materials.TimberPanelType(cltPanelLibraryType, factors, shearCoupling, gluedNarrowSides);

            DA.SetData(0, obj);
        }