This error showed up. Using Geopak SS4 .845.
The exception: Object reference not set to an instance of an object. occurred.
The operation is canceled. at Bentley.Civil.Geometry.Model.SuperElevation.SuperElevationSectionNamedEntityRule.ProjectPointToSuperStation(DPoint3d point)
at Bentley.Civil.Geometry.Model.SuperElevation.SuperElevationNamedEntity.ProjectPointToSuperStation(DPoint3d point)
at Bentley.Civil.Geometry.Model.Accessor.CorridorEntity.GetSuperelevationCrossSlope(String key, DPoint3d point, Double& crossSlope)
at uGeometricEntity._GetSuperelevationCrossSlope(uGeometricEntity*, Char* key, _dPoint3d point, Double* value)
at rdLink_ProcessActiveCorridor(Double , Double , IRoadwayDesignerCallbacks* , Boolean , Boolean , Boolean )
at Bentley.Civil.RoadwayDesignerPlugin.ActiveCorridorImplementation.Evaluate(Double dStartStn, Double dStopStn, IRoadwayDesignerCallbacks callbacks, Boolean bClearAllResults, Boolean bDiscontinuous, Boolean bBuildOutput)
at Bentley.Civil.Geometry.Model.RoadwayDesigner.BaseCorridorRule.Evaluate(IObjectTracker objectSpace, IEnumerable`1 changeEvents)
at Bentley.Civil.Geometry.Model.RoadwayDesigner.BaseCorridorRule.Evaluate(IObjectTracker objectSpace, IEnumerable`1 changeEvents, DependencyCycleInfo info)
at Bentley.Civil.Model.EnhancedRule.Bentley.Civil.Objects.RuleManagement.IRule.Evaluate(IObjectTracker objectSpace, IEnumerable`1 changeEvents, DependencyCycleInfo info)
at Bentley.Civil.Objects.RuleManagement.ActionList.ActionNodeRoot.Process(IRuleEvaluationLogger logger, DependencyCycleInfo transactionInfo, CheckStopProcessingRule checkStop, Int32 waveCount)
While I don't know the exact origin of this, here's a few things that may be relevant:
- The alignment that it follows had been at some point broken and reformed with the same name. This carries the additional meaning that the old corridor was destroyed and a new corridor takes its place.
- There were two superelevation sections on top of one another. One may have been based on the old alignment. The other appears to be based on the new alignment. Because of these two superelevation sections, I may have selected the wrong superelevation section to apply to the new corridor. Whichever one I used did seem to work fine as I was applying it.
The error above was triggered only when I was attempting to set up a parametric constraint, which confused me. But after I disabled that parametric constraint and then attempted to reprocess, it was evident that it never really did have anything to do with the parametric constraint.
After removing the superelevation point controls and applying the right superelevation section, it is fine.