ForceLineInside Property (ActiveX)

Specifies whether a dimension line is drawn between the extension lines even when the text is placed outside the extension lines.

Supported platforms: Windows only

Signature

VBA:

object.ForceLineInside
object

Type: Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimDiametric, DimRadial, DimRadialLarge, DimRotated

The objects this property applies to.

Property Value

Read-only: No

Type: Boolean

Remarks

The initial value for this property is False.

For radius and diameter dimensions (when the TextInside property is set to False), this property draws a dimension line and arrowheads inside the circle or arc and places the text and leader outside.

Note: This property overrides the value of the DIMTOFL system variable for the given dimension.

Examples

VBA:

Sub Example_ForceLineInside()
    ' This example creates an aligned dimension in model space
    ' and toggles dimension lines to be drawn between extension lines
    
    Dim dimObj As AcadDimAligned
    Dim point1(0 To 2) As Double, point2(0 To 2) As Double
    Dim location(0 To 2) As Double
    Dim CurrentValue As String
    
    ' Define the dimension
    point1(0) = 5: point1(1) = 5: point1(2) = 0
    point2(0) = 5.5: point2(1) = 5: point2(2) = 0
    location(0) = 5: location(1) = 7: location(2) = 0
    
    ' Create an aligned dimension object in model space
    Set dimObj = ThisDrawing.ModelSpace.AddDimAligned(point1, point2, location)
    ThisDrawing.Application.ZoomAll

    ' Read and display current line suppression information
    CurrentValue = IIf(dimObj.ForceLineInside, "are", "are not")
    MsgBox "Dimension lines " & CurrentValue & " forced between the extension lines"

    ' Force the display of dimension lines between the extension lines
    dimObj.ForceLineInside = True
    ThisDrawing.Regen acAllViewports
    MsgBox "Dimension lines are forced between the extension lines"
   
    ' Do not force the display of dimension lines between the extension lines (default)
    dimObj.ForceLineInside = False
    ThisDrawing.Regen acAllViewports
    MsgBox "Dimension lines are not forced between the extension lines"

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ForceLineInside()
    ;; This example creates an aligned dimension in model space
    ;; and toggles dimension lines to be drawn between extension lines
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; Define the dimension
    (setq point1 (vlax-3d-point 5 5 0)
          point2 (vlax-3d-point 5.5 5 0)
          location (vlax-3d-point 5 7 0))
    
    ;; Create an aligned dimension object in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq dimObj (vla-AddDimAligned modelSpace point1 point2 location))
    (vla-ZoomAll acadObj)

    ;; Read and display current line suppression information
    (setq CurrentValue (if (= (vla-get-ForceLineInside dimObj) :vlax-true) "are" "are not"))
    (alert (strcat "Dimension lines " CurrentValue " forced between the extension lines"))

    ;; Force the display of dimension lines between the extension lines
    (vla-put-ForceLineInside dimObj :vlax-true)
    (vla-Regen doc acAllViewports)
    (alert "Dimension lines are forced between the extension lines")
   
    ;; Do not force the display of dimension lines between the extension lines (default)
    (vla-put-ForceLineInside dimObj :vlax-false)
    (vla-Regen doc acAllViewports)
    (alert "Dimension lines are not forced between the extension lines")
)