AutoCAD ObjectARX开发版本对照表

AutoCAD ObjectARX开发版本对照表

序号 CAD版本 版本号 二进制兼容 .net框架 ObjectARX开发环境 VC版本号
MAC OS平台 WINDOWS平台 VC版本 _MSC_VER
1 R14 R14.0 R14 Visual C++ 5.0
2 AutoCAD2000 R15.0 AutoCAD2000 N/A N/A Microsoft Visual Studio 6 (Service Pack 2)
3 AutoCAD2000i R15.1 AutoCAD2000iAutoCAD2000 N/A N/A Microsoft Visual Studio 6 (Service Pack 2)
4 AutoCAD2002 R15.2 AutoCAD2002AutoCAD2000iAutoCAD2000 N/A N/A Microsoft Visual Studio 6 (Service Pack 2)
5 AutoCAD2004 R16.0 AutoCAD 2004 N/A Microsoft VisualStudio .NET 2002
6 AutoCAD2005 R16.1 AutoCAD2005AutoCAD2004 1.1 N/A Microsoft VisualStudio .NET 2002Microsoft VisualStudio .NET 2003
7 AutoCAD2006 R16.2 AutoCAD2006AutoCAD2005AutoCAD2004 1.1 SP1 N/A
8 AutoCAD2007 R17.0 AutoCAD2007 2.0 N/A Microsoft VisualStudio .NET 2005
9 AutoCAD2008 R17.1 AutoCAD2008AutoCAD2007 2.0 N/A Microsoft VisualStudio .NET 2005
10 AutoCAD 2009 R17.2 AutoCAD2009AutoCAD2008AutoCAD2007 3.0 N/A Microsoft VisualStudio .NET 2005
11 AutoCAD2010 R18.0 AutoCAD2010 3.51 SP1 N/A Microsoft VisualStudio 2008(SP1)
12 AutoCAD2011 R18.1 AutoCAD2011AutoCAD2010 3.51 SP1 Mac OS X (10.6.4+)Xcode: 3.2.5Qt: 4.6.3 Patched/4.6.3.1 Patched (SP1)Mono: 2.6.7_3
13 AutoCAD2012 R18.2 AutoCAD2012AutoCAD2011AutoCAD2010 3.51 SP1 Mac OS X(10.6.4+)Xcode: 3.2.5Qt: 4.7.2 PatchedMono: 2.10.2_5 Microsoft VisualStudio 2008(SP1)
14 AutoCAD2013 R19.0 AutoCAD2013 4.0 Mac OS X (10.8)Xcode: 4.4Qt: 4.8.1Mono: 2.10.5Mac OS X (10.7.3)Xcode: 4.3.2+Qt: 4.8.1Mono: 2.10.5 Microsoft Visual Studio 2010 / (SP1)
15 AutoCAD2014 R19.1 AutoCAD2014 4.0 Mac OS X(10.8)Xcode: 4.4Qt: 4.8.2Mono: 2.10.5
16 AutoCAD2015 R20.0 AutoCAD2015 4.5 Mac OS X (10.9)Xcode: 5.0.2Qt: 4.8.5Mono: 3.2.7 Microsoft Visual Studio 2012 (Update 4)
17 AutoCAD2016 R20.1 AutoCAD2016 4.5 Mac OS X (10.9/10.10)Xcode: 5.0.2Qt: 4.8.5Mono: 3.2.7 Microsoft Visual Studio 2012(Update 4)Microsoft Visual Studio 2013
18 AutoCAD2017 R21.0 AutoCAD2017 4.6 Mac OS X (10.10 or later)Xcode: 7.1Qt: 4.8.5Mono: 4.2.1 Microsoft VisualStudio 2015(Update 1)
19 AutoCAD2018 R22.0 AutoCAD2018 4.6 Mac OS (10.12 or later)Xcode: 8.3.2Mono: 4.6.2.7 Microsoft VisualStudio 2015 (Update 3)
​20 AutoCAD2019 R23.0 AutoCAD2019 4.7 N/A Microsoft Visual Studio 2017 (Update 2)

使用ObjectARX进行AutoCAD的二次开发

ObjectARX介绍

ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。 与以往的 AutoCAD 二次开发工具 AutoLISP 和ADS不同,ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用。所以,使用ARX编程的函数的执行速度得以大大提高。ARX 类库采用了标准的C++类库的封装形式,这也大大提高了程序员编程的可靠度和效率。

ObjectARX(C++)-CAD二次开发调试方法

1.创建一个ObjectARX项目

2.在acrxEntryPoint.cpp中添加以下代码用于调试测试:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
	static void AAAMyGroupMyCommand () {
		// Put your command code here

		ads_point p1, p2;

		p1[X] = 0.0;
		p1[Y] = 0.0;
		p1[Z] = 0.0;

		p2[X] = 0.0;
		p2[Y] = 10.0;
		p2[Z] = 0.0;

		double ang = ads_angle(p1, p2);

		acutPrintf(TEXT("HELLOWORLD!"));

	}

3.打开属性

AutoCAD中的ARX插件一般写法(ObjectARX+C++)

AutoCAD中的ARX插件一般写法(ObjectARX+C++)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
// MyArxFirst.cpp : 定义 DLL 应用程序的导出函数。
//ObjectArx开发对txt文本文件的操作一例
#pragma once

#include "stdafx.h"
//
#include "Convert.h"
#include "fileSimpleClass.h"
#include "dbSimpleClass.h"

