
ObjectArx开发
文章平均质量分 72
Alexander_Frank
本人初来乍到的小白一个,希望各路大神多多提点帮助。
对数据库,网页开发,C++和数据结构很感兴趣。
希望在分享经验的同时也能够得到大家的提点。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ObjectArx 项目编译所出现的问题
1.“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决办法:1. 根据错误信息是链接期间出的问题,并且是转换到COFF文件失败,说明极有可能是资源文件转COFF文件的工具cvtres.exe存在冲突;替换掉无效的cvtres.exe文件2.fatal error LNK1112: 模块计算机类型“X86”与目转载 2016-07-06 10:34:16 · 1485 阅读 · 0 评论 -
AcDbTable
AcDbTable *pTab = new AcDbTable;AcGePoint3d pInsert = AcGePoint3d(0, 0, 0);AcDbDictionary *pDict = NULL;//格式设置AcDbObjectId idTblStyle;acdbHostApplicationServices()->workingDatabase()->getTab原创 2016-08-30 11:21:02 · 2537 阅读 · 1 评论 -
ObjectArx ADO方式连接数据库
ADO在C++中的使用最近程序中用到读写数据库,看了些例子,查了番MSDN,下面把详细步骤写出来,以备忘,或与同行共勉。读写数据库的技术很多,现在多用ADO。ADO以COM方式提供,所以它的很多行为遵循COM规范。首先,要引入ADO的COM文件,它的位置一般在"C:/Program Files/Common Files/System/ado/msado15.dll"。转载 2016-09-01 09:58:49 · 1482 阅读 · 0 评论 -
CAD+开发小结+交互+选择集+深度拷贝AcDbObjectId中指向的实体集+读取其他DWG文件
深度拷贝将数组中的实体ID指向的实体拷贝至blockId为ID的块中AcDbIdMapping adimIdMap;AcApDocument* pDoc = acDocManager->curDocument();acDocManager->lockDocument(pDoc, AcAp::kWrite);//锁定当前文档acdbHostApplicationSer原创 2016-08-16 17:35:42 · 5268 阅读 · 0 评论 -
读写配置文件中的数据
主要的读取函数DWORD dwCharacters = ::GetPrivateProfileString(strFieldName, //节名strKeyName, //键名strDefault, //如果键名不存在,搜索默认键strTemp.GetBuffer(bufferLength), //缓冲区指针,获取读取的字符串bufferLength,原创 2016-08-25 16:52:19 · 460 阅读 · 0 评论 -
图块引用、属性块引用、创建新层表、ObjectArx开发中静态变量和全局变量要点
一.图块设计技术: 在AutoCAD数据库中,以各图块实际上市存储在块表记录里的实体集合。每个图块从一格AcDbBlockBegin对象开始,紧接着是一个或多个AcDbEntity对象,最后以AcDbBolckEnd对象结束,按其所属关系得层次结构分为三层:第一层为块表,是属于数据库管理的根对象;第二层为块表记录,是属于块表管理的对象;第三层为组成图块的实体对象,是属于块表记录管理转载 2016-08-01 15:03:24 · 4556 阅读 · 0 评论 -
CAD 选择集
CAD中构建选择集的两个函数:acedSSAdd和acedSSGet,但是都需要使用acedSSFree来释放内存空间。1. int acedSSAdd(const ads_name ename, const ads_name sname, ads_name result);若ename和sname都是空指针,则创建一个未包含任何成员的选择集。若ename指向有效的实体,而sname为原创 2016-08-26 10:16:57 · 3770 阅读 · 0 评论 -
扩展实体
扩展实体对象Xrecord,它是AcDbxrecord的对象实例扩展实体对象实际上是结果缓冲区列表,存储一个数据组列表,每一个节点都有一个DXF码来标示实体的类型设置和获取结果缓冲区链表Acad::ErrorStatusAcDbXrecord::setFromRbChain(resbuf& pRb, AcDbDatabase* auxDb = NULL);Acad::Error原创 2016-08-01 15:42:12 · 1506 阅读 · 0 评论 -
组词典
组词典将多个图形对象编组存储,存储后的效果:可以通过组来找到所需要的实体,在界面上选中一个就可以找到其他实体,(即选中的为一个组)。但是与块对比,不同的是将实体分组并不形成新的实体对象。在CAD中的的命令为group创建组词典:AcDbGroup *pGroup = new AcDbGroup;for (int i = 0; i {pGroup->append(entI原创 2016-08-26 13:52:27 · 1941 阅读 · 0 评论 -
AutoCAD数据库的导入和导出
创建新的数据库来读取别的图形文件中的数据库内容:1. AcadErrorStatusAcDbDatabase::readDwgFile(char* filename); 读取图形文件2. Acad::ErrorStatusAcDbDatabase::saveAs(char* file); 保存图形文件3. AcApDocument::SaveFormat原创 2016-07-27 09:38:42 · 6452 阅读 · 0 评论 -
修改块的方法+AcGeMatrix3d+AcGeScale3d+两点之间的距离
开发过程中,当从外部获取了一个,需要修改块中的实体时,有以下几种方法。1.第一个通过explode函数炸开AcDbBlockReference,获取块参照中的实体对象,然后遍历对象,找到修改的实体,完成修改后将所有的实体插入到模型空间。注意的是:炸开块参照并不是将已经插入到模型空间中的参照分解,而是在内存中创造一个分解后的对象。其对象并没有存在于数据库中。所以第一种方法一般用于将块参照原创 2016-08-23 11:03:52 · 3005 阅读 · 0 评论 -
设置显示实体的颜色 byLayer/byBlock
在CAD界面上显示时,其颜色属性可以设置为byLayer或者byBlock。byLayer:实体的颜色和实体所在的图层保持一致。byBlock:实体的颜色和实体所在的块保持一致。但是,块中的实体都是一个个独立的对象,相互之间并没有直接的联系。所以仅仅讲一个对象设置为byBlock,并不能使它与整体保持一致。byBlock的真正含义在于将一些列对象以一个块的形式显示出来,然后调整块的原创 2016-08-16 17:33:21 · 8880 阅读 · 0 评论 -
CAD 4种反应器
CAD中4种反应器:按照执行的先后顺序分别为 文档反应器、编辑器反应器、数据库反应器。文档反应器当用户输入命令和命令结束之时,文档反应器函数documentLockModeChanged(XXXXX, const char* pGlobalCmdName)函数将会被调用。命令输入完成之后,pGlobalCmdName的值为该命令,命令结束之时pGlobalCmdName的值为#+该命令原创 2016-08-17 15:12:08 · 7138 阅读 · 0 评论 -
ObjectARX安装小结
ObjectARX Wizard下载地址:http://usa.autodesk.com/adsk/servlet/index?id=1911627&siteID=123112ObjectARX 2014 下载地址:http://download.autodesk.com/esd/objectarx/2014/Autodesk_ObjectARX_2014_Win_64_and_32Bit.s转载 2016-07-04 11:11:27 · 10415 阅读 · 4 评论 -
CAD开发小结1
acutPrintf(_T("\nHello World!"));在命令行中输出Hello World!一般使用acedGetXXX();来获得一个用户输入的值。 int nCountNode = 3;int nReturn;nReturn = acedGetInt(_T("请输入一个整数然后回车:"),&nCountNode);if(nReturn == RTNO转载 2016-07-25 13:50:43 · 1357 阅读 · 0 评论 -
AutoCAD数据库简介
AutoCAD图形是存储在数据库中对象的集合。符号表和字典是用来存储数据库对象的容器对象,这两种容器对象都可以将一个符号名映射到一个数据库对象。符号表举例:层表AcDbLayerTable 块表AcDbBlockTable块表记录AcDbBlockTableRecord 块表引用AcDbBlockTableReference字典提供了一个比符号表更加通用的容器对象来原创 2016-07-26 09:51:44 · 7978 阅读 · 0 评论 -
AcEdJig类
以多段线类举例:class AsdkPolyLineJig : public AcEdJig{public: AsdkPolyLineJig(constAcGePoint3d po); ~AsdkPolyLineJig() { } voiddoIt();原创 2016-07-29 10:25:05 · 3530 阅读 · 0 评论 -
符号表
符号表:每一个符号表对象都提供getAt函数来获取指定名称记录。Acad::ErrorStatus getAt(const char*pEntryName, 需要获取对象的名称AcDb::OpenMode mode, 打开方式XXXTableRecord* &pRecord, 获取的表记录对象Ade原创 2016-08-01 10:18:42 · 2810 阅读 · 0 评论 -
AcDbBlockTableRecord+AcDbBlockReference AcDbAttribute+AcDbAttributeDefination 项目总结
AcDbBlockTableRecord:块表记录或块定义 AcDbBlockReference:块引用 意味着这个变量指向的是一个真正的块。概念辨析:在CAD中,块和块表记录是不同的概念。类比于类与对象。而块中的实体又类似于对象中的成员变量。所以,AcDbBlockTableRecord为块表记录,类似于一个模板,所有的块都是仿照这个模板构造的。需要显示的实体都需要添加到AcDb_M原创 2016-08-15 16:13:03 · 5725 阅读 · 0 评论 -
ObjectARX简介
ObjectArx类:AcRx:用于绑定一个应用程序和运行类的注册和识别。 对象运行类识别和继承分析。在运行时向一个已经存在的类添加新协议。对象相等和组成测试对象拷贝AcRx库将其对象、类和服务字典放在一个全局对象字典中,其为AcRxDictionary类的实例。每一个AcRxObject的子类都有一个相关的类扫描对象,用于运行时的类型识别。ObjectArx提供函数来原创 2016-07-26 09:49:50 · 2638 阅读 · 0 评论 -
AutoCAD常用函数
ADS原函数ARX后函数函数功能ads_agetcfgads_agetenvads_alertads_angleads_angtofads_angtosads_arxloadads_arxloadedads_arxunloadads_asetcfgads_aset转载 2016-07-27 16:10:24 · 4793 阅读 · 0 评论 -
常用对象类型之间的转换
ads_point 是原来的ADS 编程中定义的一种数据类型,其定义为:typedef ads_real ads_point[3];而ads_real 则被定义为:typedef double ads_real;可以看出,ads_point 实际上是一个三维浮点数组,它至今仍在与ADS 相关的编程中使用。从ads_point 转换到AcGePoint3d 类型的点,即可以通过数转载 2016-07-27 13:45:18 · 3438 阅读 · 0 评论 -
ObjectArx 自定义实体
1.arx文档中规定的必须重写的几个函数//AcDbObject:virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* filer); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* filer) const; virtual Acad::ErrorSta转载 2016-10-08 09:25:38 · 3657 阅读 · 0 评论