安卓系统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++)

 

{

 

new McDbLayerTableRecord(ids[i]);

 

//返回符号表记录的名称

 

String sName = layer.getName();

 

"LayerName:",sName);

 

 

 

   

 

}

打开所有图层

实现代码说明:

 

//得到所有图层

 

long[] ids = MxFunction.getAllLayer();

 

if(ids ==null)

 

return;

 

 

 

for(int i = 0; i < ids.length;i++)

 

{

 

new McDbLayerTableRecord(ids[i]);

 

    

 

 

 

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++)

 

{

 

new McDbLayerTableRecord(ids[i]);

 

 

 

 

 

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++)

 

{

 

new McDbTextStyleTableRecord(allId[i]);

 

//getName()返回符号表记录名称

 

"textStyleRecord:",textStyleRecord.getName());

 

//返回文字样式的字体文件名,shx字体文件,fileName在不使用时需要调用Mx::mcutDelString函数释放内存

 

"fileName:",textStyleRecord.fileName());

 

//返回文字的big shx文件名

 

"bigFontFileName:",textStyleRecord.bigFontFileName());

 

 

 

}