//定义两个函数
void initApp();
void unloadApp();

//定义命令函数
//------------------------------------------
void hello();//打印"Hello world!"在AutoCAD Command上  的命令
void pfvalue();//打印文件内容 的命令
void pdbvalue();//ado连接数据库的方法 的命令
void inputvalue(); //CAD交互操作的方法 的命令
//------------------------------------------

//定义CAD的实体点函数  这个函数是必须的
extern "C"
AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
//void acrxEntryPoint(void* pkt)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxRegisterAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}

void initApp()
{
//register a command with the AutoCAD command mechanism
//string macro 用法:
//_T("helloworld") or  __T("helloworld")  or ACRX_T("helloworld")
acedRegCmds->addCommand(ACRX_T("HELLOWORLD_COMMANDS"),
ACRX_T("ArxHsgBag"),
ACRX_T("Hello"),
ACRX_CMD_TRANSPARENT,
hello);
acedRegCmds->addCommand(ACRX_T("PFVALUE_COMMANDS"),
ACRX_T("ArxHsgBag"),
ACRX_T("pfvalue"),
ACRX_CMD_TRANSPARENT,
pfvalue);
acedRegCmds->addCommand(ACRX_T("PDBVALUE_COMMANDS"),
ACRX_T("ArxHsgBag"),
ACRX_T("pdbvalue"),
ACRX_CMD_TRANSPARENT,
pdbvalue);
acedRegCmds->addCommand(ACRX_T("INPUTVALUE_COMMANDS"),
ACRX_T("ArxHsgBag"),
ACRX_T("inputvalue"),
ACRX_CMD_TRANSPARENT,
inputvalue);
//
}

void unloadApp()
{
acedRegCmds->removeGroup(ACRX_T("HELLOWORLD_COMMANDS"));
acedRegCmds->removeGroup(ACRX_T("PFVALUE_COMMANDS"));
acedRegCmds->removeGroup(ACRX_T("PDBVALUE_COMMANDS"));
acedRegCmds->removeGroup(ACRX_T("INPUTVALUE_COMMANDS"));
}

//定义两个类变量
fileSimpleClass fsc;
dbSimpleClass dbsc;
Convert cvOp;
//----------------------------------------------------
//实现命令函数
void hello()//hello命令
{
acutPrintf(ACRX_T("\n第一个Arx程序Hello World!"));	
}

void pfvalue()//打印文件内容 命令
{	
acutPrintf(_T("开始输出文件内信息:\n"));
const ACHAR* filepath=ACRX_T("d:\\test.txt");  //OK
acutPrintf(filepath);	//OK
fsc.pfvalue_default(filepath); //OK
fsc.pfvalue2(filepath);  //OK
}

void pdbvalue()//输出数据库表内记录的命令
{
acutPrintf(_T("开始输出数据库表内记录:\n"));
//...
acutPrintf(_T("执行函数:pdbvalue_mdb结果\n"));
dbsc.pdbvalue_mdb();
acutPrintf(_T("执行函数:pdbvalue_mdb结果完毕!\n"));
//
acutPrintf(_T("执行函数:pdbvalue_mdb2结果\n"));
dbsc.pdbvalue_mdb2();
acutPrintf(_T("执行函数:pdbvalue_mdb2结果完毕!\n"));

dbsc.pdbvalue_write(); acutPrintf(_T(“执行函数:pdbvalue_write完毕!\n”));

提高板材下料材料利用率的方法

在当今竞争激烈的形势下,企业能够实现利益的最大化,才能立于不败之地。提高生产效率和原材料的利用率是不变的主题。

对于年需板材几千吨的企业,提高板材下料的材料利用率是非常重要的。

AutoCAD 自动管理字体插件[使用ObjectARX C++]

概述:

使用AutoCAD的过程中,我们常常因为缺失字体而烦恼,本插件就是为了解决这个问题。

插件采用WEB服务器 + CAD插件方式。WEB服务器使用Python编写,部署在百度BAE上;CAD插件使用C++开发,在AutoCAD中使用命令“APPLOAD”加载该插件。

LGA1151支持哪些cpu(1151针cpu型号大全)

LGA1151支持哪些cpu

LGA 1151 cpu主要有以下这些:

  1. 英特尔酷睿i7-6700

英特尔酷睿i7-6700处理器,默认主频为3.4GHz,最高睿频为4.0ghz,四核八线程,8MB三级缓存,采用14nm生产工艺。e799bee5baa6e997aee7ad94e58685e5aeb931333431353365,热设计功耗(TDP)为65W。英特尔酷睿i7 -6700处理器内置英特尔酷睿显卡530。采用LGA 1151接口。

Ubuntu16.04 Android4.4 编译配置

下载:

ubuntu-releases-16.04安装包下载_开源镜像站-阿里云 (aliyun.com) http://mirrors.aliyun.com/ubuntu-releases/16.04/

编译环境:

1
2
3
- linux : ubuntu 16.04  内存2G  处理器 2核  缓存5G  硬盘100G
- 虚拟机: VBox
- Android版本:Android4.4

说明:

1
2
3
1. 需要内存要大于1G,我用1G内存编译提示内存分配失败。
2. 在虚拟机上编译,需要增加缓存的大小,我配置的是5G
3. 本文编译的不是Android原生的源码,是全志提供的SDK  针对T-Foucs T3 设备

(一)代码下载

(1)repo下载和安装

Android使用repo管理代码,所以需要在linux上安装repo