MxDraw 发表于 2019-5-24 10:19:33

CAD控件COM接口标注样式

增加标注样式
用户可以增加标注样式到数据库,具体实现c#代码如下:private void CreateDim()
{
    //返回控件的数据库对象
    MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
    //返回数据库中的标注样式表对象
    IMxDrawDimStyleTable mxdim = database.GetDimStyleTable();
    //增加新的标注样式
    IMxDrawDimStyleTableRecord dimstr = mxdim.Add("mydim");
    //设置样式
    dimstr.SetDimVarDouble(40, 20.0);
    //返回数据库中的标注样式表对象
    database.CurrentlyDimstyleName = "mydim";
}得到标注样式名
用户可以得到所有标注样式名,具体实现c#代码如下:private void GetAllDim()
{
    MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
    //返回数据库中的文字样式表对象
    MxDrawDimStyleTable spDimStyleTable = database.GetDimStyleTable();
    //创建一个遍历层表中所有图层的遍历器
    var spIter = spDimStyleTable.NewIterator();
    // 得到所有图层名
    string sRet = null;
    //移动当前遍历器位置
    for (; !spIter.Done(); spIter.Step(true, true))
    {
      //返回遍历器当前位置的记录
      var spDimStyleTableRec = spIter.GetRecord();
      //符号表记录名属性
      var sName = spDimStyleTableRec.Name;
      // 0零层不参加比较
      if (sName != "0")
      {
            if (sRet == null)
                sRet = sName;
            else
            {
                sRet = sRet + "," + sName;
            }
      }
    }
    MessageBox.Show(sRet);
}删除标注样式
用户可以得到删除某个标注样式,具体实现c#代码如下:private void DelDim()
{
    string txt = textBox2.Text;
    MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
    //返回数据库中的样式表对象
    IMxDrawDimStyleTable DimStyleTable = database.GetDimStyleTable();
    //得到样式表表中的样式对象
    IMxDrawDimStyleTableRecord DimStyleRec = DimStyleTable.GetAt(txt, false);
    if (DimStyleRec == null)
      return;
    //删除对象
    DimStyleRec.Erase();
    MessageBox.Show("成功删除标注样式");
}




页: [1]
查看完整版本: CAD控件COM接口标注样式