ObjectARX学习笔记9.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、 CAD版本和VC++的版本对应 1 二、ObjectARX实体创建 1 三、 创建直线实例 1 五、修改图形对象的属性 2 1、打开图形数据库的对象 2 2、修改直线颜色实例 3 六、用类组织函数 4 七、提高CreateLine函数的可重用性 8 八、升级Visual Studio试用版到正式版 12 九、创建圆 13 十、创建圆弧(“三点法”,“起点、圆心、终点法”,“起点、圆心、圆弧角度法”) 18 //添加计算常量的值的函数 20 十一、创建多段线 23 十二、创建正多边形 25 CAD版本和VC++的版本对应 AutoCAD Visual Studio 2000——2002 VC6.0 2004——2006 VC7.0(VC.NET2002) 2007——2009 VC8.0(VC2005) 2010——1012 VC2008 2013——2014 VC2010 二、ObjectARX实体创建 1、注册一条直线命令 2、在命令函数中添加创建直线对象函数(AcDbLine类) AcGePoint3d ptStart(); AcGePoint3d ptEnd(); AcDbLine *pLine=new AcDbLine(ptStart,ptEnd); 3在命令函数中添加获得指向块表的指针相关代码 AcDbBlockeTable *pBlockTable; acdbHostApplicationServices()-WorkingDataBase()-getBlockTable(pBlockTable,AcDb::kForRead); 4、在命令函数中添加获得指向特定块表记录的指针的相关代码 AcDbBlockTableRecord *pBlockTableRecord; pBlockTable-getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite); 5、在命令函数中添加向块表记录中附加实体代码 AcDbObjectId lineId; pBlockTabelRecord-appendAcDbEntity(lineId,pLine); 6、在命令函数中添加关闭图形数据库各种对象的代码 pBlockTable-close();pBlockTableRecord-close();pLine-close(); 创建直线实例 四、 五、修改图形对象的属性 1、打开图形数据库的对象 Acad::ErrorStatus acdbOpenAcDbEntity(AcDbEntity *pEnt,AcDbObjectId id,AcDb::Openmode mode, bool openErasedEntity=false); 第一个参数返回值指向图形数据库实体的指针;第二个参数输入了要获得的实体的ID号,第三个参数指定了打开该实体的方式(读或写);第四个参数指定是否允许访问一个已经被删除的实体。 2、修改直线颜色实例 static AcDbObjectId CreatLine() { //在内存上创建一个新的AcDbLine对象 AcGePoint3d ptStart(0,0,0); AcGePoint3d ptEnd(100,100,0); AcDbLine *pLine=new AcDbLine(ptStart,ptEnd); //获得指向块表的指针 AcDbBlockTable *pBlockTable; acdbHostApplicationServices()-workingDatabase()-getBlockTable(pBlockTable,AcDb::kForRead); //获得指向特定块表记录的指针 AcDbBlockTableRecord *pBlockTableRecord; pBlockTable-getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite); //将对象添加到块表记录中 AcDbObjectId lineId; pBlockTableRecord-appendAcDbEntity(lineId,pLine); //关闭图形数据库的各种对象 pBlockTable-close(); pBlockTableRecord-close(); pLine-close(); //为在命令函数中引用该函数,需要返回lineId return lineId; } static Acad::ErrorStatus ChangeColor(AcDbObjectId entId,Ad

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档