OpenRoads Designer CONNECT Edition SDK Help

Add curve widening to a corridor

The corridors point's such as EOP_L,EOP_R, CL_L, CL_R, EOP_LM, EOP_RM etc. which are defined in corridor template. Curve widening can be applied to these points of corridor.


public bool CurveWideningToCorridor()
        {
            Bentley.CifNET.SDK.Edit.ConsensusConnectionEdit con = Bentley.CifNET.SDK.Edit.ConsensusConnectionEdit.GetActive();
            GeometricModel geomModel = con.GetActiveGeometricModel();
            if (geomModel == null) return false ;

            //Add Curve widening to first corridor from list
            foreach (Corridor corridor in geomModel.Corridors)
            {
                //create parameters for curve widening
                double startDistance = corridor.StartDistance;
                double endDistance = corridor.EndDistance;
                string pointName = "EOP_R";
                Bentley.CifNET.GeometryModel.SDK.CurveWideningParameter curveWideningParameter = new Bentley.CifNET.GeometryModel.SDK.CurveWideningParameter(pointName, startDistance, endDistance);

                curveWideningParameter.Description = "Sample CW on EOP_R";
                curveWideningParameter.Enabled = false;
                curveWideningParameter.Overlap = CurveWideningOverlap.ShiftMaxWideningPointsOntoCurves;
                curveWideningParameter.Priority = 1;
                curveWideningParameter.UseSpiralLengthForTransition = false;
                curveWideningParameter.WideningTableFileName = "C:\\ProgramData\\Bentley\\OpenRoads Designer CE 10.11\\Configuration\\Organization-Civil\\_Civil Default Standards - Imperial\\Widening\\curve_widening_imperial_no_spirals.wid";

                //create curve widening for corridor
                Bentley.CifNET.GeometryModel.SDK.CurveWidening curveWidening = corridor.AddCurveWidening(curveWideningParameter);
                if (curveWidening == null) return false;

                break;
            }
            return true;
        }

Corridor.AddCurveWidening() is used here to add curve widening to a corridor.