ObjectARX杂碎--(学习指南及书籍)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
【注】所有文字,权当个人留存。若君不幸踏访,切无讥讽,确有可取之处,不妨随心借取,确有错漏之处,还望不吝赐教。交流:dszhao0523@163.com
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
【正文】今已踏入通信行业年余,诸多ObjectArx繁杂事情间或缠身,为避此琐事,特就其所知一一整理,陆续记载于ObjectArx版块中。
此篇为该版块第一篇,拟介绍ObjectArx一些繁杂琐碎的细节。后续篇章将从浅入深的介绍ObjectArx的相关知识(我所涉及)。
该篇内容概览如下:
1、ObjectArx简介
2、ObjectArx环境搭建
3、ObjectArx学习资料
4、ObjectArx学习方法
【1】ObjeactArx简介
这一节的知识通过关键字【ObjectArx】在百度和google,可以得到详细介绍。在此,引用百度百科和ObjectArx官网(即AUTOCAD官网:http://usa.autodesk.com/adsk/servlet/index?id=773204&siteID=123112)的内容做个简单的介绍。
ObjectARX是什么?---------Autodesk公司提供的针对AutoCAD平台做二次开发的以C++为基础的软件包。
ObjectArx的主要用途就是对AutoCAD软件做二次开发,比如定制一些复杂的图形,开发一些快捷的绘图模式等,还有人在AutoCAD上用它开发各种小游戏。总之,ObjectArx是Autodesk公司特意开发的一个软件包,这个包提供了大量访问AutoCAD软件底层的接口(函数、api),通过这些接口你就能够在AutoCAD平台上做一些你想做,而AutoCAD又没有自带的事情。所以,你应该只能用ObjectArx处理AutoCAD,而不应该用来做其他事情,比如Web程序。
【2】ObjectArx环境搭建
从上一节可知,ObjectArx是通过访问AutoCAD软件底层接口用来扩展AutoCAD软件的。然而,AutoCAD又各种不同的版本(2004、2006、2007、2008、2010等),他们的底层接口(函数、API)必然不尽相同,因而,ObjectArx也理应根据不同AutoCAD版本提供不同的版本。可是,ObjectArx只是一个软件包,对AutoCAD做二次开发需要借助开发平台(编写、编译程序的平台),支持ObjectArx的开发平台最好的莫过于Microsoft visual studio,而Microsoft visual studio也有自己不同时期的各个版本。因此,要搭建好ObjectArx开发环境就需要对ObjectArx软件包(SDK)版本、AutoCAD软件版本、Microsoft visual studio平台版本有正确的搭配(组合)。如果组合不合理,则会出现各种问题,增加不少烦恼,严重打击开发激情。
网上已经有很多这个知识点介绍的博客和文章。下面列举一篇比较详细的相关文章:
AutoCAD ObjectArx vs vc++ 最佳组合 http://blog.csdn.net/houjinfeng210/article/details/7451346
AutoCAD与ARX SDK及VS版本对应关系 用VS2010一劳永逸解决AutoCAD ObjectArx开发中VS版本问题
授人以鱼,不如授人以渔。
通过正确的关键词就能检索到,推荐用:CAD ObjectArx VS 开发环境 版本 组合 等词汇,先google检索一遍,如果没有满意的再百度检索一遍,如果都没有,则考虑换关键词不停的检索吧,一定是有的。
为了防止其他连接都不在了,在此记录下,对应关系。
AutoCAD版本
|
ARX版本
|
VS版本
|
|
||
AutoCAD(R12)
|
ARX1
|
VC2
|
AutoCAD(R14)
|
ARX202
|
VC4.2
|
AutoCAD2000/2002(R15/R15.6)
|
ObjectARX2002
|
VC6
|
AutoCAD2004(R16)
|
ObjectARX2004
|
Vs2002(VC7.0)
|
AutoCAD2005(R16.1)
|
ObjectARX2005
|
Vs2003(VC7.1)
|
AutoCAD2006(R16.2)
|
ObjectARX2006
|
VS2003(VC7.1)
|
AutoCAD2007(R17)
|
ObjectARX2007
|
VS2005(VC8.0)
|
AutoCAD2008(R17.1)
|
ObjectARX2008
|
VS2005(VC8.0)
|
AutoCAD2009R(R17.2)
|
ObjectARX2009
|
VS2005(VC8.0)
|
AutoCAD2010(R18)
|
ObjectARX2010
|
VS2008(VC8.0)
|
|
ObjectARX2011
|
VS2008(VC8.0)
|
|
||
AutoCAD2011(R19)
|
||
|
选定版本后,就可以开始搭建开发环境了,我是3年前初次接触CAD二次开发,由于项目需求,指定版本为CAD2008+ObjectArx2008+VS2005。后续所有篇章都是基于该开发环境。关于这个环境的搭建将在下一篇中《AutoCAD2008+ObjectArx2008+VS2005开发环境搭建》中详细介绍。
【3】ObjectArx学习资料
在国内,AutoCAD的使用是非常广泛的;在国内,不想出钱的企业是非常多的。所以,在国内,ObjectArx的学习资料也是不少的。ObjectArx的学习资料可以分为两类:书籍类和网络类。书籍类也可以为了两类:纸质的和电子版的。网络类指的是QQ群、BBS、博客、网络文章等。
在使用ObjectArx过程中,购买了两本纸质书籍,《AutoCAD ObjectArx程序开发技术》、《AutoCAD2000 objectARX编程指南》,参考了大量电子版书籍,如下图所示:
这些书籍中《ObjectARX开发实例教程》最简单、实在;搭建好环境后,复制该书中的例子就可运行得到结果,所见即所得,是入门的最佳实践书籍之一。另外,一本是《AutoCAD2000 objectARX编程指南》,这本书是国外ObjectARX开发的经典书籍,详细介绍了ObjectARX开发的原理。虽然有点老,但永不失指导意义。吃透这两本书,就可以用ObjectArx做一些想做的事情了。
网络类:国内比较好的是:ObjectArx编程站 明经CAD社区 国外的:Autodesk ObjectARX - Autodesk Discussion Groups 另外,想得到实时交互咨询,可以加入一些QQ群,BBS等。比较有人气,实力强劲的ObjectArx QQ群就是ObjectArx编程站附属的两个QQ群(人满为患,所以我被T了。QQ群号也不记得了,想加入的可以去他们的网站上问问)。
当然,还有一个最重要的ObjectArx知识宝库,那就是ObjectArx SDK自带的帮助文档和示例文件:
个人极端的认为,如果你熟悉了上面提到的两本书,也就是了解了ObjectArx开发的理论和基础知识。那么,按objectarx SDK自带的docs和samples操作一遍,并搞懂每一行代码的来由。在ObjectArx领域,你就算的上一个专家了。
【4】ObjectArx学习方法
ObjectArx是一个基于C++的针对AutoCADR做二次开发的软件包。因此,在学习使用该方法之前,你必须有一定的C++基础和一定的AutoCAD基础。如果,二者有缺,你的补上先。否则,学习的路途上倍加艰辛。
如果有C++基础和AutoCAD基础,那么就只有一个最简单、最有效的学习方法了:编程实践,不懂就问,不问就查。
如何问? 问身边的高手,问网上的高手。如果没有问的机会,那就苦B了点。就只有直接查了,查书查文献查网络,网络查是最快捷了,但是不容易查得准,因为,提炼问题的关键字,也是一门学问。关键字对了,一查就准,关键字错了,天明查到天黑也可能一无所获。
纸上得来终觉浅,绝知此事要躬行;眼过千遍,不如手动一遍;实践出真知。做程序开发更是如此。
用手练,用嘴问,终有所成。
======
后记:该文初于13年1月写于新浪博客,发现略有价值,遂腾挪至此。
ObjectARX杂碎--(学习指南及书籍)的更多相关文章
- 《Shell脚本学习指南》书籍目录
摘要:Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更 ...
- 项目管理之道--纪我的新书《PMP项目管理认证学习指南(第4版)》出版并预祝大卖!
新年伊始,我最新的项目管理书籍——<PMP项目管理认证学习指南(第4版)>也出版了,真是新年新气象啊!翻译英文书籍是一件任重道远的工作,除了要具备扎实的基本功,熟悉相关的领域外,还需要细致 ...
- Unix和Linux下C语言学习指南
转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...
- Java工程师学习指南 中级篇
Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...
- Java工程师学习指南 入门篇
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- 写给大忙人的spring cloud 1.x学习指南
这几天抽空搞了下spring cloud 1.x(2.0目前应该来说还不成熟),因为之前项目中使用dubbo以及自研的rpc框架,所以总体下来还是比较顺利,加上spring boot,不算笔记整理,三 ...
- 《CWNA官方学习指南(第3版):认证无线网络管理员PW0-105》
<CWNA官方学习指南(第3版):认证无线网络管理员PW0-105> 基本信息 原书名:CWNA: Certified Wireless Network Administrator Off ...
- Java工程师学习指南(入门篇)
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- Java工程师学习指南(中级篇)
Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...
随机推荐
- element-ui table 底部滚动条问题
1.将 .el-table 标签css属性中的 position: relative; width: 100%; max-width: 100%; 修改成 position: absolute; wi ...
- centos7 node express项目 将http接口升级为https接口的解决方法
1.将对应的ssl证书放到项目文件中(我装的镜像是oneinstack的,创建项目时可以直接选择生成ssl证书的项目,即 xxx.key 和 xxx.crt 文件): 2.修改bin/www文件,修改 ...
- Python函数-eval()
eval(source[, globals[, locals]]) 作用: 将字符串str当成有效的表达式来求值并返回计算结果.参数:source:一个Python表达式或函数compile()返回的 ...
- SQL Sever 学习系列之三
SQL Sever 学习系列之三 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) 五.经理今天刚谈到with的用法(with的 ...
- [转]【技术心得】Last-Modified,Etag,Expire区别
Last-Modified 是什么 Last-Modified 是 HttpHeader 中的资源的最后修改时间,如果带有 Last-Modified ,下一次发送 Http 请求时,将会发生带 If ...
- Haproxy状态监控配置教程
https://www.cnblogs.com/tianciliangen/p/7985881.html 方法一:在defaults段增加如下配置: stats refresh 30s #统计页面自动 ...
- 遍历js的obj中所有属性得key
var obj = $("#jstree_default").jstree("get_checked"); for (var a in obj) { alert ...
- java继承如何理解呢??
总结:我把他弄的无语了.他是诺基亚公司的软件开发师,大学毕业就可以进那么好的公司.实力 package com.bc; //普通类 class yt { public void price() { S ...
- Redis value的5种类型及常见操作
Redis本身存储就是一个hash表,实际实࣫比hash表更复一些,后续讲存储结构时会细讲Key只有String类型Value包括String ,Set,List,Hash,Zset五中类型 STRI ...
- __align(num) 分析
这几天用2440读写SD卡(FAT32文件系统),定义了个文件信息的数据结构里边数据类型有unsigned char, unsigned int, unsigned long几种,在从SD卡上读取数据 ...