lihao2014 发表于 2019-7-5 15:47:24

CAD得到文字样式

用户可以得到所有文字样式名,具体实现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);
}
具体实现js代码如下:
function GetAllText() {
    var database = mxOcx.GetDatabase();
    // 得到所有图层名
    var sRet = null;
    //返回数据库中的文字样式表对象
    var spTextStyleTable = database.GetTextStyleTable();
    //创建一个遍历层表中所有图层的遍历器
    var spIter = spTextStyleTable.NewIterator();
    //移动当前遍历器位置
    for(;!spIter.Done();spIter.Step(true,true))
    {
      //返回遍历器当前位置的记录
      var spTextStyleRec = spIter.GetRecord();
      //符号表记录名属性
      var sName = spTextStyleRec.Name;
      // 0零层不参加比较
      if(sName != "0")
      {
            if(sRet == null)
                sRet = sName;
            else
            {
                sRet = sRet +","+sName;
            }
      }
    }
    alert(sRet);
}

页: [1]
查看完整版本: CAD得到文字样式