2024年4月19日发(作者:)

objectARX 常用功能实现集合

一 在ARX中禁用AutoCAD的某个命令

以LINE命令为例,在程序中加入下面的一句即可禁用LINE命令:

acedCommand(RTSTR, "undefine", RTSTR, "line",RTNONE);

下面的语句则可恢复LINE命令的定义:

acedCommand(RTSTR, "redefine", RTSTR, "line",RTNONE);

二 在对话框中预览DWG文件

使用acdbDisplayPreviewFromDwg函数,具体的方法为:

char fileName[100];

strcpy(fileName, "C:");

bool es;

HWND pWnd;

CFrameWnd *pFrame. = (CFrameWnd*)GetDlgItem(IDC_PICTURE);

es = acdbDisplayPreviewFromDwg(fileName, pFrame->m_hWnd);

上面的代码将在一个Picture控件中显示指定的图形。

另外,需要包含“dbmain.h”头文件。

三 通过ARX更改AutoCAD窗口的标题名称

CMDIFrameWnd *pp;

pp=acedGetAcadFrame();

pp->SetWindowText ("yourName");

pp->UpdateWindow ();

四 获得当前数据库

在ARX编程中,经常需要使用当前数据库,例如需要获得当前图形中设置的文字样式、

标注样式等。

要获得当前数据库,都可以直接使用下面的方法:

AcDbTextStyleTable *pTextStyleTAble;

AcDbObjectId textstyleId;