zoukankan      html  css  js  c++  java
  • 获取外部图纸中的数据库

    其中filePath是外部图纸的保存地址,这是对于使用ZWCAD来编写时,需要在创建数据库之前,提供一个服务,具体代码如下面:

    ZcDbDatabase * getDataByDwg(CString filePath)
    {

    //提供服务

    class ZcDbHostApplicationServicesEx : public ZcDbHostApplicationServices
    {
    public:
    ZcDbHostApplicationServicesEx(){};
    virtual Zcad::ErrorStatus findFile(ZTCHAR * pcFullPathOut,
    int nBufferLength,
    const ZTCHAR * pcFilename,
    ZcDbDatabase * pDb = NULL,

    ZcDbHostApplicationServices::FindFileHint hint = kDefault){return Zcad::eOk;}
    };
    Zcad::ErrorStatus es;
    ZcDbHostApplicationServicesEx *pdbsvr = new ZcDbHostApplicationServicesEx;
    zcdbSetHostApplicationServices(pdbsvr);

    //定义一个数据库对象
    ZcDbDatabase *pDb = NULL;
    pDb = new ZcDbDatabase(ZSoft::kFalse);

    Zcad::ErrorStatus es = pDb->readDwgFile(filePath);
    if (Zcad::eOk != es)
    {

    zcutPrintf(filePath + _T(" 在当前文件中不存在!"));
    delete pDb;
    pDb = NULL;
    return NULL;
    }
    return pDb;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////

    对于autocad的话,就不需要提供服务,可以直接创建数据库,然后通过readDwgFile来获得外部图纸的数据库,代码如下:

    AcDbDatabase * getDataByDwg(CString filePath)
    {
    //定义一个数据库对象
    AcDbDatabase *pDb = NULL;
    pDb = new AcDbDatabase(Adesk::kFalse);

    Acad::ErrorStatus es = pDb->readDwgFile(filePath);
    if (Acad::eOk != es)
    {

    acutPrintf(filePath + _T(" 在当前文件中不存在!"));
    delete pDb;
    pDb = NULL;
    return NULL;
    }
    return pDb;
    }

  • 相关阅读:
    LeetCode:12. Roman to Integer (Easy)
    Python:正则表达式—— re 模块
    RAID(冗余硬盘阵列)
    Mac OS下搭建Hadoop + Spark集群
    LeetCode:12. Integer to Roman(Medium)
    js事件中绑定另一事件导致事件多次执行
    ie8以上及非ie8情况下的写法
    javascript闭包
    bootstrap-datetimepicker年视图中endDate设置之后比正常时间提前两个月
    javascript的阻塞机制
  • 原文地址:https://www.cnblogs.com/pengjun-shanghai/p/4819180.html
Copyright © 2011-2022 走看看