Override Dimension Text
 
 
 

The dimension value that is displayed can be replaced using the DimensionText property. Using this property you can completely replace the displayed value of the dimension, or you can append text to the value. To represent the measured value in the override dimension text, use the character string “<>” in the text.

Modify dimension text

This example appends some text to the value so that both the string and the dimension value are displayed.

VB.NET

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
 
<CommandMethod("OverrideDimensionText")> _
Public Sub OverrideDimensionText()
  '' Get the current database
  Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
  Dim acCurDb As Database = acDoc.Database
 
  '' Start a transaction
  Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
 
      '' Open the Block table for read
      Dim acBlkTbl As BlockTable
      acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, _
                                   OpenMode.ForRead)
 
      '' Open the Block table record Model space for write
      Dim acBlkTblRec As BlockTableRecord
      acBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), _
                                      OpenMode.ForWrite)
 
      '' Create the aligned dimension
      Dim acAliDim As AlignedDimension = New AlignedDimension()
      acAliDim.XLine1Point = New Point3d(5, 3, 0)
      acAliDim.XLine2Point = New Point3d(10, 3, 0)
      acAliDim.DimLinePoint = New Point3d(7.5, 5, 0)
      acAliDim.DimensionStyle = acCurDb.Dimstyle
 
      '' Override the dimension text
      acAliDim.DimensionText = "The value is <>"
 
      '' Add the new object to Model space and the transaction
      acBlkTblRec.AppendEntity(acAliDim)
      acTrans.AddNewlyCreatedDBObject(acAliDim, True)
 
      '' Commit the changes and dispose of the transaction
      acTrans.Commit()
  End Using
End Sub

C#

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
 
[CommandMethod("OverrideDimensionText")]
public static void OverrideDimensionText()
{
  // Get the current database
  Document acDoc = Application.DocumentManager.MdiActiveDocument;
  Database acCurDb = acDoc.Database;
 
  // Start a transaction
  using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
  {
      // Open the Block table for read
      BlockTable acBlkTbl;
      acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,
                                   OpenMode.ForRead) as BlockTable;
 
      // Open the Block table record Model space for write
      BlockTableRecord acBlkTblRec;
      acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],
                                      OpenMode.ForWrite) as BlockTableRecord;
 
      // Create the aligned dimension
      AlignedDimension acAliDim = new AlignedDimension();
      acAliDim.XLine1Point = new Point3d(5, 3, 0);
      acAliDim.XLine2Point = new Point3d(10, 3, 0);
      acAliDim.DimLinePoint = new Point3d(7.5, 5, 0);
      acAliDim.DimensionStyle = acCurDb.Dimstyle;
 
      // Override the dimension text
      acAliDim.DimensionText = "The value is <>";
 
      // Add the new object to Model space and the transaction
      acBlkTblRec.AppendEntity(acAliDim);
      acTrans.AddNewlyCreatedDBObject(acAliDim, true);
 
      // Commit the changes and dispose of the transaction
      acTrans.Commit();
  }
}
VBA/ActiveX Code Reference