AltTolerancePrecision Example

Using Programming Languages other than 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

 

   Comments?