Fit Property (ActiveX)

Specifies the placement of text and arrowheads inside or outside extension lines, based on the available space between the extension lines.

Supported platforms: Windows only

Signature

VBA:

object.Fit
object

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

The objects this property applies to.

Property Value

Read-only: No

Type: acDimFit enum

Remarks

The initial value for this property is acBestFit.

The Fit property sets priorities for moving text and arrowheads when space is not available to fit both within the extension lines.

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

Examples

VBA:

Sub Example_Fit()
    ' This example creates an aligned dimension in model space
    ' and cycles the text fit of the dimension to a couple of common values
    
    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 CurrentFit As String
    
    ' Define the dimension
    point1(0) = 5: point1(1) = 5: point1(2) = 0
    point2(0) = 6: 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 dimension line fit information
    Select Case dimObj.Fit
        Case acTextAndArrows:   CurrentFit = "Text and Arrows"
        Case acArrowsOnly:      CurrentFit = "Arrows Only"
        Case acTextOnly:        CurrentFit = "Text Only"
        Case acBestFit:         CurrentFit = "Best Fit"
    End Select
    
    MsgBox "The current dimension fit is set to: " & CurrentFit

    ' Change the fit to arrows only
    dimObj.Fit = acArrowsOnly
    ThisDrawing.Regen acAllViewports
    MsgBox "The dimension fit has been changed to arrows only"
    
    ' Change the fit to text only
    dimObj.Fit = acTextOnly
    ThisDrawing.Regen acAllViewports
    MsgBox "The dimension fit has been changed to text only"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Fit()
    ;; This example creates an aligned dimension in model space
    ;; and cycles the text fit of the dimension to a couple of common values
    (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 6 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 dimension line fit information
    (setq CurrentFit (vla-get-Fit dimObj))
    (cond
        ((= acTextAndArrows CurrentFit)(setq CurrentFit "Text and Arrows"))
        ((= acArrowsOnly CurrentFit)(setq CurrentFit "Arrows Only"))
        ((= acTextOnly CurrentFit)(setq CurrentFit "Text Only"))
        ((= acBestFit CurrentFit)(setq CurrentFit "Best Fit"))
	                                (setq CurrentFit (itoa CurrentFit))
    )
    
    (alert (strcat "The current dimension fit is set to: " CurrentFit))

    ;; Change the fit to arrows only
    (vla-put-Fit dimObj acArrowsOnly)
    (vla-Regen doc acAllViewports)
    (alert "The dimension fit has been changed to arrows only")
    
    ;; Change the fit to text only
    (vla-put-Fit dimObj acTextOnly)
    (vla-Regen doc acAllViewports)
    (alert "The dimension fit has been changed to text only")
)