AltTolerancePrecision 属性 (ActiveX)
指定公差值在备用尺寸中的精度。 支持的平台:仅限 Windows 签名VBA: object.AltTolerancePrecision
属性值只读:不 类型:枚举acDimPrecision
言论此属性的初始值为 。acDimPrecisionTwo 仅当该属性设置为除 以外的任何值时,此属性才可用。ToleranceDisplayacTolNone 注意:此属性将覆盖给定维度的 DIMALTTD 系统变量的值。
例子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 可视化 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")) ) ) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 22:15
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.