zoukankan      html  css  js  c++  java
  • ObjectARX2018+AutoCAD2018+VS2015开发环境配置

    https://blog.csdn.net/qq_40416052/article/details/85273756

    骤一、开发工具准备

    1.Visual Studio 2015 下载含(更新3)及密钥:http://blog.postcha.com/read/66 (下载社区版即可)

    Visual Studio 2015安装步骤:https://jingyan.baidu.com/article/c45ad29c223421051753e23a.html

    2.ObjectARXWizards.msi 2018 下载地址:https://pan.baidu.com/s/1fKIc4xp6K3M_a7ayvl10Ug

    3.Autodesk_ObjectARX_2018_Win_64_and_32_Bit.sfx.exe 2018 SDK 下载地址:https://pan.baidu.com/s/1ktGYjzC5CILxp6Ppc9qxRA

    4.AutoCAD 2018下载地址:https://pan.baidu.com/s/1MxPgMHCOQ192u3VS_2Hp5w

    步骤二、手动创建ObjectARX程序

    这一步不是必要的,也可以直接跳到步骤三,但是步骤三需要添加步骤二的链接库和引用等。

    1.创建win32项目

    2.配置属性

    3.VC++目录

    1)include目录

    2)lib库目录

    3)C/C++->代码生成

    代码生成设置,链接库:多线程DLL(/MD) ,如果没有这个选项,看vs2008中项目属性中没有C/C++选项,也可以先不理会这一项,C/C++-这个选项在后面创建并运行cpp项目才会出现。

    4)附加依赖项

    rxapi.lib;acdb22.lib;acge22.lib;acad.lib;ac1st22.lib;accore.lib

    编译程序:

      

    4.添加cpp文件

    Hello.cpp添加代码:

    #include <aced.h>
    #include <rxregsvc.h>
    #include "stdafx.h"

    void InitApp();
    void UnloadApp();

    void HelloWorld();

    void InitApp()
    {
    acedRegCmds->addCommand(L"Hello1", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
    }

    void UnloadApp()
    {
    acedRegCmds->removeGroup(L"Hello1");
    }

    void HelloWorld()
    {
    acutPrintf(L" Hello World!");
    }

    extern "C" AcRx::AppRetCode
    acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {
    switch (msg)
    {
    case AcRx::kNullMsg:
    break;
    case AcRx::kInitAppMsg:
    acrxDynamicLinker->unlockApplication(pkt);
    acrxRegisterAppMDIAware(pkt);
    InitApp();
    break;
    case AcRx::kUnloadAppMsg:
    UnloadApp();
    break;
    case AcRx::kLoadDwgMsg:
    break;
    case AcRx::kUnloadDwgMsg:
    break;
    case AcRx::kInvkSubrMsg:
    break;

    case AcRx::kCfgMsg:
    break;
    case AcRx::kEndMsg:
    break;
    case AcRx::kQuitMsg:
    break;
    case AcRx::kSaveMsg:
    break;
    case AcRx::kDependencyMsg:
    break;

    case AcRx::kNoDependencyMsg:
    break;

    case AcRx::kOleUnloadAppMsg:
    break;
    case AcRx::kPreQuitMsg:
    break;
    case AcRx::kInitDialogMsg:
    break;
    case AcRx::kEndDialogMsg:
    break;
    case AcRx::kSuspendMsg:
    break;

    case AcRx::kInitTabGroupMsg:
    break;
    case AcRx::kEndTabGroupMsg:
    break;

    default:
    break;
    }
    return AcRx::kRetOK;
    }
     此时,编译cpp项目!

    然后,

    链接中的附加库:

    添加模块定义文件:

    Hello.def添加代码:

    LIBRARY Hello1
    DESCRIPTION "First ARX Application"

    EXPORTS
    acrxEntryPoint PRIVATE
    acrxGetApiVersion PRIVATE
    添加stdafx.cpp和stdafx.h文件:

     stdafx.h添加代码:

    #pragma once

    #define WIN32_LEAN_AND_MEAN

    #include <Windows.h>
    #include "tchar.h"
     stdafx.cpp添加代码:

    #include "stdafx.h"
    添加入口函数:

    Hello1添加代码:

    #include "stdafx.h"
    BOOL APIENTRY DLLMain(HANDLE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved)
    {
    return TRUE;
    }
     编译程序,通过!

    三、手动创建ARX HelloWorld程序

    1.AutoCAD ObjectARX 2018本身有bug,需要对两个文件进行修改

    可参考文章:VC++开发AutoCAD 2018/objectARX 用向导新建项目无法新建的问题

    1)将文档中有2017的地方替换成2018

    使用搜索软件"火萤酱"找到文件:

    2) 第一个文件

    3.)第二个文件

    2.创建ARX项目:

    其他选项默认即可。 

    编译,出现错误:

    解决error:

    解决warning:

    编译:

    输入命令:MYCOMMANDLOCAL

     
    ————————————————
    版权声明:本文为CSDN博主「Civil跨界工程师」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_40416052/article/details/85273756

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/mjgw/p/12347979.html
Copyright © 2011-2022 走看看