明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1017|回复: 4

CAD控件COM接口文字样式

[复制链接]
发表于 2019-5-24 10:17:40 | 显示全部楼层 |阅读模式
增加文字样式
用户可以增加文字样式到数据库,并设置其字体等属性,具体实现c#代码如下:
  1.   private void CreateText()
  2. {
  3.     MxDrawApplication app = new MxDrawApplication();
  4.     //返回数据库中的文字样式表对象
  5.     MxDrawTextStyleTable mxtst = app.WorkingDatabase().GetTextStyleTable();
  6.     //增加新的文字样式
  7.     MxDrawTextStyleTableRecord mxtstr = mxtst.Add("duanceng");
  8.     //设置样式
  9.     //设置文字的TrueType字体,如果文字样式设置了TrueType字体,就不会使用前面设置shx字体
  10.     //参数一为turetype字体名 参数二为是否粗写  参数三为是否斜写  参数四为windows字符集  参数五暂没使用
  11.     mxtstr.SetFont("黑体", false, false, 0, 0);
  12.     //返回文字的高度
  13.     mxtstr.textSize = 5;
  14.   
  15.     //返回数据库中的文字样式表对象
  16.     //设置为当前文字样式
  17.   
  18.     app.WorkingDatabase().CurrentlyTextStyle = "duanceng";
  19. }
得到文字样式名
用户可以得到所有文字样式名,具体实现c#代码如下:
  1.   private void GetAllText()
  2. {
  3.     MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
  4.     //返回数据库中的文字样式表对象
  5.     MxDrawTextStyleTable mxtst = database.GetTextStyleTable();
  6.     //创建一个遍历文字样式表中所有文字样式的遍历器
  7.     MxDrawTextStyleTableIterator iter = mxtst.NewIterator();
  8.     if (iter == null)
  9.         return;
  10.     string sRet = null;
  11.     //移动当前遍历器位置
  12.     for (; !iter.Done(); iter.Step(true, false))
  13.     {
  14.         //返回遍历器当前位置的记录
  15.         MxDrawTextStyleTableRecord spTextStyleRec = iter.GetRecord();
  16.         //符号表记录名属性
  17.         sRet = sRet + ',' + spTextStyleRec.Name;
  18.     }
  19.     MessageBox.Show(sRet);
  20. }
删除文字样式
用户可以删除某个文字样式,具体实现c#代码如下:
  1.   private void DelText()
  2. {
  3.     string txt = textBox1.Text;
  4.   
  5.     MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
  6.     //返回数据库中的文字样式表表对象
  7.     MxDrawTextStyleTable TextStyleTable = database.GetTextStyleTable();
  8.     //得到层表中的文字样式表对象
  9.     MxDrawTextStyleTableRecord TextStyleRec = TextStyleTable.GetAt(txt, false);
  10.     if (TextStyleRec == null)
  11.         return;
  12.     //删除对象
  13.     TextStyleRec.Erase();
  14.     MessageBox.Show("成功删除文字样式");
  15. }





发表于 2022-8-24 17:02:47 | 显示全部楼层
您好, 请问您有没有做过com给dwg文件添加命名字典
 楼主| 发表于 2022-8-24 18:28:00 | 显示全部楼层
elepeipei 发表于 2022-8-24 17:02
您好, 请问您有没有做过com给dwg文件添加命名字典

可以支持的,加个QQ710714273
发表于 2022-9-6 10:33:31 来自手机 | 显示全部楼层
学习一下,感谢分享!!
发表于 2022-9-30 14:53:56 | 显示全部楼层

学习一下,感谢分享!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-18 08:37 , Processed in 0.167346 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表