当前位置:首页 > 帮助文档 > 安卓开发 > 图形数据库
图层文字样式
图层

新建图层

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());

}
梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703