ObjectARX 环境包含下列几组类和函数:
AcRx 库
AcRx 库类层次结构图:
AcEd 库
AcEd 库类层次结构图:
AcDb 库
AcDb 库类层次结构图:
AcGi库
提供了用于绘制 AutoCAD 实体的图形界面
· AcDbEntity 成员函数 worldDraw()、viewportDraw() 和 saveAs(),及所有标准实体协议部件都使用 AcGi 库;
· worldDraw() 函数必须由所有自定义实体类定义;
· AcGiWorldDraw 对象提供一个 API,通过该 API AcDbEntity::worldDraw() 可以在所有视区同时生成其图形表示;
· AcGiViewportDraw 对象提供 API AcDbEntity::viewportDraw() 函数可以在每个视区生成不同的表达图形。
AcGi 库类层次结构图:
AcGe 库
AcGe 库包含两主要的子集:二维和三维类,主要抽象基类分别为 AcGeEntity2d 和 AcGeEntity3d。
AcGe 库类层次结构图:
CAD弹出objectarx什么意思
使用ARX的向导创建一个ARX项目,增加一个命令,在命令函数中实现如下代码即可。 void ShowARCInfo() { ads_point adsPtads_name entNameAcDbObjectId entIdAcDbEntity* pEntif(acedEntSel(_T(”\n请选择圆或圆弧或:”), entName, adsPt) != RTNORM) return FALSEacdbGetObjectId(entId, entName)if (acdbOpenObject(pEnt, entId, AcDb::kForRead) != Acad::eOk) return FALSEif(pEnt->isKindOf(AcDbArc::desc()) || pEnt->isKindOf(AcDbCircle::desc())) { AcDbArc* pArc = (AcDbArc*)pEntdouble dR = pArc->radius()AcGePoint3d ptCen = pArc->center()double dStartAngle = pArc->startAngle()double dEndAngle = pArc->endAngle()// 下面将上面的参数传递到对话框中显示即可。 … } else { ads_printf(_T(”\n所选实体并非是圆或圆弧!”))} pEnt->close()}
这个问题很简单!相关定义:自定义\r\n对象是由ObjectARX?(AutoCAD运行时扩展程序,即基于CAD平台开发的外G挂软件,如天正建筑。圆方室内等等)应用程序创建的对象类型,具有的特定功能通常多于标准AutoCAD对象。\r\n自定义对象包括参数化的实体(Autodesk?MechanicalDesktop)、智能交互门符号(Autodesk\r\nArchitecturalDesktop)、多边形对象(AutodeskMap?)和关联标注对象(AutoCAD和AutoCAD\r\nLT)。\r\n除Autodesk之外,许多软件供应商都使用ObjectARX编写能够创建图形自定义对象和非图形自定义对象的程序,这些对象在基于AutoCAD的应用程序中很有用。\r\n代理对象\r\n当AutoCAD或其他宿主应用程序无法使用创建自定义对象的ObjectARX应用程序时,将以代理对象代替自定义对象。以后,当此应用程序可用时,自定义对象将代替代理对象。\r\n与相应的自定义对象相比,代理对象的功能明显减少。代理对象可编辑的范围由父ObjectARX应用程序决定。例如,根据创建对象的应用程序,可以决定能否对代理对象进行删除对象、移动对象或更改对象属性等操作。\r\n在打开图形时,可能会看到\“代理信息\”对话框。对话框将显示图形中代理对象(图形对象和非图形对象)的总数、缺少的应用程序的名称,并提供有关代理对象的类型和显示状态的附加信息。可用此对话框控制代理对象的显示。
以上就是关于ObjectARX 类库全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!