CAD关于文字样式修改文字对象的文字样式(com接口c#语言)

文字对象都一个TextStyle属性,用这个属性可以设置,或取到文字对象的文字样式。

下面代码演示设置一个文字对象的字体为黑体,如果没有文字样式,就添加文字样式。

void SetTextStyle()
        {
            MxDrawUtility mxUtility = new MxDrawUtility();
            // 当用户在图上选择一个对象。
            MxDrawPoint getPt;
            MxDrawEntity ent = mxUtility.GetEntity(out getPt, "\n 选择实体对象:");
            if (ent == null)
            {
                return;
            }
            // 得到数据库对象.
            MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
            // 得到文本式表.
            MxDrawTextStyleTable textStyleTable = database.GetTextStyleTable();
            string sTextStyleName = "MyTextStyleName";
            // 得到文本式
            MxDrawTextStyleTableRecord textStyle = textStyleTable.GetAt(sTextStyleName, true);
            if (textStyle == null)
            {
                // 如果没有就新建一个。
                axMxDrawX1.AddTextStyle2(sTextStyleName, "黑体", 0.7);
            }
            else
            {
                // 如果被删除,就反删除。
                textStyle.SetProp("unErase", null);
                textStyle.SetFont("黑体", false, false, 0, 0);
            }
            // 设置实体文字样式。
            ent.TextStyle = sTextStyleName;
            MessageBox.Show("已将该实体文字样式");
        }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用C#编程语言通过AutoCAD的API来获取所有的箭头样式。下面是一个示例代码,演示了如何在AutoCAD中获取箭头样式的名称和描述: ```csharp using System; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; namespace GetArrowStyles { public class Commands { [CommandMethod("GetArrowStyles")] public void GetArrowStyles() { // 获取当前文档和数据库 Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; // 开启事务 using (Transaction tr = db.TransactionManager.StartTransaction()) { // 获取箭头样式表 BlockTableRecord btr = (BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db), OpenMode.ForRead); ObjectId arrowTextStyleId = db.Textstyle; TextStyleTableRecord textStyle = (TextStyleTableRecord)tr.GetObject(arrowTextStyleId, OpenMode.ForRead); // 遍历箭头样式表 foreach (ObjectId arrowId in textStyle.AnnotativeScalingEnabled ? textStyle.GetAnnotativeScalingArrowHeads() : textStyle.GetNonAnnotativeScalingArrowHeads()) { ArrowHead arrowHead = (ArrowHead)tr.GetObject(arrowId, OpenMode.ForRead); string name = arrowHead.Name; string description = arrowHead.Description; // 输出箭头样式的名称和描述 doc.Editor.WriteMessage("Arrow Style: {0}, Description: {1}", name, description); } // 提交事务 tr.Commit(); } } } } ``` 您可以将上述代码保存为一个C#类文件,并在AutoCAD中加载运行。运行命令`GetArrowStyles`后,您将获得所有箭头样式的名称和描述信息。请注意,您需要在AutoCAD中启用.NET加载项以运行此代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值