Create text entity in C#

Top  Previous  Next

 

[CommandMethod("CreateText")]

public static void CreateText()

{

    // 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

        using (DBText acText = new DBText())

        {

            acText.Position = new Point3d(2, 2, 0);

            acText.Height = 0.5;

            acText.TextString = "Hello, World.";

 

            acBlkTblRec.AppendEntity(acText);

            acTrans.AddNewlyCreatedDBObject(acText, true);

        }

 

        // Save the changes and dispose of the transaction

        acTrans.Commit();

    }

}