天气与日历 切换到窄版

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

获取外部图纸中的数据库

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

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    获取外部图纸中的数据库
    其中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("\n在当前文件中不存在!"));
    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("\n在当前文件中不存在!"));
    delete pDb;
    pDb = NULL;
    return NULL;
    }
    return pDb;
    }

     

     

     

     

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

    本版积分规则

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

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

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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