private static RuleApplicabilityCondition[] CreateConditionsForRow1()
        {
            // the conditions are for the 1st element from the connection
            int connectionObjectIdx = 0;

            // create a condition for FX parameter
            RuleApplicabilityConditionRange condition1 = new RuleApplicabilityConditionRange()
            {
                Key        = "Cond1",
                MinVal     = new RuleApplicabilityData(0.0), // 0 KN
                MaxVal     = new RuleApplicabilityData(5.0), // 5 KN
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kFx
            };


            // create a condition for material parameter
            RuleApplicabilityConditionList condition2 = new RuleApplicabilityConditionList()
            {
                Key   = "Cond2",
                Items = new RuleApplicabilityData[2] {
                    new RuleApplicabilityData("some material name 1"), new RuleApplicabilityData("some material name 2")
                },
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kMaterial_Name
            };

            // create a condition for family name parameter
            RuleApplicabilityConditionList condition3 = new RuleApplicabilityConditionList()
            {
                Key   = "Cond3",
                Items = new RuleApplicabilityData[1] {
                    new RuleApplicabilityData("W Shapes")
                },
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kSection_Class
            };

            return(new RuleApplicabilityCondition[] { condition1, condition2, condition3 });
        }
        private static RuleApplicabilityCondition[] CreateConditionsForRow2()
        {
            // the conditions are for the 1st element from the connection
            int connectionObjectIdx = 0;

            // create a condition for MX parameter
            RuleApplicabilityConditionRange condition1 = new RuleApplicabilityConditionRange()
            {
                Key        = "Cond1",
                MinVal     = new RuleApplicabilityData(0.0), // 0 KN-M
                MaxVal     = new RuleApplicabilityData(5.0), // 5 KN-M
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kMx
            };

            // create a condition for section shape
            RuleApplicabilityConditionList condition2 = new RuleApplicabilityConditionList()
            {
                Key   = "Cond2",
                Items = new RuleApplicabilityData[1] {
                    new RuleApplicabilityData((int)StructuralSectionShape.IParallelFlange)
                },
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kSection_Shape
            };

            // create a condition for flange thickness
            RuleApplicabilityConditionRange condition3 = new RuleApplicabilityConditionRange()
            {
                Key        = "Cond3",
                MinVal     = new RuleApplicabilityData(10.0), // 10 mm
                MaxVal     = new RuleApplicabilityData(20.0), // 20 mm
                ObjectId   = connectionObjectIdx,
                PropertyId = RuleApplicabilityPropertyId.kSection_FlangeThickness
            };

            return(new RuleApplicabilityCondition[] { condition1, condition2, condition3 });
        }