天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 7|回复: 0

DelLayer

[复制链接]
  • TA的每日心情
    开心
    昨天 15:23
  • 签到天数: 69 天

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    #include "StdAfx.h"
    #include "StdArx.h"
    #include <dbsymtb.h>// This is command 'DELLAYER'
    void DelLayer()
    {
        char pcBuffer [133] ;   
        if (acedGetString (0, "\nLayer name to delete: ", pcBuffer) == RTNORM) {
            if (strcmp (pcBuffer, "0") == 0 ) {
                acutPrintf ("\nCannot erase layer (0) !") ;
                return ;
            }
            struct resbuf result ;
            acedGetVar ("CLAYER", &result) ;
            if (stricmp (pcBuffer, result.resval.rstring) == 0 ) {
                free (result.resval.rstring) ;
                acutPrintf ("\nCannot erase current layer !") ;
                return ;        
            }
            free (result.resval.rstring) ;
            AcDbLayerTable *pLayerTable =NULL ;
            if (acdbHostApplicationServices()->workingDatabase()->
                  getSymbolTable (pLayerTable, AcDb::kForRead)== Acad::eOk ) {
                if (pLayerTable->has (pcBuffer)) {
                    AcDbObjectId id ;
                    pLayerTable->getAt (pcBuffer, id) ;
                    AcDbObjectIdArray idArray ;
                    idArray.append (id) ;
                    if (acdbHostApplicationServices()->
                          workingDatabase()->purge (idArray) == Acad::eOk) {
                        if (idArray.contains (id) ) {
                            AcDbLayerTableRecord *pLayer ;
                            pLayerTable->getAt (pcBuffer,pLayer, AcDb::kForWrite) ;
                            pLayer->erase (Adesk::kTrue) ;
                            pLayer->close () ;
                            acutPrintf ("\nLayer (%s)deleted !", pcBuffer) ;
                        }
                        else {
                            acutPrintf ("\nLayer (%s) is referenced !", pcBuffer) ;
                        }
                    }
                    else {
                        acutPrintf ("\nLayer (%s) cannot be deleted !", pcBuffer) ;
                    }
                }
                else {
                    acutPrintf ("\nLayer (%s) does not exist !",pcBuffer) ;
                }
                pLayerTable->close () ;
            }
        }
    }

     

     

     

     

    DelLayer
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|

    GMT+8, 2024-7-1 05:17 , Processed in 0.059785 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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