指定为尺寸或公差的主要单位显示的小数位数。 支持的平台:仅窗口 属性值只读:不 类型:枚举acDimPrecision
言论注意:此属性覆盖给定维度的 DIMDEC 系统变量的值。
例子工 务 局: 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.") ) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:26
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.