基本寸法の寸法許容差値の精度を指定します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.TolerancePrecision
タイプ: Dim3PointAngular、DimAligned、DimAngular、DimArcLength、DimDiametric、Dimension、DimOrdinate、DimRadial、DimRadialLarge、DimRotated
このプロパティが適用されるオブジェクト。
読み込み専用: いいえ
タイプ: acDimPrecision 列挙型
このプロパティの初期値は acDimPrecisionFour です。
このプロパティは ToleranceDisplay プロパティが acTolNone 以外の値に設定されている場合にのみ使用できます。
VBA:
Sub Example_TolerancePrecision()
' This example creates an aligned dimension in model space and
' uses TolerancePrecision to allow the user to change the
' precision of the 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 and setup tolerance display
dimObj.ToleranceDisplay = acTolSymmetrical
dimObj.ToleranceLowerLimit = -0.0001
dimObj.ToleranceUpperLimit = 0.005
ThisDrawing.Application.ZoomAll
' Store old tolerance value as default for input box
oldTolerance = dimObj.TolerancePrecision
' Allow the user to change the precision for the dimension tolerance
newTolerance = InputBox("Enter a new tolerance precision for the dimension. The value must range from 0 to 8.", "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 tolerance precision has not been changed."
Exit Sub
End Select
dimObj.TolerancePrecision = newTolerance ' Commit changes to tolerance precision
ThisDrawing.Regen acAllViewports
' Read back and display the dimension tolerance precision
newTolerance = dimObj.TolerancePrecision
MsgBox "The tolerance precision has been set to " & newTolerance & " decimal places"
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_TolerancePrecision()
;; This example creates an aligned dimension in model space and
;; uses TolerancePrecision to allow the user to change the
;; precision of the 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 and setup tolerance display
(vla-put-ToleranceDisplay dimObj acTolSymmetrical)
(vla-put-ToleranceLowerLimit dimObj -0.0001)
(vla-put-ToleranceUpperLimit dimObj 0.005)
(vla-ZoomAll acadObj)
;; Store old tolerance value as default for input box
(setq oldTolerance (vla-get-TolerancePrecision dimObj))
;; Allow the user to change the precision for the dimension tolerance
(setq newTolerance (vla-GetInteger (vla-get-Utility doc) (strcat "\nEnter a new tolerance precision for the 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 tolerance precision has not been changed."))
))
(if (/= newTolerance nil)
(progn
(vla-put-TolerancePrecision dimObj newTolerance) ;; Commit changes to tolerance precision
(vla-Regen doc acAllViewports)
;; Read back and display the dimension tolerance precision
(alert (strcat "The tolerance precision has been set to " (itoa (vla-get-TolerancePrecision dimObj)) " decimal places"))
)
)
)