LinearScaleFactor Property (ActiveX)

Specifies a global scale factor for linear dimensioning measurements.

Supported platforms: Windows only

Signature

VBA:

object.LinearScaleFactor
object

Type: DimAligned, DimArcLength, DimDiametric, DimOrdinate, DimRadial, DimRadialLarge, DimRotated

The objects this property applies to.

Property Value

Read-only: No

Type: Double

A real number greater than 0.0.

Remarks

The initial value for this property is 1.0000.

When LinearScaleFactor is assigned a negative value, the factor is only applied in paper space. The paper space factor to be applied is the absolute value of this property.

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

Examples

VBA:

Sub Example_LinearScaleFactor()
    ' This example creates an aligned dimension in model space and
    ' turns on the tolerance display for the new dimension.  The LinearScaleFactor
    ' of the tolerance is then read and modified.
    '
    ' * Note the change in the text of the dimension after the modification.

    Dim dimObj As AcadDimAligned
    Dim newText As AcadTextStyle
    Dim point1(0 To 2) As Double, point2(0 To 2) As Double
    Dim location(0 To 2) As Double
    Dim CurrentScale As Integer
    
    ' Define the dimension
    point1(0) = 1: point1(1) = 10: point1(2) = 0
    point2(0) = 10: point2(1) = 10: 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)
    
    ' Turn on the tolerance display
    dimObj.ToleranceDisplay = acTolSymmetrical
    ThisDrawing.Application.ZoomAll
    
    ' Display current scale factor
    MsgBox dimObj.LinearScaleFactor

    ' Change current scale factor
    dimObj.LinearScaleFactor = 10#      ' Multiply by ten
    ThisDrawing.Regen acAllViewports

    ' Display new scale factor
    MsgBox dimObj.LinearScaleFactor
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_LinearScaleFactor()
    ;; This example creates an aligned dimension in model space and
    ;; turns on the tolerance display for the new dimension.  The LinearScaleFactor
    ;; of the tolerance is then read and modified.
    ;;
    ;; * Note the change in the text of the dimension after the modification.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the dimension
    (setq point1 (vlax-3d-point 1 10 0)
          point2 (vlax-3d-point 10 10 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))
    
    ;; Turn on the tolerance display
    (vla-put-ToleranceDisplay dimObj acTolSymmetrical)
    (vla-ZoomAll acadObj)
    
    ;; Display current scale factor
    (alert (rtos (vla-get-LinearScaleFactor dimObj) 2))

    ;; Change current scale factor
    (vla-put-LinearScaleFactor dimObj 10)      ;; Multiply by ten
    (vla-Regen doc acAllViewports)

    ;; Display new scale factor
    (alert (rtos (vla-get-LinearScaleFactor dimObj) 2))
)