设为首页收藏本站

中国膜结构网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

膜结构车棚
膜结构车棚膜结构资质国产膜材 膜结构网中国膜结构协会
查看: 83|回复: 0

AutoCAD Automation

[复制链接]
  • TA的每日心情
    开心
    2021-6-23 14:19
  • 签到天数: 1543 天

    [LV.Master]伴坛终老

    发表于 2021-4-13 21:08 | 显示全部楼层 |阅读模式
    #pragma once


    #ifdef _ACAD2004
    #include // AutoCAD2004 et supérieurs
    #else
    #include // AutoCAD2002
    #endif

    #define ERR_NOERROR 0
    #define ERR_CLSIDFROMPRGID -1
    #define ERR_GETACTIVEOBJECT -2
    #define ERR_UNK_QUERYINTERFACE -3
    #define ERR_ACAD_QUERYINTERFACE -4
    #define ERR_GETDOCUMENTS -5
    #define ERR_OPENFILE -6


    class CAcadDriver
    {
    public:
    CAcadDriver(void);
    ~CAcadDriver(void);
    private:
    int Init(void);
    IAcadApplication *pAcad;
    IAcadDocuments *m_acaddocs;
    public:
    int OpenDoc(char *filename);
    int CloseDoc(void);
    public:
    IAcadDocument *pdoc;
    CString m_strCurrentFile;
    };


    // acaddriver.cpp


    #include "StdAfx.h"
    #include "acaddriver.h"
    #include // ConvertStringToBSTR

    // Acad 2007

    extern const IID IID_IAcadApplication =
    {0x8F17437C,0x2EFB,0x4FC4,{0x81,0x88,0xEE,0xFA,0x50,0xFE,0x71,0x47}};

    CAcadDriver::CAcadDriver(void)
    {
    pAcad = NULL;
    m_acaddocs = NULL;
    m_strCurrentFile = "";
    pdoc = NULL;
    }


    int CAcadDriver::Init(void)
    {
    HRESULT hr = ERR_NOERROR;
    CLSID clsid;
    LPUNKNOWN pUnk = NULL;
    LPDISPATCH pAcadDisp = NULL;

    CString m_strMessage;

    hr = ::CLSIDFromProgID(L"AutoCAD.Application",&clsid);

    if (FAILED(hr))
    {
    return(ERR_CLSIDFROMPRGID);
    }

    if(::GetActiveObject(clsid, NULL, &pUnk) != S_OK) // AutoCAD Actif ..
    {
    return(ERR_GETACTIVEOBJECT);
    }

    hr = pUnk->QueryInterface(IID_IDispatch, (LPVOID*) &pAcadDisp);
    pUnk->Release();

    if (FAILED(hr))
    {
    return(ERR_UNK_QUERYINTERFACE);
    }

    hr = pAcadDisp->QueryInterface(IID_IAcadApplication,(void**)&pAcad);

    pAcadDisp->Release();

    if (FAILED(hr))
    {
    return(ERR_ACAD_QUERYINTERFACE);
    }

    //pAcad->put_Visible(false);

    hr = pAcad->get_Documents(&m_acaddocs);

    if (FAILED(hr))
    {
    return(ERR_GETDOCUMENTS);
    }

    return(ERR_NOERROR);
    }

    CAcadDriver::~CAcadDriver(void)
    {
    if ( m_acaddocs != NULL )
    {
    m_acaddocs->Release();
    m_acaddocs = NULL;
    }

    if ( pAcad != NULL )
    {
    pAcad->Release();
    pAcad = NULL;
    }
    }

    int CAcadDriver::OpenDoc( char *filename )
    {
    HRESULT hr = ERR_NOERROR;
    COleVariant
    covTrue((short)TRUE),
    covFalse((short)FALSE),
    covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

    if( m_acaddocs == NULL )
    {
    int init = this->Init();
    if( init != ERR_NOERROR )
    return(init);
    }

    if( pdoc != NULL )
    {
    this->CloseDoc();
    }

    // convert to unicode

    BSTR strFile = _com_util::ConvertStringToBSTR( filename );

    #ifdef _ACAD2004 // AutoCAD2004 et supérieurs
    hr = m_acaddocs->Open( strFile, covTrue, COleVariant(""), &pdoc);
    #else
    hr = m_acaddocs->Open( strFile, covTrue, &pdoc);
    #endif

    SysFreeString(strFile);

    if (FAILED(hr))
    {
    return(ERR_OPENFILE);
    }

    IAcadDatabase *pDatabase;

    pdoc->get_Database( &pDatabase );

    return ERR_NOERROR;
    }

    int CAcadDriver::CloseDoc(void)
    {
    COleVariant
    covTrue((short)TRUE),
    covFalse((short)FALSE),
    covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

    if( pdoc != NULL )
    {
    pdoc->Close(covFalse,covOptional);
    pdoc->Release();
    pdoc = NULL;
    }
    return 0;
    }
    回复


    http://www.mjgw.org/ 专业从事膜结构设计、制作加工、施工安装的膜结构工程服务,能够为客户提供专业的膜结构整体解决方案。做中国最好的膜结构综合服务平台。欢迎大家联系电话:198-7840-1958,QQ:463017170.
    相关关键词:膜结构车棚,膜结构车棚覆盖,膜结构车棚公司,膜结构车棚多少钱,膜结构车棚厂家,膜结构车棚价格,社区膜结构车棚,膜结构车棚膜布厂家 ,膜结构车棚哪家好,膜结构车棚多少钱一米,膜结构车棚报价,膜结构车棚哪里有,膜结构车棚定制,膜结构车棚安装,膜结构车棚设计,膜结构车棚电话,膜结构车棚加工,膜结构车棚膜布价格,膜结构车棚批发,膜结构车棚制造商,膜结构车棚生产厂家,膜结构车棚设计,膜结构车棚施工,膜结构车棚多少钱一平米,膜结构车棚订制,张拉膜车棚,张拉膜车棚覆盖,张拉膜车棚公司,张拉膜车棚多少钱,张拉膜车棚厂家,张拉膜车棚价格,社区张拉膜车棚,张拉膜车棚膜布厂家 ,张拉膜车棚哪家好,张拉膜车棚多少钱一米,张拉膜车棚报价,张拉膜车棚哪里有,张拉膜车棚定制,张拉膜车棚安装,张拉膜车棚设计,张拉膜车棚电话,张拉膜车棚加工,张拉膜车棚膜布价格,张拉膜车棚批发,张拉膜车棚制造商,张拉膜车棚生产厂家,张拉膜车棚设计,张拉膜车棚施工,张拉膜车棚多少钱一平米,张拉膜车棚订制,常用膜材品牌:德国杜肯、法国法拉利、德国海德斯、德国米乐、日本平岗、韩国秀博、比利时希运、美国赫虏伯、中国科宝、上海慧遥。

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    推荐膜材品牌上一条 /6 下一条

    进口膜材 国产膜材 pvdf膜材ptfe膜材ETFE膜材
    最好的膜结构公司 一级膜结构资质 膜结构一级资质
    膜结构设计-膜结构十大品牌-etfe设计-充气膜结构
    诺科膜结构
    遨都膜结构设计
    中国膜结构网
    中国空间膜结构

    QQ|申请友链|手机版|中国膜结构论坛