设置倾斜角度
 
 

The obliquing angle determines the forward or backward slant of the text. The angle represents the offset from its vertical axis (90 degrees). To set the obliquing angle, use the ObliquingAngle property to change a text style or the Oblique property of a text object. The obliquing angle must be provided in radians. A positive angle denotes a lean to the right, a negative value will have 2*PI added to it to convert it to its positive equivalent.

倾斜角度决定文字是向前还是向后倾斜。角度代表文字与其垂直轴(90 度)的偏移。要设置倾斜角度,请使用文字样式的 ObliquingAngle 属性或文字对象的 Oblique 属性。倾斜角度必须是弧度,正的角度值表示向右倾斜,负值则加上 2*PI 以转换为正的等价值。

创建倾斜文字

This example creates a single-line text object then slants it 45 degrees.

本例创建一个单行文本对象然后将它倾斜45度。

VB.NET

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
 
<CommandMethod("ObliqueText")> _
Public Sub ObliqueText()
  '' 获得当前文档和数据库   Get the current document and 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 a single-line text object
      Dim acText As DBText = New DBText()
      acText.SetDatabaseDefaults()
      acText.Position = New Point3d(3, 3, 0)
      acText.Height = 0.5
      acText.TextString = "Hello, World."
 
      '' 修改文字对象的倾斜角度为45度(0.707弧度)   Change the oblique angle of the text object to 45 degrees(0.707 in radians)
      acText.Oblique = 0.707
 
      acBlkTblRec.AppendEntity(acText)
      acTrans.AddNewlyCreatedDBObject(acText, True)
 
      ''保存更改并销毁事务   Save 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("ObliqueText")]
public static void ObliqueText()
{
  // 获得当前文档和数据库   Get the current document and 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 a single-line text object
      DBText acText = new DBText();
      acText.SetDatabaseDefaults();
      acText.Position = new Point3d(3, 3, 0);
      acText.Height = 0.5;
      acText.TextString = "Hello, World.";
 
      // 修改文字对象的倾斜角度为45度(0.707弧度)   Change the oblique angle of the text object to 45 degrees(0.707 in radians)
      acText.Oblique = 0.707;
 
      acBlkTblRec.AppendEntity(acText);
      acTrans.AddNewlyCreatedDBObject(acText, true);
 
      // Save the changes and dispose of the transaction
      acTrans.Commit();
  }
}
VBA/ActiveX 代码参考