摘要: 阅读全文
posted @ 2019-05-02 17:12 edata 阅读(3706) 评论(0) 推荐(2) 编辑
摘要: AcDbDatabase *pDb = acDocManager->mdiActiveDocument()->database(); if (!pDb) { acutPrintf(_T("\nNullDabase!")); return; } AcTransaction *pTrans = actr 阅读全文
posted @ 2021-10-05 13:34 edata 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 效果 方式一 通过实体所在对象的永久反应器获取组对象 ads_name ent; ads_point pt; if (RTNORM != acedEntSel(_T("\n选择对象: "),ent,pt)) { return; } AcDbObjectId objId; acdbGetObjectI 阅读全文
posted @ 2021-07-04 13:02 edata 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 新建MFC Dll项目 选择使用共享MFC 右键项目属性 选择所有配置,所有平台,修改目标扩展名为.arx 选择调试,在命令中浏览或编辑acadexe路径 选择链接器 ,找到输出文件地址,复制备用 回到调试在命名参数添加小写/LD+输出文件路径 /ld "$(OutDir)$(TargetName) 阅读全文
posted @ 2021-05-12 11:28 edata 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 新建MFC Dll项目,设置项目名称和保存位置. 默认即可 解决方案右键项目属性 修改目标扩展名为.arx,注意当前平台为win32 修改md模式 修改_DEBUG预定义为_NDEBUG 添加包含目录,当前win32添加 inc和inc-win32目录 添加库目录,lib-win32 选择链接器,常 阅读全文
posted @ 2021-05-11 23:26 edata 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 条件准备 ARXSDK 和 VS2019(要选择安装c++,mfc,windows10SDK) 略过! ARXSDK可以参考 https://www.cnblogs.com/edata/p/14243995.html VS2019自行解决. 新建mfc动态链接库 输入项目名称和项目保存位置 默认使用 阅读全文
posted @ 2021-05-11 22:43 edata 阅读(361) 评论(0) 推荐(0) 编辑
摘要: ObjectARX递归AcArray数组组合函数 图文by edata , 转载注明出处 http://www.cnblogs.com/edata ObjectARX QQ群: 630401507 (仅ObjectARX)AutoCAD.net QQ群: 193522571 (ObjectARX\A 阅读全文
posted @ 2021-02-15 12:18 edata 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 使用定时器可以延时操控cad,不影响视图操作。如果你在定时器运行期间使用命令,可能会导致定时器生成的实体无法刷新,变为当前不可见实体。 示例代码 //声明静态全局变量 static int nPrintNumber=0; void CALLBACK MyCopyFunc(HWND hwnd,UINT 阅读全文
posted @ 2020-12-18 15:31 edata 阅读(195) 评论(0) 推荐(1) 编辑
摘要: 测试代码如下 ads_point pt; ads_name ent; if (RTNORM != acedEntSel(_T("\n选择对象: "),ent,pt)) { return; } AcDbObjectId objId; acdbGetObjectId(objId,ent); if (ob 阅读全文
posted @ 2020-12-18 13:53 edata 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 这是根据拾取点来获取 点实体AcDbPoint 的结果,明显遍历更快。 虽然有点以偏概全,但对于条件固定的选择,使用遍历是个更高效率的选择。 以下是测试源码。 static void getpoint1() { ads_name ss; ads_point pt; if (RTNORM!=acedG 阅读全文
posted @ 2020-10-24 16:19 edata 阅读(473) 评论(0) 推荐(0) 编辑
摘要: //插入属性块简单例子2020-10-11 by www.cnblogs.com/edata //指定块名 CString blkName=_T("123"); //指定块插入点 AcGePoint3d insertPoint(100,100,0); //ARX智能指针打开块表 AcDbBlockT 阅读全文
posted @ 2020-10-11 23:44 edata 阅读(534) 评论(0) 推荐(0) 编辑
摘要: ads_name ss; struct resbuf *rb=acutBuildList(RTDXF0,_T("REGION"),RTNONE); acutPrintf(_T("\n请选择两个需要布尔运算(交集)的面域: ")); if(RTNORM != acedSSGet(NULL,NULL,N 阅读全文
posted @ 2020-09-28 12:22 edata 阅读(428) 评论(0) 推荐(0) 编辑
摘要: wblockCloneObjects从块定义写块到外部文件简单例子 AcDbObjectIdArray objIds; ads_name ent; ads_point pt; if (RTNORM != acedEntSel(_T("\n选择一个块参照对象:"),ent,pt)) { acutPri 阅读全文
posted @ 2020-09-25 12:28 edata 阅读(280) 评论(1) 推荐(0) 编辑
摘要: 三点引线附着块参照实例 // 创建AcDbLeader引线 ads_point p1,p2,p3; if (RTNORM != acedGetPoint(NULL,_T("\n请选择引线第一点: "),p1)) return; if (RTNORM != acedGetPoint(p1,_T("\n 阅读全文
posted @ 2020-07-19 17:11 edata 阅读(552) 评论(0) 推荐(0) 编辑
摘要: jigcpp主要修改 附上jigcpp文件 // (C) Copyright 2005-2007 by Autodesk, Inc. // // Permission to use, copy, modify, and distribute this software in // object co 阅读全文
posted @ 2020-05-10 22:42 edata 阅读(935) 评论(1) 推荐(0) 编辑
摘要: 从ObjectARX 2013开始,ObjectARX向导取消了工具条,工具条可以添加管理命令,而没有工具条,添加命名比较麻烦, 一般都是复制粘贴修改向导提供的命令名,个人感觉比较麻烦. 所以我觉得使用vc助手va_x的代码片段功能可以实现简单的命令添加. 方法如下 片段参考代码 static vo 阅读全文
posted @ 2020-05-10 21:14 edata 阅读(774) 评论(4) 推荐(1) 编辑