![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OBJECT ARX
_iorilan
10年以上软件工程经验,先后从事在线教育/IT金融/即时通信/政府/物流平台/零售/门禁/监控等领域。专注夯实基础/项目成本与架构平衡/框架调研/团队高效协同工作
展开
-
OBJECT ARX 实体类 通用操作函数
转自:http://apps.hi.baidu.com/share/detail/30275540四、实体的通用操作函数成员函数解释intersectWith()用于AutoCAD的trim、extend、fillet、chamfer和break命令以及对象捕捉的交点操作。转载 2012-04-06 16:17:58 · 4236 阅读 · 0 评论 -
OBJECT ARX 插入块
////添加块到块表中================static void TESTaddblkcmd(){AcDbBlockTable* pBlkTbl;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlkTbl,AcDb::kForWrite);////创建新块AcDbBlockTab原创 2012-04-06 09:29:27 · 3121 阅读 · 0 评论 -
OBJECT ARX 操作图层
//添加图层static void TESTaddlayercmd(){CString strLayerName;if(acedGetString(Adesk::kFalse,_T("\n输入层名称"),strLayerName.GetBuffer()) != RTNORM){return;}////获得当前图形的层表AcDbLayerTable* pLay原创 2012-04-06 09:32:18 · 3940 阅读 · 0 评论 -
OBJECT ARX 添加标注样式
//添加自定义样式========================static void TESTaddstylecmd(){CString strName;if(acedGetString(Adesk::kFalse,_T("\n输入样式名称"),strName.GetBuffer()) != RTNORM){return;}////获得当前图形的标注样式原创 2012-04-06 15:34:07 · 2277 阅读 · 0 评论 -
OBJECT ARX 循环创建多线段(提示用户选择线宽,颜色,点)
//创建多段线==================static ads_real GetWidth(){ads_real width = 0;if(acedGetReal(_T("\n输入线宽"),&width) == RTNORM){return width;}else{return 0;}}static int GetColorInd原创 2012-04-06 15:35:33 · 3112 阅读 · 6 评论 -
OBJECT ARX 扩展数据 使用
////添加扩展数据======================static void TESTaddxdatacmd(){ads_name en;ads_point pt;////选择要添加扩展数据的对象if(acedEntSel(_T("\n选择要添加扩展数据的实体"),en,pt) != RTNORM){return;}AcDbObjectId原创 2012-04-06 15:41:38 · 2704 阅读 · 0 评论 -
OBJECT ARX 入门
-------------环境配置1.安装CAD2.安装ARX 3.打开VS,工具-》选项-》项目和解决方案-》VC++目录-》包含文件还有库文件,WIN32和win64:VS08/CAD2011D:\DEV\OBJECTARX2011\INCD:\DEV\OBJECTARX2011\INC-WIN32D:\DEV\OBJECTARX2011\UTI原创 2012-03-29 12:02:09 · 2440 阅读 · 0 评论 -
OBJECTARX开发 与用户交互-- 输入函数汇总
static void TESTinputcmd(){CString outStr;//acedGetReal/*ads_real realNum;acedGetReal(_T("输入一个实数"),&realNum);outStr.Format(_T("%lf"),realNum);acutPrintf(outStr);*///acedGetInt/*int i原创 2012-03-30 11:24:32 · 4252 阅读 · 1 评论 -
OBJECT ARX 移动,拷贝 旋转,镜像,缩放
//拷贝,移动,旋转 ,镜像,缩放////选择一个对象static BOOL SelObj(ads_point& pt,AcDbObjectId& objId){ads_name en;if(acedEntSel(_T("\n选择对象"),en,pt) != RTNORM){return false;}Acad::ErrorStatus es = acdbGet原创 2012-03-30 16:52:52 · 5406 阅读 · 3 评论 -
OBJECT ARX三维图形绘制
////创建三维图形////三维长方体==================static void TESTaddboxcmd(){AcDb3dSolid* pSolid = new AcDb3dSolid();Acad::ErrorStatus es = pSolid->createBox(40,50,30);if(es != Acad::eOk){acedAl原创 2012-03-30 16:55:07 · 3448 阅读 · 2 评论 -
OBJECT ARX 修改选中实体的颜色 选择集的使用
////修改选中实体的颜色static void TESTchangecolorcmd(){ads_name ssname;////选择多个实体,传递NULL,让用户自己来选acedSSGet(NULL,NULL,NULL,NULL,ssname);long len;acedSSLength(ssname,&len);CString ss;ss.Format(_原创 2012-04-06 11:54:33 · 2936 阅读 · 0 评论 -
OBJECT ARX总结6
转自:http://apps.hi.baidu.com/share/detail/302754711. 打开关闭数据库对象,实体的公共属性(颜色、线形、图层等)操作;acdbOpenObjectsetColorIndexsetLineWeight(AcDb::LineWeight::kLnWt050);设置线宽colorIndex()转载 2012-04-06 16:16:49 · 2261 阅读 · 0 评论 -
OBJECT ARX 总结5
转自:http://apps.hi.baidu.com/share/detail/30275499#content1. 系统变量查询与设置,暂停使用户输入,与AutoCAD的参数传递(acedCommand)等;acedSetVar:设置系统变量acedGetVar:获取系统变量值 result = acedCommand(RTSTR, "Z转载 2012-04-06 17:28:14 · 2481 阅读 · 0 评论 -
Object Arx 颜色对话框
static int SelColor(){////先获得当前层的IDAcDbObjectId layerId = acdbHostApplicationServices()->workingDatabase()->clayer();////然后获得当前层指针AcDbLayerTableRecordPointer ptLayer(layerId,AcDb::OpenMode::原创 2012-04-09 16:49:35 · 1877 阅读 · 0 评论 -
OBJECT ARX 遍历数据库所有图元代码
转自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104c8c711923d030678197027fa3c215cc790a1b103ab5ec65794c51ce95223a54b2121abdaf2b24360277b1cbc98e498cb995797b892433204c8115158512b8cb317f877fce4eacf2转载 2012-04-12 14:41:29 · 2770 阅读 · 0 评论 -
OBJECT ARX 总结5道题
//加载一个实体到数据库,返回实体IDstatic AcDbObjectId LoadEntity(AcDbEntity* entity){AcDbBlockTable* pBlockTable;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead原创 2012-04-16 09:38:49 · 4358 阅读 · 4 评论 -
OBJECT ARX 绘制常用图形 总结
////将图形加载显示到CAD===================static AcDbObjectId LoadEntity(AcDbEntity* entity){AcDbBlockTable* pBlockTable;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb:原创 2012-03-30 17:03:46 · 4534 阅读 · 0 评论 -
ARX 实体的偏移
实体的偏移://实体的偏移static void TESToffentcmd(){ads_real dis;if(acedGetReal(_T("\n输入偏移距离"),&dis) != RTNORM){return;}ads_name en;ads_point pt;if(acedEntSel(_T("\n选择要偏移的实体"),en,pt原创 2012-04-23 16:46:29 · 2268 阅读 · 0 评论 -
ARX 创建组实例(新建组,选择实体添加到组,输入层,修改组所在的层)
创建组实例 //创建组,把选择的实体放入组内,并改变组的层为新层static void TESTgrpcmd(){CString strGrp;if(acedGetString(0,_T("\n输入组名"),strGrp.GetBuffer(10)) != RTNORM){return;}strGrp.ReleaseBuffer();原创 2012-04-23 16:50:10 · 2439 阅读 · 0 评论 -
OBJECT ARX 实体类的炸开,求交,外包矩形函数使用
//==============炸开============static void TESTzhakaicmd(){// Add your code for command ahlzlARX._test hereads_name ent;ads_point pt;if (acedEntSel(_T("\n请选择对象:"), ent, pt) != RTNORM){原创 2012-04-06 17:15:22 · 3287 阅读 · 0 评论 -
ARX常用函数
转自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73260878e482a958448e435061e5a23b7bb27250d579394263c45f8545ce8f23c6f35093db490d58b4ad8b998282a9f27432a5ad91f069644ef9d49789178c70baf转载 2012-04-10 16:04:02 · 3956 阅读 · 1 评论 -
ARX 常用函数2
转自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104c8c711923d030678197027fa3c215cc79050a062db6f06c3f405a8e90613c47f81641eba06675350426b7ca9fdc4ed9ed957f288b2560244bd74a05d36ef58d197bd565cd1abfa0转载 2012-04-12 14:09:24 · 3857 阅读 · 1 评论 -
ARX 集合类型 AcGe类
ARX集合类型:AcDbVoidPtrArrayAcDbIntArrayAcDbObjectIdArrayAcGePoint2dArrayAcGePoint3dArrayAcGeVector2dArrayAcGeVector3dArrayAcGeDoubleArrayAcGeIntArrayAcDbVoidPointerArray辅助运算原创 2012-04-23 16:47:53 · 3990 阅读 · 0 评论 -
ARX acedInitGet 返回值
Input options set by acedInitGetBit valueCodeDescription1RSG_NONULLDisallow null input2RSG_NOZERODisallow zero values4RSG_NONEGDisallow negative values8原创 2012-05-03 17:25:11 · 2884 阅读 · 0 评论 -
ARX 查找多段线上的下一点
static void GetNextPt(const AcDbPolyline* plMin,const bool& gotonext,const int& plIndex,AcGePoint2d& ptNextS,AcGePoint2d& ptNextE){int nextIndex = 0;int count = plMin->numVerts();if(!gotonext)原创 2012-05-11 09:00:01 · 1930 阅读 · 0 评论 -
object Arx 例 绘制禁止开口带
static AcDbObjectId LoadEntity(AcDbEntity* entity){AcDbBlockTable* pBlockTable;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead);AcDbBlockTabl原创 2012-05-03 09:31:16 · 2684 阅读 · 0 评论 -
OBJECT ARX 绘制道路横切面 实例
//-----------------------------------------------------------------------------//----- acrxEntryPoint.cpp//-----------------------------------------------------------------------------#include "原创 2012-04-19 08:37:53 · 3228 阅读 · 0 评论 -
ARX 沿着多段线绘制一定距离,递归执行
//from:起点,to:终点(这两点要相邻)//paramDis:沿着多段线画多长//pl:多段线//pPoly:新的多段线static void DrawByLen(const bool& gotoNext ,const AcGePoint2d& from,const AcGePoint2d& to,const double& paramDis,const AcDbPolyli原创 2012-05-09 17:00:18 · 3002 阅读 · 0 评论 -
ARX 反回曲线上一定距离的点 函数
////反回曲线上一定距离的点(默认从起点开始计算)////pCurve:曲线指针,dist:距离,point:要返回的点////Adesk::Boolean isGotoNext true:沿着正向寻找,false:沿着反方向寻找static void GetPtAtDistOnCurve(const AcGeCurve2d* pCurve,const AcGePoint2d&原创 2012-05-09 15:48:19 · 2602 阅读 · 0 评论 -
arx 自定义实体简单实例
class DLLIMPEXP MyLineEx : public AcDbEntity {public:ACRX_DECLARE_MEMBERS(MyLineEx) ;protected:static Adesk::UInt32 kCurrentVersionNumber ;private:AcGePoint3d m_ptStart;AcGeP原创 2012-05-03 17:34:17 · 4573 阅读 · 0 评论 -
ARX 多段线的合并
////合成多段线static void AppendPLinePoint(const AcDbObjectId& id,const bool& gotoNext,AcDbPolyline* pLine,int& plIndex){AcDbEntity* pEnt = NULL;Acad::ErrorStatus es = acdbOpenObject(pEnt,id,AcDb::原创 2012-05-11 09:01:27 · 3752 阅读 · 0 评论 -
ARX 批量删除对象
static void EraseIds(AcDbObjectIdArray idArr){if(idArr == NULL || idArr.length() == 0){return;}for(int i = 0;i {AcDbEntity* pDel = NULL;if(Acad::eOk != acdbOpenObject(pDel,idArr.at(i原创 2012-05-11 09:00:42 · 2295 阅读 · 0 评论 -
Object Arx 过滤器使用例子,计算选择的曲线面积和周长
static AcDbObjectId LoadEntity(AcDbEntity* entity){AcDbBlockTable* pBlockTable;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead);AcDbBlockTableRec原创 2012-04-28 10:56:45 · 3581 阅读 · 0 评论 -
ARX 选择集获得所有图形 遍历 实例 备忘
////给图形实体,返回与当前图形中,直线实体相交的交点数组、直线方向向量////参数:曲线实体,2dpoint数组,三维向量static void GetLineNum(AcDbCurve* pLine,AcGePoint3dArray& ptArr,AcGeVector3d& v){////遍历所有实体ads_name ssName;////选择集名称acedSSGet原创 2012-04-17 16:42:59 · 3648 阅读 · 0 评论