ARX
文章平均质量分 74
BIM_Ricky
基础行业BIM软件研发,注重于铁路、公路及市政各专业BIM软件开发。Email:yeguixi@126.com
展开
-
一个在AutoCAD里添加菜单的类,用COM接口实现
AddCADFrameMenu.h文件如下:/**//*-------------------------------------------------------------------------作者: Racky Ye该类封装了在AuToCAD上添加菜单及子菜单的方法,使用COM接口实现大家可以任意修改,添加新功能,希望大家能多交流Email: yeguixi@126.com原创 2007-10-25 16:45:00 · 1820 阅读 · 1 评论 -
计算文字在AutoCAD中所占的长度,和字体样式,字高,宽高必有关
在AutoCAD中,经常需要在一个创建一个文字实体之前,先要计算出它根据字体样式,字高和宽高比在图纸中所占的宽度,比如在一大段文字排版的时候很有用。于是整理封装了一下这个函数:double YgxGeometry::TextLength(LPCSTR str, double h, double wr){ if(strlen(str) == 0) return(0.); struct原创 2009-05-16 07:41:00 · 1642 阅读 · 0 评论 -
判断ARX程序是否加载及加载卸载操作
在Arx操作中,经常碰到要判断一个ARX是否被加载了,以及需要在程序中动态加载或者卸载一个ARX程序,于是封装了这几个函数 // 检查arx程序是否加载,格式“arxname.arx”,不要路径名// 返回:RTNORM-已加载 RTERROR-没加载int YgxAcadUtil::IsArxLoaded(const char* appName) { char tBuf原创 2009-05-16 07:33:00 · 987 阅读 · 0 评论 -
发送命令给AutoCAD的方法,比如Cancel命令
闲来无事,突然想整理一下发送命令到AutoCAD的方法,在ARX的帮助里有最常见的两个方法:int acedCommand(int rtype, ... unnamed);int acedCmd(const struct resbuf * rbp); 这两个函数处理命令的方式差不多,只不过一个通过链表来描述整个命令,一个通过不定参数来描述。 1.原创 2009-05-16 06:47:00 · 2142 阅读 · 1 评论 -
把块中不同图层的实体放到统一图层上的方法
// 得到层ID AcDbObjectId layerId; AcDbLayerTable *pLayerTbl = NULL; if (acdbHostApplicationServices()->workingDatabase() ->getLayerTable(pLayerTbl, AcDb::kForRead) != Acad::eOk) return; if (pLayerTbl原创 2008-03-04 18:09:00 · 927 阅读 · 0 评论 -
提示用户输入示例
//提示用户输入整数/实数 int stat, iValue ; double rValue ; char kWord [133] ; //提示用户输入一个整数 acedInitGet (RSG_NONEG | RSG_NOZERO, "") ; if ( acedGetInt ("/nEnter an integer value: ", &iValue) != RTNORM ) return ;原创 2008-03-04 17:44:00 · 872 阅读 · 0 评论 -
实体反应器的用法
#i nclude "dbapserv.h"#i nclude "dbents.h"#i nclude "accmd.h"// 下面这个例子为直线A添加一个反应器,并且关联到标注,当A有变化时,标注也会随之变化void addToModelSpace(AcDbObjectId &objId, AcDbEntity* pEntity);// AsdkObjectToNotify - 反应器对象c原创 2008-03-04 18:02:00 · 1499 阅读 · 0 评论 -
关于AutoCAD中多文档操作时锁定问题
在AutoCAD中,所有的文档在被修改之前必须被锁定,但是在查询文档数据时是不需要锁定的,你可以随时查询任何一个打开的文档的数据。有时在你自己查询一个文档数据时,为了防止别的程序临时修改该文档的数据,也需要把文档锁定。像AutoCAD的各种命令,以及ObjectARX的命令和AutoLISP函数都已经处理了基本的文档锁定,所以不需要太关心。但是非模态对话框、工具条以及任何需要在活动文档之外工作的命原创 2008-03-04 18:01:00 · 1428 阅读 · 0 评论 -
关于AcGe库的基本使用方法
下面的例子介绍对于点、矢量、距阵最基本的函数和操作,这些例子使用三维对象,但绝大多数函数和操作都适用于二维对象。对于点和矢量来说,默认的构造函数把所有的坐标都初始化为0。它们也能像下面这样在创建时初始化各个坐标:AcGePoint3d p1(2.0,5.0,-7.5), p2, p3(1.0,2.0,3.0);AcGeVector3d v1(3.0,4.0,5.0), v2(0.0,原创 2008-03-04 17:58:00 · 1504 阅读 · 0 评论 -
Group操作
// 旋转GroupAcad::ErrorStatus rotationGroup(const char* strGroupName, const AcGePoint3d& ptRotation, double rotationAngle) ...{ // 得到Group字典 AcGePoint3d pt; AcDbDictionary *pGroupDict原创 2008-03-04 17:56:00 · 376 阅读 · 0 评论 -
ARX中CAcUiColorComboBox的用法
其实在开发ARX程序的时候,能用Adui和AcUi库就尽量用,还是非常方便的,尤其是对于数据容错检查,Tip 提示等方面更是方便。ARX程序中常用的就是设定实体颜色,让用户选择一个颜色最常用的方法就是用颜色下拉列表框,采用CAcUiColorComboBox来做是最快的。CAcUiColorComboBox用起来很简单,步骤如下:1. 在对话框或者其它界面上创建一个普通下拉列表框,设置原创 2013-01-18 13:46:37 · 1340 阅读 · 0 评论