Arc with 3 tangent points

Is it possible to create an arc which connects to 3 elements tangentially? e.g. an arc between elements but the centre point also touches a third element in the middle. Something you can do in AutoCAD with Circle > 3P > tan snap for each point.

I've attached an example in red of it in AutoCAD.

Parents
  • I've managed to get it to work with the Microstation draw tools (I'm not too familiar with Microstation) but the Civil Geometry doesn't work, must be something I'm not getting quite correct.

    I do:

    - Arc Between Points

    - All parameters unlocked but with Tangent Snap fully on

    - Let click to confirm Start\End\Passthrough

    - Left click roughly where I think the point will be on the first circle

    - Left click roughly where I think the point will be on the third circle (so it shows the arc the correct way around) and I get an exception:

    Exception caught in source file e:\builds\cif10100103\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.CircleByThroughPoint2ElementsRule.GetCircleParalleleElementSolution(LinearElement startEl, LinearElement endEl, DPoint3d thruPoint)
    at Bentley.CifNET.GeometryModel.CircleByThroughPoint2ElementsRule.ConstructCircle()
    at Bentley.CifNET.GeometryModel.CircleRule.EvaluateTarget(IObjectTracker objectSpace)
    at Bentley.CifNET.GeometryModel.CircleRule.ConstructTargets(IPointEntity2dFactory factory)
    at Bentley.CifNET.GeometryModel.CircularArcRuleController.UpdateRule(ArcDefinitionMethod startDirection, ArcDefinitionMethod endDirection)
    at Bentley.CifNET.GeometryModel.Tools.PlaceArcBetweenPoints.UpdateRule()
    at Bentley.CifNET.GeometryModel.Tools.PlaceArcBetweenPoints.EndPointState.OnDynamicsPreEvaluation(GeometryCommandPoint geometryCommandPoint)
    at Bentley.CifNET.GeometryModel.Tool.GeometryCommand.DataPointEntryState.OnModelMotion(IButtonEvent buttonEvent)
    at Bentley.CifNET.UI.Tools.DataPointEntryState.InternalPrimativeState.Bentley.CifNET.UI.Tools.IParameterPromptDynamics.GetCursorValue(IButtonEvent buttonEvent, Object currentValue, Boolean valueLocked)
    at Bentley.CifNET.UI.Tools.CursorPrompt.CustomParameterDialogDefinition.OnDataPoint(IButtonEvent pointEvent)
    at Bentley.CifNET.UI.Tools.CursorPrompt.ParameterPromptManager.Bentley.CifNET.UI.Tools.ICommandParameterPrompter.OnDataPoint(IButtonEvent pointEvent)
    at Bentley.CifNET.UI.Tools.DataPointEntryState.InternalPrimativeState.OnDataButton(IButtonEvent buttonEvent)
    at Bentley.CifNET.UI.Tools.PrimitiveCommand.<>c__DisplayClass107_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)

    Maybe it's just my ORD acting up?

  • I was able to replicate this same error. I am not sure what's causing it. 

    If you need civil geometry you could still draw the arc using the microstation arc tool, then use the Single Offset Entire Element tool at an offset value of 0 with Remove Offset Rule checked on. 

    Answer Verified By: Ken Bagnall 

Reply Children