各寸法には、寸法スタイルによって割り当てられた設定を優先する機能があります。ほとんどの寸法オブジェクトに対して、次のプロパティを使用することができます。
寸法補助線内側のみ寸法線の表示を指定し、寸法補助線の内側または外側に寸法値と矢印を表示します。
変換単位の丸めを指定します。
寸法線の矢印、引出線の矢印、およびフック ラインのサイズを指定します。
角度寸法の単位形式を指定します。
寸法線の矢印に使用するブロックを指定します。
半径寸法および直径寸法の中心マークのタイプとサイズを指定します。
寸法、引出線、公差オブジェクトの寸法線の色を指定します。
寸法補助線の色を指定します。
寸法および幾何公差オブジェクトの文字の色を指定します。
寸法または寸法許容差の基本単位で表示する小数部桁数を指定します。
十進表記の寸法値および寸法許容差値で小数点区切りとして使用する文字を指定します。
寸法補助線が寸法線を越えて延長される距離を指定します。
寸法補助線を起点からオフセットする距離を指定します。
寸法値または寸法許容差値の分数表記形式を指定します。
寸法値を収めるために寸法線を中断する場合の寸法値と寸法線の間の距離を指定します。
長さ寸法計測値のグローバル尺度を指定します。
寸法補助線の線種を指定します。
寸法線の線の太さを指定します。
寸法補助線の線の太さを指定します。
寸法値に対して水平方向の位置合わせを指定します。
寸法計測値の距離の丸めを指定します。
寸法線の省略を指定します。
寸法補助線の省略を指定します。
寸法線に対する寸法値の垂直方向の位置を指定します。
基本寸法の寸法許容差値の精度を指定します。
寸法値の高さに対する、寸法許容差値の文字高さの相対尺度を指定します。
角度寸法以外のすべての寸法の単位形式を指定します。
寸法値を寸法補助線の内側に記入するかどうかを指定します。
許容限界寸法値の下限を指定します。
寸法値が移動したときの記入方法を指定します。
寸法値が寸法補助線の外側に配置される場合でも、寸法線を寸法補助線の間に記入するかどうかを指定します。
座標寸法以外のすべての寸法タイプについて、寸法補助線の外側の寸法値の位置を指定します。
寸法値と一緒に寸法許容差値を表示するかどうかを指定します。
寸法値に対する、寸法許容差値の垂直方向の位置合わせを指定します。
許容限界寸法値の上限を指定します。
寸法値または寸法許容差値の文字高さを指定します。
先頭のゼロと末尾のゼロを省略し、寸法値の 0 フィートとインチの計測値を省略します。
寸法値の接頭表記を指定します。
寸法値の末尾表記を指定します。
角度寸法値の精度を指定します。
寸法値の位置を指定します。
寸法値の回転角度を指定します。
次の例は、モデル空間に平行寸法を作成し、Suffix プロパティを使用して、ユーザが寸法値の接尾表記を変更できるようにします。
Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Geometry <CommandMethod("AddDimensionTextSuffix")> _ Public Sub AddDimensionTextSuffix() '' 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 Using acAliDim As AlignedDimension = New AlignedDimension() acAliDim.XLine1Point = New Point3d(0, 5, 0) acAliDim.XLine2Point = New Point3d(5, 5, 0) acAliDim.DimLinePoint = New Point3d(5, 7, 0) acAliDim.DimensionStyle = acCurDb.Dimstyle '' Add the new object to Model space and the transaction acBlkTblRec.AppendEntity(acAliDim) acTrans.AddNewlyCreatedDBObject(acAliDim, True) '' Append a suffix to the dimension text Dim pStrOpts As PromptStringOptions = New PromptStringOptions("") pStrOpts.Message = vbLf & "Enter a new text suffix for the dimension: " pStrOpts.AllowSpaces = True Dim pStrRes As PromptResult = acDoc.Editor.GetString(pStrOpts) If pStrRes.Status = PromptStatus.OK Then acAliDim.Suffix = pStrRes.StringResult End If End Using '' Commit the changes and dispose of the transaction acTrans.Commit() End Using End Sub
using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; [CommandMethod("AddDimensionTextSuffix")] public static void AddDimensionTextSuffix() { // 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 using (AlignedDimension acAliDim = new AlignedDimension()) { acAliDim.XLine1Point = new Point3d(0, 5, 0); acAliDim.XLine2Point = new Point3d(5, 5, 0); acAliDim.DimLinePoint = new Point3d(5, 7, 0); acAliDim.DimensionStyle = acCurDb.Dimstyle; // Add the new object to Model space and the transaction acBlkTblRec.AppendEntity(acAliDim); acTrans.AddNewlyCreatedDBObject(acAliDim, true); // Append a suffix to the dimension text PromptStringOptions pStrOpts = new PromptStringOptions(""); pStrOpts.Message = "\nEnter a new text suffix for the dimension: "; pStrOpts.AllowSpaces = true; PromptResult pStrRes = acDoc.Editor.GetString(pStrOpts); if (pStrRes.Status == PromptStatus.OK) { acAliDim.Suffix = pStrRes.StringResult; } } // Commit the changes and dispose of the transaction acTrans.Commit(); } }
Sub AddDimensionTextSuffix() Dim dimObj As AcadDimAligned Dim point1(0 To 2) As Double Dim point2(0 To 2) As Double Dim location(0 To 2) As Double Dim suffix As String ' Define the dimension point1(0) = 0: point1(1) = 5: point1(2) = 0 point2(0) = 5: 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) ThisDrawing.Application.ZoomAll ' Allow the user to change the text suffix for the dimension suffix = ThisDrawing.Utility. _ GetString(True, vbLf & "Enter a new text " & _ "suffix for the dimension: ") ' Apply the change to the dimension dimObj.TextSuffix = suffix ThisDrawing.Regen acAllViewports End Sub