zoukankan      html  css  js  c++  java
  • 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杂碎--(学习指南及书籍)


        这些书籍中《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开发的理论和基础知识。那么,按objectarx SDK自带的docs和samples操作一遍,并搞懂每一行代码的来由。在ObjectArx领域,你就算的上一个专家了。
    【4】ObjectArx学习方法
        ObjectArx是一个基于C++的针对AutoCADR做二次开发的软件包。因此,在学习使用该方法之前,你必须有一定的C++基础和一定的AutoCAD基础。如果,二者有缺,你的补上先。否则,学习的路途上倍加艰辛。
        如果有C++基础和AutoCAD基础,那么就只有一个最简单、最有效的学习方法了:编程实践,不懂就问,不问就查。
        如何问? 问身边的高手,问网上的高手。如果没有问的机会,那就苦B了点。就只有直接查了,查书查文献查网络,网络查是最快捷了,但是不容易查得准,因为,提炼问题的关键字,也是一门学问。关键字对了,一查就准,关键字错了,天明查到天黑也可能一无所获。
       纸上得来终觉浅,绝知此事要躬行;眼过千遍,不如手动一遍;实践出真知。做程序开发更是如此。
       用手练,用嘴问,终有所成。
      ======

    后记:该文初于13年1月写于新浪博客,发现略有价值,遂腾挪至此。

  • 相关阅读:
    [Coding Made Simple] Coin Changes Minimum Number of Coins
    [Coding Made Simple] Egg Dropping
    015_配置免密登录
    014_编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件
    013_使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码
    012_使用死循环实时显示 eth0 网卡发送的数据包流量
    011_9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)
    010_编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态
    09_编写脚本,实现人机<石头,剪刀,布>游戏
    08_依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
  • 原文地址:https://www.cnblogs.com/stevensfollower/p/4093727.html
Copyright © 2011-2022 走看看