MxDraw 发表于 2019-5-24 10:17:40

CAD控件COM接口文字样式

增加文字样式
用户可以增加文字样式到数据库,并设置其字体等属性,具体实现c#代码如下:private void CreateText()
{
    MxDrawApplication app = new MxDrawApplication();
    //返回数据库中的文字样式表对象
    MxDrawTextStyleTable mxtst = app.WorkingDatabase().GetTextStyleTable();
    //增加新的文字样式
    MxDrawTextStyleTableRecord mxtstr = mxtst.Add("duanceng");
    //设置样式
    //设置文字的TrueType字体,如果文字样式设置了TrueType字体,就不会使用前面设置shx字体
    //参数一为turetype字体名 参数二为是否粗写参数三为是否斜写参数四为windows字符集参数五暂没使用
    mxtstr.SetFont("黑体", false, false, 0, 0);
    //返回文字的高度
    mxtstr.textSize = 5;

    //返回数据库中的文字样式表对象
    //设置为当前文字样式

    app.WorkingDatabase().CurrentlyTextStyle = "duanceng";
}得到文字样式名
用户可以得到所有文字样式名,具体实现c#代码如下:private void GetAllText()
{
    MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
    //返回数据库中的文字样式表对象
    MxDrawTextStyleTable mxtst = database.GetTextStyleTable();
    //创建一个遍历文字样式表中所有文字样式的遍历器
    MxDrawTextStyleTableIterator iter = mxtst.NewIterator();
    if (iter == null)
      return;
    string sRet = null;
    //移动当前遍历器位置
    for (; !iter.Done(); iter.Step(true, false))
    {
      //返回遍历器当前位置的记录
      MxDrawTextStyleTableRecord spTextStyleRec = iter.GetRecord();
      //符号表记录名属性
      sRet = sRet + ',' + spTextStyleRec.Name;
    }
    MessageBox.Show(sRet);
}删除文字样式
用户可以删除某个文字样式,具体实现c#代码如下:private void DelText()
{
    string txt = textBox1.Text;

    MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
    //返回数据库中的文字样式表表对象
    MxDrawTextStyleTable TextStyleTable = database.GetTextStyleTable();
    //得到层表中的文字样式表对象
    MxDrawTextStyleTableRecord TextStyleRec = TextStyleTable.GetAt(txt, false);
    if (TextStyleRec == null)
      return;
    //删除对象
    TextStyleRec.Erase();
    MessageBox.Show("成功删除文字样式");
}




elepeipei 发表于 2022-8-24 17:02:47

您好, 请问您有没有做过com给dwg文件添加命名字典

MxDraw 发表于 2022-8-24 18:28:00

elepeipei 发表于 2022-8-24 17:02
您好, 请问您有没有做过com给dwg文件添加命名字典

可以支持的,加个QQ710714273

paulpipi 发表于 2022-9-6 10:33:31

学习一下,感谢分享!!

行天下 发表于 2022-9-30 14:53:56


学习一下,感谢分享!!
页: [1]
查看完整版本: CAD控件COM接口文字样式