寸法または寸法許容差の基本単位で表示する小数部桁数を指定します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.PrimaryUnitsPrecision
タイプ: DimAligned、DimArcLength、DimDiametric、DimOrdinate、DimRadial、DimRadialLarge、DimRotated
このプロパティが適用されるオブジェクト。
読み込み専用: いいえ
タイプ: acDimPrecision 列挙型
VBA:
Sub Example_PrimaryUnitsPrecision()
' This example creates an aligned dimension in model space and
' uses PrimaryUnitsPrecision to allow the user to change
' the number of decimal places displayed for the primary units and tolerance
' units of the dimension.
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 oldPrecision As String, newPrecision 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 precision value as default for input box
oldPrecision = dimObj.PrimaryUnitsPrecision
' Allow the user to change the precision for the dimension and dimension tolerance
newPrecision = InputBox("Enter a new precision for the dimension and tolerances. The value must range from 0 to 8.", "Change Precision", oldPrecision)
Select Case newPrecision
Case 0: newPrecision = acDimPrecisionZero
Case 1: newPrecision = acDimPrecisionOne
Case 2: newPrecision = acDimPrecisionTwo
Case 3: newPrecision = acDimPrecisionThree
Case 4: newPrecision = acDimPrecisionFour
Case 5: newPrecision = acDimPrecisionFive
Case 6: newPrecision = acDimPrecisionSix
Case 7: newPrecision = acDimPrecisionSeven
Case 8: newPrecision = acDimPrecisionEight
Case Else
MsgBox "The precision has not been changed."
Exit Sub
End Select
' Change the dimension and tolerance precision
dimObj.TolerancePrecision = newPrecision
dimObj.PrimaryUnitsPrecision = newPrecision
ThisDrawing.Regen acAllViewports
' Read back and display the dimension and dimension tolerance precision
newPrecision = dimObj.PrimaryUnitsPrecision
MsgBox "The precision has been set to " & newPrecision & " decimal places"
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_PrimaryUnitsPrecision()
;; This example creates an aligned dimension in model space and
;; uses PrimaryUnitsPrecision to allow the user to change
;; the number of decimal places displayed for the primary units and tolerance
;; units of the dimension.
(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 precision value as default for input box
(setq oldPrecision (vla-get-PrimaryUnitsPrecision dimObj))
;; Allow the user to change the precision for the dimension and dimension tolerance
(setq newPrecision (vla-GetInteger (vla-get-Utility doc) "\nEnter a new precision for the dimension and tolerances (0 - 8): "))
(setq newPrecision (cond
((= 0 newPrecision) acDimPrecisionZero)
((= 1 newPrecision) acDimPrecisionOne)
((= 2 newPrecision) acDimPrecisionTwo)
((= 3 newPrecision) acDimPrecisionThree)
((= 4 newPrecision) acDimPrecisionFour)
((= 5 newPrecision) acDimPrecisionFive)
((= 6 newPrecision) acDimPrecisionSix)
((= 7 newPrecision) acDimPrecisionSeven)
((= 8 newPrecision) acDimPrecisionEight)
(nil)
))
;; Change the dimension and tolerance precision
(if (/= newPrecision nil)
(progn
(vla-put-TolerancePrecision dimObj newPrecision)
(vla-put-PrimaryUnitsPrecision dimObj newPrecision)
(vla-Regen doc acAllViewports)
;; Read back and display the dimension and dimension tolerance precision
(setq newPrecision (vla-get-PrimaryUnitsPrecision dimObj))
(alert (strcat "The precision has been set to " (itoa newPrecision) " decimal places"))
)
(alert "The precision has not been changed.")
)
)