寸法スタイルを優先する(.NET)

各寸法には、寸法スタイルによって割り当てられた設定を優先する機能があります。ほとんどの寸法オブジェクトに対して、次のプロパティを使用することができます。

DIMATFIT[寸法値矢印フィット]

寸法補助線内側のみ寸法線の表示を指定し、寸法補助線の内側または外側に寸法値と矢印を表示します。

DIMALTRND[併記丸め単位]

変換単位の丸めを指定します。

DIMASZ[矢印サイズ]

寸法線の矢印、引出線の矢印、およびフック ラインのサイズを指定します。

DIMAUNIT[角度単位]

角度寸法の単位形式を指定します。

DIMBLK1、DIMBLK2

寸法線の矢印に使用するブロックを指定します。

DIMCEN[中心サイズ]

半径寸法および直径寸法の中心マークのタイプとサイズを指定します。

DIMCLRD[寸法線の色]

寸法、引出線、公差オブジェクトの寸法線の色を指定します。

DIMCLRE[補助線の色]

寸法補助線の色を指定します。

DIMCLRT[寸法値の色]

寸法および幾何公差オブジェクトの文字の色を指定します。

DIMDEC[寸法精度]

寸法または寸法許容差の基本単位で表示する小数部桁数を指定します。

DIMDSEP[寸法小数点区切り]

十進表記の寸法値および寸法許容差値で小数点区切りとして使用する文字を指定します。

DIMEXE[寸法補助線延長長さ]

寸法補助線が寸法線を越えて延長される距離を指定します。

DIMEXO[補助線間隔]

寸法補助線を起点からオフセットする距離を指定します。

DIMFRAC[分数表記]

寸法値または寸法許容差値の分数表記形式を指定します。

DIMGAP[寸法ギャップ]

寸法値を収めるために寸法線を中断する場合の寸法値と寸法線の間の距離を指定します。

DIMLFAC[長さの係数]

長さ寸法計測値のグローバル尺度を指定します。

DIMLTEX1、DIMLTEX2

寸法補助線の線種を指定します。

DIMLWD[寸法線太さ]

寸法線の線の太さを指定します。

DIMLWE[寸法補助線太さ]

寸法補助線の線の太さを指定します。

DIMJUST[寸法値水平位置]

寸法値に対して水平方向の位置合わせを指定します。

DIMRND[丸めの値]

寸法計測値の距離の丸めを指定します。

DIMSD1、DIMSD2

寸法線の省略を指定します。

DIMSE1、DIMSE2

寸法補助線の省略を指定します。

DIMTAD[寸法線上記入]

寸法線に対する寸法値の垂直方向の位置を指定します。

DIMTDEC[寸法許容差精度]

基本寸法の寸法許容差値の精度を指定します。

DIMTFAC[許容差尺度]

寸法値の高さに対する、寸法許容差値の文字高さの相対尺度を指定します。

DIMLUNIT[長さ寸法表記形式]

角度寸法以外のすべての寸法の単位形式を指定します。

DIMTIH[補助線内水平]

寸法値を寸法補助線の内側に記入するかどうかを指定します。

DIMTM[最小許容差]

許容限界寸法値の下限を指定します。

DIMTMOVE[寸法値移動規則]

寸法値が移動したときの記入方法を指定します。

DIMTOFL[寸法線内側記入]

寸法値が寸法補助線の外側に配置される場合でも、寸法線を寸法補助線の間に記入するかどうかを指定します。

DIMTOH[補助線外水平]

座標寸法以外のすべての寸法タイプについて、寸法補助線の外側の寸法値の位置を指定します。

DIMTOL[許容差表示]

寸法値と一緒に寸法許容差値を表示するかどうかを指定します。

DIMTOLJ[許容差垂直位置]

寸法値に対する、寸法許容差値の垂直方向の位置合わせを指定します。

DIMTP[最大許容差]

許容限界寸法値の上限を指定します。

DIMTXT[寸法値高さ]

寸法値または寸法許容差値の文字高さを指定します。

DIMZIN[0 省略表記]

先頭のゼロと末尾のゼロを省略し、寸法値の 0 フィートとインチの計測値を省略します。

[接頭表記(P)]

寸法値の接頭表記を指定します。

[末尾表記(S)]

寸法値の末尾表記を指定します。

TextPrecision

角度寸法値の精度を指定します。

TextPosition

寸法値の位置を指定します。

TextRotation

寸法値の回転角度を指定します。

平行寸法にユーザ定義接尾表記を記入する

次の例は、モデル空間に平行寸法を作成し、Suffix プロパティを使用して、ユーザが寸法値の接尾表記を変更できるようにします。

VB.NET

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

C#

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();
    }
}

VBA/ActiveX コード リファレンス

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