ObjectARX编程(五) ---------符号表中层表的操作

来源:互联网 发布:c语言for循环语句 编辑:程序博客网 时间:2024/06/16 06:26
创建新的图层,实际上就是创建一个新的层表的记录,并将其添加到层表中。

修改一个图层的颜色,可以从层表中获取指定的记录,然后使用ACDBLayerTableRecord类的setColor函数设置层表记录的颜色。

删除一个图层,需要首先从层表中获取指定的层表记录,然后将层表记录设置一个删除的标记。

1. 新建图层
szLayerName;
//第一步首先获取数据库
//获取层表
AcDbLayerTable* pLayerTable = NULL
addbHostApplicationServices()->workingDatabase()->getSymbomTable(pLayerTable ,AcDb::kForWrite);
//判断是否已经存在同名的层表
if(pLayerTable->has(szLayerName))
return ;
//创建层表记录
AcDbLayerTableRecord *pLayerTableRcd = new AcDbLayerTableRecord();
pLayerTableRcd->setName(szLayerName);
//修改层表记录属性 设置颜色等。
AcCmColor color;
color->setColorIndex(colorIndex);
pLayerTableRcd->setColor(color);
//把层表记录添加到层表中
pLayerTable->add(pLayerTableRcd );
//关闭表和表记录
pLayerTableRcd ->close();
pLayerTable->close();

2. 删除图层
szLayerName;
//获取层表
AcDbLayerTable* pLayerTable = NULL
addbHostApplicationServices()->workingDatabase()->getSymbomTable(pLayerTable ,AcDb::kForWrite);
//获取图层表记录的ID
AcDbObjectID layerId = AcDbObjectId::kNull;
if(!pLayerTable->has(szLayerName))
pLayerTable ->getAt(szLayerName,layerId );
pLayerTable ->close();
//判断ID是否无效
//通过ID获取图层表记录
AcDbLayerTableRecord *pLayerTableRcd = NULL;
if(layerId.isValid())
acdbOpenObject(pLayerTableRcd ,layerId,AcDb::kForWrite);
//删除图层表记录
pLayerTableRcd ->erase();
pLayerTableRcd ->close();

3. 遍历图层表记录

//获取层表
AcDbLayerTable* pLayerTable = NULL
addbHostApplicationServices()->workingDatabase()->getSymbomTable(pLayerTable ,AcDb::kForWrite);
//获取层表记录的浏览器
AcDbLayerTableIterator *it = NULL;
pLayerTable ->newIterator(it);
//循环遍历
AcDbLayerTableRecord *pLayerTableRcd = NULL;
for(it->start();!it->done();iter->step())
{
it->getRecord(pLayerTableRcd ,AcDb::kForRead);
//TODO 处理
pLayerTableRcd ->close();
}
delete if;
pLayerTable ->close();
阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝买了特价商品店家不发货怎么办 红米5a装不下卡怎么办 红米3s流量太慢怎么办 红米3s触屏失灵怎么办 红米note的4g信号差怎么办 电信4g网速慢怎么办红米手机 红米3电信4g信号不好怎么办 红米note3无法连接4g怎么办 红米2a手机开不了机怎么办 红米2a不支持微信运动怎么办 红米2a开不了机怎么办 红米2a突然开不了机怎么办 苹果手机刷机刷到一半没电了怎么办 红米5手机死屏了怎么办 小米2a手机开不了机怎么办 小米2a长时间没用开不了机怎么办 红米手机玩游戏太卡怎么办 红米2a无限重启怎么办 红米3s像素好差怎么办 红米4x后摄像头进水了怎么办 红米手机卡死了又不能拆电池怎么办 红米1s格式化输入法没了怎么办 红米5a锁屏密码怎么办 红米1s手机开不开机怎么办 红米2a忘记解锁密码怎么办 红米手机忘了解锁图案怎么办 账户密码忘记了手机号不用了怎么办 手机电池用完了冲不进去电怎么办 华为手机电池一体的想扣电池怎么办 苹果微信支付显示需要验证码怎么办 天猫极速退货上门取件预约满怎么办 手机锁死了忘记魅族账号密码怎么办 魅蓝e升级系统开不了机了怎么办 京东第三方店铺显示关闭怎么办 派派怎么提现朋友不够怎么办 派派邀请30个好友才能提现怎么办 派派更换手机号后提现时怎么办 京东白条扫码支付被骗怎么办 实体店买的商品一天后降价怎么办 东西没收到确确认收货了怎么办 工行手机银行转农行卡号错了怎么办