📄 arxmain.cpp
字号:
/* ArxMain.cpp - Interface file of ObjectARX */
#include "AcDbEquiTriangleJig.h"
#include <aced.h>
#include <rxregsvc.h>
#include <dbapserv.h> // for acdbHostApplicationServices macro
#include <dbsymtb.h> // for AcDbBlockTable class
#include <geassign.h> // for asDblArray
#include <adslib.h>
#include <string.h> // test
void createTriangle(void)
{
AcDbEquiTriangleJig* pEquiTriangleJig = new AcDbEquiTriangleJig;
pEquiTriangleJig->setDispPrompt("开始画正三角形...\n左下角点: ");
// 获取两个角点
pEquiTriangleJig->setFlag(0); // 更改输入标志
if(pEquiTriangleJig->drag() != AcEdJig::kNormal)
{
delete pEquiTriangleJig;
return;
}
pEquiTriangleJig->setDispPrompt("\n右下角点: ");
pEquiTriangleJig->setFlag(1); // 更改输入标志
if(pEquiTriangleJig->drag() != AcEdJig::kNormal)
{
delete pEquiTriangleJig;
return;
}
// 将实体添加到数据库中
pEquiTriangleJig->append();
delete pEquiTriangleJig;
return;
}
void initApp()
{
/* 向AutoCAD注册一个定制的命令 */
acedRegCmds->addCommand("ASDK_LLH_COMMANDS", "ADSK_LLH_COMMANDS_TRIANGLE",
"ADSK_TRIANGLE", ACRX_CMD_MODAL, createTriangle);
// 注意:派生类需要进行初始化
AcDbEquiTriangle::rxInit();
acrxBuildClassHierarchy();
return;
}
void unloadApp()
{
acedRegCmds->removeGroup("ASDK_LLH_COMMANDS");
return;
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
switch (msg) {
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt); //允许应用程序能够卸载
acrxRegisterAppMDIAware(pkt);
initApp(); //初始化应用程序
break;
case AcRx::kUnloadAppMsg:
unloadApp(); //应用程序退出前进行必要的清理
break;
case AcRx::kLoadDwgMsg:
break;
}
return AcRx::kRetOK;
}
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -