If you have AutoCAD 2011, you can use a constraint, which is actually a type of dimension.
You can programmatically change the constrain expression, thus:
Command: Specify opposite corner:
Command: (vlax-put obj 'DimConstrExpression "80")
Then, if you have DIMASSOC - 2
a DIMENSION object associated with the constrained object, such as a line, will automatically update.
Unfortunately, you cannot use the constraint to directly dimension the object.
Interestingly, if you dump the properties of an ordinary DIMENSION in 2011, you get something like this:
Select object: ; IAcadDimRotated2: AutoCAD Rotated Dimension Interface
; Property values:
; AltRoundDistance = 0.0
; AltSubUnitsFactor = 100.0
; AltSubUnitsSuffix = ""
; AltSuppressLeadingZeros = 0
; AltSuppressTrailingZeros = 0
; AltSuppressZeroFeet = -1
; AltSuppressZeroInches = -1
; AltTextPrefix = ""
; AltTextSuffix = ""
; AltTolerancePrecision = 2
; AltToleranceSuppressLeadingZeros = 0
; AltToleranceSuppressTrailingZeros = 0
; AltToleranceSuppressZeroFeet = -1
; AltToleranceSuppressZeroInches = -1
; AltUnits = 0
; AltUnitsFormat = 2
; AltUnitsPrecision = 2
; AltUnitsScale = 25.4
; Application (RO) = #<VLA-OBJECT IAcadApplication 00e35c18>
; Arrowhead1Block = "OBLIQUE"
; Arrowhead1Type = 5
; Arrowhead2Block = "OBLIQUE"
; Arrowhead2Type = 5
; ArrowheadSize = 0.09375
; DecimalSeparator = "."
; DimConstrDesc = Exception occurred
; DimConstrExpression = Exception occurred
; DimConstrForm = 0
; DimConstrName = Exception occurred
; DimConstrReference = 0
; DimConstrValue = Exception occurred
; DimensionLineColor = 0
; DimensionLineExtend = 0.0
; DimensionLinetype = "ByBlock"
; DimensionLineWeight = -2
; DimLine1Suppress = 0
; DimLine2Suppress = 0
; <etc>>