刚刚学习一样新东西的时候,首先要解决的几个问题

    1. 任何搭建一个项目环境;

    2. 新建一个项目的流程;

    3. 调试;

    4. 熟悉其API;

    5. 错误积累与解决办法;

    6. 其中隐含的语法知识和UML知识;

  这是针对代码而言,如果对专业背景不熟悉,还能掌握相关背景知识。

  

    这篇主要讲的是基本流程如下:

    

  2.1  基于AutoCAD内部的实现机制,必须在堆上创建对象,而不能用下面的语句创建直线的对象:

   比如: AcDbLine line(ptStart, ptEnd);

        只能用: AcDbLine *pLine = new AcDbLine(ptStart, ptEnd);

        这只是在内存上创建,并没有添加到图形数据库中,因此不可能会显示在图形窗口中。

    2.2  获得指向块表的指针

        AcDbBlockTable *pBlockTable;//获得指向块表的指针;

        acdbHostApplicationServices()->workingDatabase() 能够获得一个指向当前活动的图形数据库的指针。

        getBlockTable是AcDbDatabase类的一个成员函数,用于获得指向图形数据库的块表的指针。

    2.3  获得指向特定的块表记录(模型空间)的指针

        AcDbBlockTableRecord  *pBlockTableRecord; //获得指向特定的块表记录(模型空间)的指针

        pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);

        AcDbBlockTable::getAt(…) 是获得块表中特定的记录。

    2.4  在块表记录中添加实体

        AcDbObjectId lineId; //将AcDbline类的对象添加到块表记录中

        pBlockTableRecord->appendAcDbEntity(lineId, pLine);

        AcDbBlockTableRecord::appendAcDbEntity(…); //用于将pEntity指向的实体添加到块表记录和图形数据库中。

    2.5 关闭图形数据库的各种对象

        

      pBlockTable->close();

      pBlockTableRecord->close();

      pLine->close();

要注意: 1). 打开或创建数据库对象之后,必须尽可能早的关闭它。

2). 不要使用delete pLine。在C++中,new,delete运算符配对使用。但在ObjectARX的编程中,当用appendAcDbEntity函数将对象添加到图形数据库之后,就需要由图形数据库来操作该对象。这里是由内部自己释放了吗?

ARXObject的入门学习的更多相关文章

  1. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  2. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  5. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  6. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  7. Retrofit 入门学习

    Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...

  8. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  9. opengl入门学习

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

随机推荐

  1. 风萧萧兮易水寒 coding一去兮不复还

    这一年都在忙碌中渡过.没有看过日落没有享受过日常.希望可以在忙碌中有些收获.工作马上要三年了. 风萧萧兮易水寒 coding一去兮不复还 记的刚毕业的时候喜欢自己晚上更新下博客.那时候也很忙.但是后来 ...

  2. Visual Studio 2012的开发使用技巧

    分享10条Visual Studio 2012的开发使用技巧 使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用 ...

  3. Windbg是windows平台上强大的调试器

    基础调试命令 - .dump/.dumpcap/.writemem/!runaway Windbg是windows平台上强大的调试器,它相对于其他常见的IDE集成的调试器有几个重要的优势, Windb ...

  4. Sql Server (错误:7302)

    windows server 2008 x64 sql server 2008 r2 OraClient 11g 错误提示: 解决办法:

  5. 动态修改ViewPagerIndicator CustomTabPageIndicator Tab标签文字颜色

    ViewPagerIndicator 的CustomTabPageIndicator 默认是没有Tab选中修改TextView颜色特效的. 可以通过以下方式实现: 新建viewpager_title_ ...

  6. Android 音频管理器AudioManager

    音频管理器AudioManager,通过它可以管理android系统的音量或直接让系统静音,依旧是通过调用getSystemService()方法获取音频管理器AudioManager对象,获取到该对 ...

  7. js中常用的Math方法总结

    1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...

  8. Kotlin的扩展函数:扩展Android框架(KAD 08)

    作者:Antonio Leiva 时间:Jan 11, 2017 原文链接:https://antonioleiva.com/extension-functions-kotlin/ 扩展函数是Kotl ...

  9. 驱动10.nor flash

    1 比较nor/nand flash NOR                                  NAND接口:    RAM-Like,引脚多                 引脚少, ...

  10. windows系统下快捷命令

    mstsc 远程计算机 regedit 注册表