数据库
首页 > 数据库> > 安卓系统CAD开发的图形数据库,安卓中浏览和编辑DWG

安卓系统CAD开发的图形数据库,安卓中浏览和编辑DWG

作者:互联网

  图层

新建图层

CAD中我们设置好图层后除了我们平常的绘图时选择线段的颜色,线型,线宽等作用,而且我们还可以在出图时选择性显示图形,冻结图形,已达到我们想要的效果。

实现代码说明:

  //增加一个图层   参数为图层名
  MxLibDraw.addLayer("AAA111");
  //设置当前绘图函数使用的图层   参数为图层名字符串
  MxLibDraw.setLayerName("AAA111");

得到所有图层名

实现代码说明:

  //得到所有图层
  long[] ids = MxFunction.getAllLayer();
  if(ids ==null)
      return;
   
  for(int i = 0; i < ids.length;i++)
  {
      McDbLayerTableRecord layer = new McDbLayerTableRecord(ids[i]);
      //返回符号表记录的名称
      String sName = layer.getName();
      Log.e("LayerName:",sName);
   
     
  }

打开所有图层

实现代码说明:

  //得到所有图层
  long[] ids = MxFunction.getAllLayer();
  if(ids ==null)
      return;
   
  for(int i = 0; i < ids.length;i++)
  {
      McDbLayerTableRecord layer = new McDbLayerTableRecord(ids[i]);
      
   
      layer.setIsOff(false);
  }

隐藏指定的图层

实现代码如下:

  // 隐藏指定的层。
  //增加一个图层   参数为图层名
  MxLibDraw.addLayer("AAA111");
  //设置当前绘图函数使用的图层   参数为图层名字符串
  MxLibDraw.setLayerName("AAA111");
   
  long lId = MxLibDraw.drawLine(400,0,0,400);
   
  McDbLine line = new McDbLine(lId);
  line.setColorIndex(5);
   
  McDbLayerTableRecord layer = new McDbLayerTableRecord("AAA111");
  layer.setIsOff(true);

锁定所有图层

实现代码如下:

  //得到所有图层
  long[] ids = MxFunction.getAllLayer();
  if(ids ==null)
      return;
   
  for(int i = 0; i < ids.length;i++)
  {
      McDbLayerTableRecord layer = new McDbLayerTableRecord(ids[i]);
   
   
      layer.setIsLocked(true);
  }

锁定指定图层

实现代码如下:

  //设置图层锁定状态
  //增加一个图层   参数为图层名
  MxLibDraw.addLayer("AAA111");
  //设置当前绘图函数使用的图层   参数为图层名字符串
  MxLibDraw.setLayerName("AAA111");
   
  long lId = MxLibDraw.drawLine(400,0,0,400);
   
  McDbLine line = new McDbLine(lId);
  line.setColorIndex(5);
   
  McDbLayerTableRecord layer = new McDbLayerTableRecord("AAA111");
  layer.setIsLocked(true);
    文字样式

增加文字样式

用户可以增加文字样式到数据库,并设置其字体等属性,具体实现代码如下:

  // 增加文字样式
  //getCurrentDatabase()返回当前数据库对象
  //getTextstyle()返回数据库中的文字样式表对象
  McDbTextStyleTable txtstyleTable =  MxFunction.getCurrentDatabase().getTextstyle();
  //增加一个文字样式
  //参数一为样式名;参数二为shx字体名;参数三为中文shx字体名;参数四为宽度比例
  MxLibDraw.addTextStyle1("myshx","romans.shx","gbcbig.shx",0);
  //设置当前绘图函数使用的文字样式
  MxLibDraw.setTextStyle("MyTextStyle");

得到文字样式名

用户可以得到所有文字样式名,具体实现代码如下:

  // 得到所有文字样式名称
  //getCurrentDatabase()返回当前数据库对象
  //getTextstyle()返回数据库中的文字样式表对象
  McDbTextStyleTable txtstyleTable =  MxFunction.getCurrentDatabase().getTextstyle();
  //getAll()得到所有文字样式表中的文字样式对象
  long[] allId = txtstyleTable.getAll();
  for(int i = 0; i < allId.length;i++)
  {
      McDbTextStyleTableRecord textStyleRecord = new McDbTextStyleTableRecord(allId[i]);
      //getName()返回符号表记录名称
      Log.e("textStyleRecord:",textStyleRecord.getName());
      //返回文字样式的字体文件名,shx字体文件,fileName在不使用时需要调用Mx::mcutDelString函数释放内存
      Log.e("fileName:",textStyleRecord.fileName());
      //返回文字的big shx文件名
      Log.e("bigFontFileName:",textStyleRecord.bigFontFileName());
   
  }

标签:McDbLayerTableRecord,layer,样式,安卓,ids,DWG,安卓中,图层,MxLibDraw
来源: https://www.cnblogs.com/yzy0224/p/14837363.html