На VBA също може да е грозно и кратко.
В отговор на:
Function ChangeDimensions(direction As Boolean)
Dim iType(0) As Integer
Dim vValue(0) As Variant
dScale = ThisDrawing.GetVariable("DIMSCALE")
dScale = IIf(direction, IIf(dScale < 1, dScale * 2, dScale + 1), _
IIf(dScale > 2, dScale - 1, dScale / 2))
vValue(0) = "DIMENSION"
Set sSet = ThisDrawing.SelectionSets.Add("DIM")
sSet.Select acSelectionSetAll, , , iType, vValue
For Each aEnt In sSet
aEnt.ScaleFactor = dScale
Next
sSet.Delete
Update
End Function
Sub ScaleUp()
ChangeDimensions True
End Sub
Sub ScaleDown()
ChangeDimensions False
End Sub
ПП Нямам претенции за изчерпателност, че работи вярно (даже се сещам и кога ще гръмне) и т.н., но просто от спортна злоба.