admin 发表于 2024-3-9 11:12:30

[表格] 数据写入autoCAD

[表格] 数据写入autoCAD

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
namespace TableCreation
{
public class Commands
{
   
    static public void CreateTable()
    {
      Document doc =
      Application.DocumentManager.MdiActiveDocument;
      Database db = doc.Database;
      Editor ed = doc.Editor;
      PromptPointResult pr =
      ed.GetPoint("\nEnter table insertion point: ");
      if (pr.Status == PromptStatus.OK)
      {
      Table tb = new Table();
      tb.TableStyle = db.Tablestyle;
      tb.NumRows = 5;
      tb.NumColumns = 3;
      tb.SetRowHeight(3);
      tb.SetColumnWidth(15);
      tb.Position = pr.Value;
      // Create a 2-dimensional array
      // of our table contents
      string[,] str = new string;
      str = "Part No.";
      str = "Name ";
      str = "Material ";
      str = "1876-1";
      str = "Flange";
      str = "Perspex";
      str = "0985-4";
      str = "Bolt";
      str = "Steel";
      str = "3476-K";
      str = "Tile";
      str = "Ceramic";
      str = "8734-3";
      str = "Kean";
      str = "Mostly water";
      // Use a nested loop to add and format each cell
      for (int i = 0; i < 5; i++)
      {
          for (int j = 0; j < 3; j++)
          {
            tb.SetTextHeight(i, j, 1);
            tb.SetTextString(i, j, str);
            tb.SetAlignment(i, j, CellAlignment.MiddleCenter);
          }
      }
      tb.GenerateLayout();
      Transaction tr =
          doc.TransactionManager.StartTransaction();
      using (tr)
      {
          BlockTable bt =
            (BlockTable)tr.GetObject(
            doc.Database.BlockTableId,
            OpenMode.ForRead
            );
          BlockTableRecord btr =
            (BlockTableRecord)tr.GetObject(
            bt,
            OpenMode.ForWrite
            );
          btr.AppendEntity(tb);
          tr.AddNewlyCreatedDBObject(tb, true);
          tr.Commit();
      }
      }
    }
}
}
页: [1]
查看完整版本: [表格] 数据写入autoCAD