Here is a VBA sample for you to try. Open your drawing, and run the VBA macro, then select two linear curves to get their intersection point, then select another linear curve to dimension it from the intersection point:
Sub DimIntersectionPoint()
Dim oDoc As DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oCurve1 As DrawingCurveSegment
Dim oCurve2 As DrawingCurveSegment
MsgBox "Select two linear curves to get their intersection point"
Set oCurve1 = ThisApplication.CommandManager.Pick(kDrawingCurveSegmentFilter, "Select first drawing curve for intersection point")
Set oCurve2 = ThisApplication.CommandManager.Pick(kDrawingCurveSegmentFilter, "Select second drawing curve for intersection point")
MsgBox "Select another linear curve to add dim from intersection point"
Dim oCurve3 As DrawingCurveSegment
Set oCurve3 = ThisApplication.CommandManager.Pick(kDrawingCurveSegmentFilter, "Select another drawing curve to add dimension from intersection point")
Dim oDrawingView As DrawingView
Set oDrawingView = oCurve1.Parent.Parent
Dim oViewSk As DrawingSketch, oIntersectionSk As DrawingSketch
If oDrawingView.Sketches.Count > 0 Then
For Each oViewSk In oDrawingView.Sketches
If oViewSk.AttributeSets.NameIsUsed("IntersectionPointSketch") Then
Set oIntersectionSk = oViewSk
Exit For
End If
Next
End If
If oIntersectionSk Is Nothing Then
Set oIntersectionSk = oDrawingView.Sketches.Add
oIntersectionSk.AttributeSets.Add "IntersectionPointSketch", True
End If
oIntersectionSk.Edit
Dim oPt As SketchPoint
Set oPt = oIntersectionSk.SketchPoints.Add(ThisApplication.TransientGeometry.CreatePoint2d(2, 2), True)
Dim oProjectedCurve1 As SketchLine, oProjectedCurve2 As SketchLine
Dim oProjectedEntity As SketchEntity
Set oProjectedEntity = oIntersectionSk.AddByProjectingEntity(oCurve1.Parent)
Set oProjectedCurve1 = oProjectedEntity
Set oProjectedEntity = oIntersectionSk.AddByProjectingEntity(oCurve2.Parent)
Set oProjectedCurve2 = oProjectedEntity
Call oIntersectionSk.GeometricConstraints.AddCoincident(oPt, oProjectedCurve1)
Call oIntersectionSk.GeometricConstraints.AddCoincident(oPt, oProjectedCurve2)
Dim oProjectedCurve3 As SketchLine
Set oProjectedEntity = oIntersectionSk.AddByProjectingEntity(oCurve3.Parent)
Set oProjectedCurve3 = oProjectedEntity
Dim oDimConstraint As DimensionConstraint
Set oDimConstraint = oIntersectionSk.DimensionConstraints.AddOffset(oProjectedCurve3, oPt, oPt.Geometry, False, True)
oIntersectionSk.ExitEdit
Dim oSheet As Sheet
Set oSheet = oDrawingView.Parent
Dim oCol As ObjectCollection
Set oCol = ThisApplication.TransientObjects.CreateObjectCollection
oCol.Add oDimConstraint
Call oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oIntersectionSk, oCol)
End Sub
You can add the macro to UI as a ribbon button from Customize dialog if you like. Hope this helps.
If this solves the problem please click ACCEPT SOLUTION so other people can find it easily.
Rocky Zhang
Inventor API PD
Manufacturing Solutions
Autodesk, Inc.