ObjectARX创建新图层的注意事项
最近在ARX中需要创建一个新图层,这本是一个简单的步骤,但却经过了不少折腾,现记录如下。
我原本的做法是在堆上创建一个AcDbLayerTableRecord,然后设置这个层表记录的各项参数,最后才添加到层表中,但是在调试时发现,有些参数设置不上去(例如图层透明度、图层说明等等)。后来经过一些尝试,发现需要先将层表记录添加到层表和数据库中(利用add方法),然后才能设置这些参数。
代码如下。
void CreateNewLayer()
{CString sLayerName = _T("NewCreate");AcDbLayerTable* pLayerTbl = NULL;if (Acad::eOk == acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTbl, AcDb::kForWrite)){if (!pLayerTbl->has(sLayerName)){AcDbLayerTableRecord* pLayerRec = new AcDbLayerTableRecord;if (Acad::eOk == pLayerTbl->add(pLayerRec)) //请注意,一定要先添加到层表和数据库当中,然后才能设置透明度、说明等参数{pLayerRec->setName(sLayerName);pLayerRec->setIsFrozen(0); // layer to THAWEDpLayerRec->setIsOff(0); // layer to ONpLayerRec->setVPDFLT(0); // viewport defaultpLayerRec->setIsLocked(0); // un-lockedAcCmTransparency trans; // 设置透明度trans.setAlpha(50);pLayerRec->setTransparency(trans);AcCmColor cColor; // 设置颜色cColor.setRGB(255, 0, 0);pLayerRec->setColor(cColor);pLayerRec->setDescription(_T("这是一个新创建的图层")); //设置说明pLayerRec->close();}elsedelete pLayerRec;}pLayerTbl->close();}
}
ObjectARX创建新图层的注意事项相关推荐
- ObjectARX创建一条直线并把该直线设置为某一新建图层(尚有缺陷)
ObjectARX创建一条直线并把该直线设置为某一新建图层 项目场景:绘制对线并设置图层 解决方案:对张帆书中代码进行了修改 项目场景:绘制对线并设置图层 画一条线, 并且给这条线设置一个具有新名字的 ...
- Java多线程(四):使用Executors创建线程池及其注意事项
文章目录 1. 简介 2. newCachedThreadPool 3. newFiexedThreadPool 4. newSingleThreadExecutor 5. newScheduledT ...
- 前嗅ForeSpider教程:如何创建新任务
从今天起,小编开始教大家逐步进行可视化配置操作.首先,我们来学习第一步:创建新任务,主要包括创建新任务的操作步骤,操作中的注意事项两部分内容. 一,创建新任务操作步骤: 1.添加新任务 点击任务列表右 ...
- ObjectArx创建指定块
ObjectArx创建自定义块 一. 目的 仿照AutoCad的Block命令,实现简版创建块功能! 二. 开发环境 Win7操作系统,AutoCad2012, VS2008, Obje ...
- 在ArcGIS Online中创建三维图层和网络场景(2017.9)
原文地址 作者: Russell Roberts 因为内容比较简略的原因,本文主要使用google机翻,人工校对 为ArcGIS Online创建3D内容 在本博客中,我将采用此ArcGIS Pro教 ...
- 前嗅ForeSpider教程:如何创建新任务 1
从今天起,小编开始教大家逐步进行可视化配置操作.首先,我们来学习第一步:创建新任务,主要包括创建新任务的操作步骤,操作中的注意事项两部分内容. 一,创建新任务操作步骤: 1.添加新任务 点击任务列表右 ...
- Ps 初学者教程「62」如何在图片中创建新背景?
欢迎观看 Photoshop 教程,小编带大家了解如何使用 ps 将照片主题置于全新环境中. 不需要旅行预算来为您的照片寻找新的背景,第一步是隐藏朴素的灰色墙.选中模特图层,来到工具面板选择「快速选择 ...
- 《Adobe After Effects CS6中文版经典教程》——2.3 创建新合成图像
本节书摘来自异步社区<Adobe After Effects CS6中文版经典教程>一书中的第2课,第2.3节,作者 [美]Adobe公司 ,译者 张明,更多章节内容可以访问云栖社区&qu ...
- android sqlite动态创建表,Android 解决sqlite无法创建新表的问题
使用SQLite时,继承SQLiteOpenHelper, onCreate方法只有在第一次创建数据库的时候才会被调用, 因此,重新更改或者添加表时,需要在DDMS里面删掉原来的.db文件,重新运行, ...
最新文章
- 2020年AI如何走?Jeff Dean和其他四位“大神”已做预测!
- Yii2框架源码分析之如何实现注册和登录
- JSP中getParameter和getAttribute区别
- Vue指令篇_v-for_列表渲染
- JAVA连接数据库ij_Derby 客户端 ij使用
- 做系统的U盘如何格式化
- iQOO Z5内置5000mAh大电池:超长续航安全感爆棚
- matlab2c使用c++实现matlab函数系列教程-sum函数
- maven2 clean 错误的解决
- js-权威指南学习笔记4
- EXCEL中制作省市区行政区地图
- 2021-09-06
- 腾讯cdn设置 php,WordPress使用腾讯云CDN配置教程(https)
- thinkpad重装系统不引导_联想装win10系统引导不进系统怎么办?(完美解决方法)
- 《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
- SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(一)
- py实现高斯列选主元消元法
- Discuz论坛搬家教程
- 上饶师范学院C语言试卷,13级普通科试卷A卷.doc
- 网络推广主管工作汇报实操指南
热门文章
- it企业实习_IT企业认知实习心得
- C语言位运算--获取第i位、清零第i位、赋值第i位
- MAALA4.14.2_空间和子空间 (Space and Subspace)
- Google Play services for Android下载:失败,华为系统限定死了,上网找了几种方法全部失败
- Hyper-V--虚拟机迁移
- 你真的了解软件开发的本质吗?
- ERP中BOM变更操作的简单操作
- 美通社企业新闻汇总 | 2019.1.22 | 红点中国完成4亿美元基金募集;天境生物再获美国FDA临床许可...
- 【知网研学】使用方法
- Delphi Web前端开发教程(4):基于TMS WEB Core框架