• c++调用com口操作autocad


    #include "stdafx.h"
    #include <atlcomcli.h>
    #import  "D:\C++test\FirstCom\Release\FirstCom.dll" no_namespace
    #import  "C:\Program Files\Common Files\Autodesk Shared\acax18chs.tlb" no_namespace
    
    
    int _tmain()
    {
        HRESULT hr;
        CoInitialize(NULL);
        CLSID clsid;
        hr=CLSIDFromString(OLESTR("AutoCAD.Application.18"), &clsid);
        CComPtr<IAcadApplication> pFir;
        
        pFir.CoCreateInstance(clsid);
    //     pFir->Visible = TRUE;
    //     pFir->WindowState = acMax;
    //     HWND hw = (HWND)(pFir->HWND);
    //     ::SetForegroundWindow(hw);
    
        IAcadDocumentPtr idoc;
        hr = pFir->get_ActiveDocument(&idoc);
        IAcadModelSpacePtr iMod;
        hr = idoc->get_ModelSpace(&iMod);
    
        double ptV[3];
        ptV[0] = 10;
        ptV[1] = 10;
        ptV[2] = 0;
    
        VARIANT  insertPT;
        VariantInit(&insertPT);
        insertPT.vt = VT_ARRAY | VT_R8; //类型(数组,双精度型)
        SAFEARRAYBOUND rgsabound[1];
        rgsabound[0].cElements = 3;    //数组所含元素数
        rgsabound[0].lLbound = 0;   //数组上界
    
        insertPT.parray = SafeArrayCreate(VT_R8, 1, rgsabound);  //创立一维数组
        SafeArrayLock(insertPT.parray);
    
        insertPT.parray->pvData = ptV;
        SafeArrayUnlock(insertPT.parray);
    
        hr = iMod->AddCircle(insertPT, 10);
        hr = pFir->ZoomExtents();
    
    
        CoUninitialize();
        return 0;
    }
  • 相关阅读:
    Core Java 5
    pyDay11
    c++第二十一天
    pyDay10
    c++第二十天
    RadioButton控件
    ListBox控件
    Image控件
    FileUpload控件
    DropDownList控件
  • 原文地址:https://www.cnblogs.com/xzh1993/p/10601325.html
Copyright © 2020-2023  润新知