每个尺寸都能够覆盖标注样式分配给它的设置。以下属性可用于大多数维度对象:
Enter a user-defined suffix for an aligned dimensionThis example creates an aligned dimension in model space and uses the Suffix property to allow the user to change the text suffix for the dimension. VB.NETImports 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 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-19 12:22
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.