AutoCAD2017,VS2015,Win7/Win10

第一步:安装ObjectARX SDK 库

解压 ObjectARX SDK 文件到指定路径:C:\ObjectARX;(避免出错,使用默认路径)

第二步:安装向导程序

  1. 创建注册表:新建一个 txt 文件,复制以下内容:

    Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Msi.Package\shell\runas]
    @="Run as Administrator"[HKEY_CLASSES_ROOT\Msi.Package\shell\runas\command]
    @="msiexec /i \"%1\""
    

    修改文件名为:MSI添加管理员运行.reg;

  2. 双击运行 【MSI添加管理员运行.reg】;

  3. 右击 【ObjectARXWizards.msi】,以管理员身份运行;

第三步:手动创建ARX项目

  1. 创建一个Win32空的dll 项目;

  2. 创建好项目后,向项目中添加以下文件,并编写以下代码:
    stdafx.h

    #pragma once
    #define WIN32_LEAN_AND_MEAN#include <Windows.h>
    #include "tchar.h"
    

    stdafx.cpp

    #include "stdafx.h"
    
  3. 接着进行项目配置:
    1- [属性]->[配置属性]->[常规]->[目标文件扩展名].dll -> .arx
    2- [属性]->[配置属性]->[C/C++]->[常规]->[附加包含目录](头文件路径)
    3- [属性]->[配置属性]->[C/C++]->[常规]->[代码生成]->[运行库]多线程DLL(/MD)
    4- [属性]->[配置属性]->[链接器]->[常规]->[附加库目录]
    5- [属性]->[配置属性]->[链接器]->[输入]->[附加库依赖]
    图文对照:
    <目标文件扩展名>
    <附加包含目录>

    <运行库>

    <附加库目录>

    <附加库依赖>

  4. 创建 HelloARX.cpp文件并添加以下代码:

    #include "stdafx.h"BOOL APIENTRY DLLMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID ipReserved)
    {return TRUE;
    }
    

    这是dll的入口;

  5. 创建HelloARX.def模块文件并添加以下代码:

    LIBRARY HelloARX
    DESCRIPTION "First ARX Application."EXPORTS
    acrxEntryPoint PRIVATE
    acrxGetApiVersion PRIVATE
    
  6. 创建Arx.cpp文件并添加以下代码:

    #include <aced.h>
    #include <rxregsvc.h>
    #include "stdafx.h"void InitApp();
    void UnloadApp();void HelloWorld();void InitApp()
    {acedRegCmds->addCommand(L"HelloArx", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
    }void UnloadApp()
    {acedRegCmds->removeGroup(L"HelloArx");
    }void HelloWorld()
    {acutPrintf(L"\nHello World!");
    }extern "C" AcRx::AppRetCode
    acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt){switch (msg){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;
    }
    

    到这里可以生成HelloARX.arx文件了

第四步:解决无法新建MFC基础类

  1. 找到:C:\Program Files (x86)\Autodesk\ObjectARX 2017 Wizards\ArxWizMFCSupport\HTML\1033 路径下的 default.htm 文件,以记事本的方式打开它;
  2. 找到第332行
  3. 代码替换为:
<OBJECT CLASS="itemText" ID="DialogList" ACCESSKEY="d" CLASSID="CLSID:087da97a-e2f4-472a-bb48-0bcdfaa20fb3">

大功告成,右键新建类,选择 ObjectARX 类库时正常!

AutoCAD 二次开发之 ObjectARX 环境搭建相关推荐

  1. AutoCAD二次开发之ObjectARX环境搭建(AutoCAD2017 VS2015 Win10)

    CAD二次开发环境搭建详细介绍 最近进行CAD二次开发的研究,发觉网上看起来像是很多资料但是实用的不多,而且有些资料还特别的旧.在本篇文件中,我将最近自己的学习跟大家分享一下.另外还会附上简单的资料. ...

  2. mysql安装连接测试c_C连接MySQL数据库开发之Windows环境搭建及测试_MySQL

    一.开发环境 Win8.1 64位.VS2013.MySQL5.5.3764位 MySQL安装目录为:C:/Program Files/MySQL/MySQL Server 5.5二.配置工程环境 首 ...

  3. JSP开发之TomcatEclipse环境搭建(创建项目运行一个简单的jsp文件)

    通过之前的内容,咱们现在已经安装好了Tomcat服务器了,但是为了项目创建和扩展,咱们还需要使用Eclipse这个东西来搭建一个编码环境.废话不多说,咱们可以在https://www.eclipse. ...

  4. 区块链开发之Truffle环境搭建

    前言 truffle是以太坊目前最流行的一个开发框架,通过truffle我们可以开发基于以太坊的去中心化应用(Dapp).这篇文章介绍如何安装truffle并运行第一个Dapp程序. 预备环境要求: ...

  5. ESP8266-NodeMCU物联网开发之Arduino环境搭建

    Arduino教程传送门

  6. AutoCAD .Net二次开发之Editor选择集

    AutoCAD .Net二次开发之Editor选择集 PickFirst选择集 一般选择集 选择集过滤SelectionFilter Editor的路径: Autodesk.AutoCAD.Appli ...

  7. AutoCAD .Net二次开发之JIG动态绘制详解

    AutoCAD .Net二次开发之JIG动态绘制详解 AutoCAD平台动态绘制分两种,单实体绘制EntityJig和多实体绘制DrawJig,需要自己自定义类去继承.(本人的理解全放在了代码注释中, ...

  8. Android 开发之Windows环境下Android Studio安装和使用教程(图文详细步骤)

    鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下. 一.介绍Android Studio  Android Studio 是一个Android开发环境,基于Intel ...

  9. C#进行MapX二次开发之MapX基础知识

    C#进行MapX二次开发之MapX基础知识 MapX的主要技术特点 (1). 以表(Table)的形式组织信息 每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件.为使用MapIn ...

  10. C#进行Visio二次开发之Shape的Data1、Data2、Data3的用处

    我们知道,Visio的Shape对象有有3个比较特别的属性,分别是Data1.Data2.Data3,平常我们很少用到它,因为我们如果需要属性的话,可能会通过ShapeSheet的Customed P ...

最新文章

  1. Echarts渲染选择SVG /canvas
  2. 使用tensorflow训练数据时遇到的问题总结
  3. 下沉市场消费升级静悄悄?
  4. 把 Console 部署成 Windows 服务,四种方式总有一款适合你!
  5. python做硬件自动化测试仪器_基于Python PyVisa和GPIB的硬件测试仪器控制方法
  6. 1195C. Basketball Exercise
  7. 上的img表示什么_方向盘上的SET、RES和CNL,表示什么意思?别弄错了
  8. go语言打包html,Go语言-打包静态文件
  9. 【转】01背包问题动态规划详解
  10. Eclipse 导入项目与 svn 插件关联全过程记录
  11. 面向集团客户云计算运营平台的市场情况及产品发展——之云计算运营平台方案(二)...
  12. R语言大作业(二):上海市人口普查数据分析
  13. linux下部署selenium爬虫程序
  14. 如何在 Excel 中计算 NPS
  15. 冒泡排序 java代码实现
  16. 计算机图形学——Liang-Barsky算法
  17. 极光Im + layIm 实现后台聊天
  18. CSS的浮动属性,详细学习指南
  19. 计算机前沿软件应用课程怎么样,信息技术前沿心得体会|信息技术应用心得体会...
  20. 零基础ESP8266学习篇-认识esp8266

热门文章

  1. C语言程序设计题解pdf,C语言程序设计题解与上机指导.pdf
  2. linux wifi驱动rtl8188移植
  3. 收集表的使用与批量图片下载
  4. 短视频解析易语言代码
  5. 天翼,有毒?“校园客户端挂马事件”雷锋网独家解析
  6. 5G 引发的科技变革
  7. mac matlab 模糊,MATLAB 2014a 在Mac OS X yosemite 10.10 Retina显示模糊的解决办法
  8. GBS服装分床裁剪计划软件V4.0正式发布
  9. 基于Java的贪吃蛇游戏设计(含免费可用源代码)
  10. DXL应用:向设计元素中添加设计元素