AltTolerancePrecision プロパティ(ActiveX)

変換寸法値の許容差の精度を指定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.AltTolerancePrecision
object

タイプ: DimAlignedDimArcLengthDimDiametricDimOrdinateDimRadialDimRadialLargeDimRotated

このプロパティが適用されるオブジェクト。

プロパティの値

読み込み専用: いいえ

タイプ: acDimPrecision 列挙型

注意

このプロパティの初期値は acDimPrecisionTwo です。

このプロパティは ToleranceDisplay プロパティが acTolNone 以外の値に設定されている場合にのみ使用できます。

注: このプロパティは、指定された寸法でシステム変数 DIMTDEC[寸法許容差精度]の値を変更します。

VBA:

Sub Example_AltTolerancePrecision()
   ' This example creates an aligned dimension in model space and
   ' uses AltTolerancePrecision to allow the user to change the
   ' precision of the alternate dimension tolerance

    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 oldTolerance As String, newTolerance As String
    
    ' Define the dimension
    point1(0) = 0: point1(1) = 5: point1(2) = 0
    point2(0) = 5.12345678: 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)
    
    ' Enable alternate unit display
    dimObj.AltUnits = True
    dimObj.ToleranceDisplay = acTolLimits
    
    ThisDrawing.Application.ZoomAll

    ' Store old tolerance value as default for input box
    oldTolerance = dimObj.AltTolerancePrecision
    
    ' Allow the user to change the precision for the alternate dimension tolerance
    newTolerance = InputBox("Enter a new tolerance precision for the alternate dimension.  The value must range from 0 to 8.", "Alternate Dimension Tolerance Precision", oldTolerance)
    
    Select Case newTolerance
        Case 0: newTolerance = acDimPrecisionZero
        Case 1: newTolerance = acDimPrecisionOne
        Case 2: newTolerance = acDimPrecisionTwo
        Case 3: newTolerance = acDimPrecisionThree
        Case 4: newTolerance = acDimPrecisionFour
        Case 5: newTolerance = acDimPrecisionFive
        Case 6: newTolerance = acDimPrecisionSix
        Case 7: newTolerance = acDimPrecisionSeven
        Case 8: newTolerance = acDimPrecisionEight
        Case Else
            MsgBox "The alternate tolerance precision has not been changed."
            Exit Sub
    End Select
    
    dimObj.AltTolerancePrecision = newTolerance   ' Commit changes to tolerance precision
    
    ThisDrawing.Regen acAllViewports
    
    ' Read back and display the alternate dimension tolerance precision
    newTolerance = dimObj.AltTolerancePrecision
    MsgBox "The tolerance precision has been set to " & newTolerance & " decimal places"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_AltTolerancePrecision()
    ;; This example creates an aligned dimension in model space and
    ;; uses AltTolerancePrecision to allow the user to change the
    ;; precision of the alternate dimension tolerance
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the dimension
    (setq point1 (vlax-3d-point 0 5 0)
          point2 (vlax-3d-point 5.12345678 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))
    
    ;; Enable alternate unit display
    (vla-put-AltUnits dimObj :vlax-true)
    (vla-put-ToleranceDisplay dimObj acTolLimits)
    
    (vla-ZoomAll acadObj)

    ;; Store old tolerance value as default for input box
    (setq oldTolerance (vla-get-AltTolerancePrecision dimObj))
    
    ;; Allow the user to change the precision for the alternate dimension tolerance
    (setq newTolerance (vla-GetInteger (vla-get-Utility doc) (strcat "\nEnter a new tolerance precision for the alternate dimension (0 to 8) <" (itoa oldTolerance) ">: ")))

    (if (= newTolerance nil) (setq newTolerance oldTolerance))

    (setq newTolerance (cond
                           ((= newTolerance 0) acDimPrecisionZero)
                           ((= newTolerance 1) acDimPrecisionOne)
                           ((= newTolerance 2) acDimPrecisionTwo)
                           ((= newTolerance 3) acDimPrecisionThree)
                           ((= newTolerance 4) acDimPrecisionFour)
                           ((= newTolerance 5) acDimPrecisionFive)
                           ((= newTolerance 6) acDimPrecisionSix)
                           ((= newTolerance 7) acDimPrecisionSeven)
                           ((= newTolerance 8) acDimPrecisionEight)
                           (progn (setq newTolerance nil) (alert "The alternate tolerance precision has not been changed."))
                       ))

    (if (/= newTolerance nil)
        (progn
            (vla-put-AltTolerancePrecision dimObj newTolerance)   ;; Commit changes to tolerance precision
	    
            (vla-Regen doc acAllViewports)
	    
            ;; Read back and display the alternate dimension tolerance precision
            (alert (strcat "The tolerance precision has been set to " (itoa (vla-get-AltTolerancePrecision dimObj)) " decimal places"))
        )
    )
)