明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1284|回复: 2

【求助】如何修改图层名称

[复制链接]
发表于 2014-7-24 00:22 | 显示全部楼层 |阅读模式
已知“图层1”存在,如何修改名称为“图层2”,我简单写了个命令,执行就死机,不知道什么情况?请各位不吝赐教。

        // - OperateLayer._ChangeLayer command (do not rename)
        static void OperateLayer_ChangeLayer(void)
        {
                // Add your code for command OperateLayer._ChangeLayer here
                AcDbLayerTable *pLayerTbl;
                AcDbObjectId layerId;
                AcDbLayerTableRecord *pLayerRecord;
                ACHAR *layerName=new ACHAR[100];

                if (acdbCurDwg()->getLayerTable(pLayerTbl,AcDb::kForRead)!=Acad::eOk)
                {
                        pLayerTbl->close();
                        ads_printf(_T("\n错误:打开层表出错! \n"));
                        return;
                }

                //获取层表记录               
                layerName=_T("图层1");
                if (pLayerTbl->getAt(layerName,pLayerRecord,AcDb::kForWrite) != Acad::eOk)
                {
                        pLayerTbl->close();
                        ads_printf(_T("\n错误:获取层表记录出错! \n"));
                        return;
                }
               
                //修改层名
                layerName=_T("图层2");
                pLayerRecord->setName(layerName);

                //获取层表记录ID
               
                if (pLayerTbl->getAt(layerName,layerId,false) != Acad::eOk)
                {
                        pLayerTbl->close();
                        ads_printf(_T("\n错误:获取层表记录出错! \n"));
                        return;
                }
               
                //设置当前层
                acdbCurDwg()->setClayer(layerId);

                delete layerName;
                pLayerTbl->close();
                pLayerRecord->close();

                return;
        }

发表于 2014-7-25 14:51 | 显示全部楼层
  //获取层表记录               
                layerName=_T("图层1");
这个是不对的
字符串的初始化,
_tcscpy( layerName, _T("..."));
 楼主| 发表于 2014-7-26 14:21 | 显示全部楼层
谢谢,问题已经解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-23 23:07 , Processed in 0.270670 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表