cad net 添加文字 DBText

public ObjectId make(string str, Point3d pt,string layer,Color color,double hei,double factor, 
            TextHorizontalMode horMode = TextHorizontalMode.TextLeft, TextVerticalMode verMode = TextVerticalMode.TextBottom)
        {
            var res = ObjectId.Null;
            using (Transaction tr = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = tr.GetObject(db.BlockTableId,OpenMode.ForRead) as BlockTable;
                BlockTableRecord mSpace = tr.GetObject(bt[BlockTableRecord.ModelSpace],OpenMode.ForWrite) as BlockTableRecord;
                DBText dbText = new DBText();
                dbText.SetDatabaseDefaults(db);
                dbText.Position = pt;// Point3d.Origin;
                dbText.Height = hei;// 5.0;
                dbText.TextString = str;// "Autodesk";
                dbText.HorizontalMode = horMode;// TextHorizontalMode.TextCenter;
                dbText.VerticalMode = verMode;// TextVerticalMode.TextVerticalMid;
                dbText.AlignmentPoint = pt;// Point3d.Origin;
                dbText.WidthFactor = factor;
                if (true)
                {   // For adding a text with an alignment to an in-memory database
                    // set the working database before using AdjustAlignment
                    Database prevWorkingDb = HostApplicationServices.WorkingDatabase;
                    HostApplicationServices.WorkingDatabase = db;
                    dbText.AdjustAlignment(db);
                    HostApplicationServices.WorkingDatabase = prevWorkingDb;
                }

                res = mSpace.AppendEntity(dbText);
                tr.AddNewlyCreatedDBObject(dbText, true);
                if (layer != null && layer != "") dbText.Layer = layer;
                if (color != null) dbText.Color = color;
                tr.Commit();
            }
            return res;// ObjectId.Null;
        }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值