ORD - Complex Redefine Troubleshooting

Is anyone having issues with complex redefine not working for certain alignments? I need to replace a tangent section with two sets of reverse curves at each end of the new segment. The arcs were drawn per tutorial videos, tangent and all. The complex redefine won't work, it keeps the original tangent section along with the new segment. Should I be looking at the alignment settings for the original line in the explorer window? 

Given that ORD doesn't have alignment editing commands that InRoads has, it's critical for redefine to function. 

  • Hi

    Can you attach or send me the DGN you are having trouble with. I've tried the complex redefine and it does appear to be doing some odd things. I just want to confirm with your data that its something similar to what I am seeing. I can then look at a solution and log  a defect if required.

    Simon Pegg]

    Bentley Civil Support



  • I have this issue, exactly as described by the OP. The file is in the workset for this tutorial. It is the named "Geometry.dgn". This is the log:

    Exception caught in source file e:\Builds\cif10080088\Source\Cif\src\managed\ui\tools\PrimitiveCommand\PrimitiveCommand.cs at method OnDataButtonInternal

    ================================================================================
    Exception : Object reference not set to an instance of an object.

    In Assembly : Bentley.CifNET.GeometryModel.4.0

    Stack Trace :
    at Bentley.CifNET.GeometryModel.ComplexRuleHelper.SplitEntryUsingIntervals(ComplexRuleEntry entryToSplit, PointEntity2d splitPointEntity, IList`1 ruleToDelete)
    at Bentley.CifNET.GeometryModel.PeristenceEnabledComplexRuleWrapper.SplitAndCreateBreak(LinearEntity2d thisEntity, Boolean startOfEntity, Boolean cplxIsReverse, Boolean& circularDependency)
    at Bentley.CifNET.GeometryModel.PeristenceEnabledComplexRuleWrapper.RedefineComplexEntity(LinearEntity2d thisEntity, ComplexRuleWrapper& alternateSectionRule, Boolean appendAlternative)
    at Bentley.CifNET.GeometryModel.Tools.RedefineComplexElement.LocateElementState.OnEntered()
    at Bentley.CifNET.UI.Tools.ObjectEntryState.DoObjectSelected()
    at Bentley.CifNET.UI.Tools.ObjectEntryState.OnObjectPicked(ObjectKey pickedObject, ObjectKey pickedObjectParent, DPoint3d point)
    at Bentley.CifNET.UI.Tools.ObjectEntryState.OnObjectPicked(ObjectKey pickedObject, ObjectKey pickedObjectParent, IButtonEvent buttonEvent)
    at Bentley.CifNET.UI.Tools.PrimitiveCommand.<>c__DisplayClass106_0.<OnDataButtonInternal>b__0()
    at Bentley.CifNET.UI.Tools.PrimitiveCommand.ManagedBooleanCallBack(Func`1 method, Boolean exitCommandAndCleanupCaches, Boolean retValue, String message, String memberName, String sourceFilePath, Int32 sourceLineNumber)

  • I encounter the exact same issue somewhat regularly and usually have to resort to dropping and reconstructing the entire alignment which is extremely inefficient. I really hope Bentley is working to resolve this and a number of other openroads problems. Thanks

  • With the complex redefine tool I find it works better if you pick the base elements rather than the complex elements.  The base elements would be the ones that you placed to build the complex.  These are the "ghosted" graphics that you can select if you hover over the trimmed portion of the element; or, the non-visible parts of the interval elements.

    Also, you can not select a dependent element as something as a base for the redefine.  The redefining elements must be either fixed elements (two point lines or 3 point arcs, or floating elements dependent on some other element for this tool to work.  This may require you to go back further in the alignment that originally expected.