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
- ObjectARX编程(五) ---------符号表中层表的操作
- ObjectARX编程(七) -------符号表操作的总结
- ObjectARX编程(四) --------符号表简述
- ObjectARX编程(三) --------数据库的介绍
- ELF(五)符号表
- ObjectArx编程环境的创建
- 符号表的基本操作
- 中层领导:部门经理要处理的五种关系
- ObjectArx编程(一) ------ 环境的搭建
- ObjectARX编程(六) ------块和属性
- Linux内核模块-导出符号表(五)
- linux 内核模块编程之内核符号导出(五)
- ObjectARX编程环境
- ObjectARX编程环境概述
- ObjectArx开发对txt文本文件的操作一例
- ObjectARX中ADO操作数据库的一个类实例封装
- ObjectARX学习笔记(三十五)----外部参照相关的操作
- flex中层的布局
- MySQL数据备份"--no-beep"异常解决
- sizeof的基本用法的整理
- 贵安新区飘起“数据云”
- CS231nNeural Networks Part 1: Setting up the Architecture
- 在SpringMVC 中使用 Thymeleaf 模板引擎
- ObjectARX编程(五) ---------符号表中层表的操作
- 如何在linux 下 root用户密码丢失情况下,获得root权限
- 爬取网页的通用代码框架
- PHP7.0 的新特性你知道多少?
- H264参数结构二:网络提取层NAL (Net Abstraction Layer) & 视频编码层VCL (Video Coding Layer)
- 窗口的创建过程:
- java牛牛新买了一本算法书,算法书一共有n页,页码从1到n。牛牛于是想了一个算法题目:在这本算法书页码中0~9每个数字分别出现了多少次?
- C# 判断字符串是否是22位数字
- http请求状态码