115 lines
3.4 KiB
C++
115 lines
3.4 KiB
C++
#include "StdAfx.h"
|
|
#include "resource.h"
|
|
#include "CoreTools.h"
|
|
#include "StdArx.h"
|
|
|
|
HINSTANCE _hdllInstance =NULL ;
|
|
|
|
#ifndef _ttof
|
|
#define _ttof(pszVal) _tcstod((pszVal), NULL)
|
|
#endif
|
|
|
|
void InitApplication();
|
|
void UnloadApplication();
|
|
|
|
AC_IMPLEMENT_EXTENSION_MODULE(HavcCmd);
|
|
|
|
extern "C"
|
|
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
|
|
{
|
|
if (dwReason == DLL_PROCESS_ATTACH)
|
|
{
|
|
_hdllInstance = hInstance;
|
|
HavcCmd.AttachInstance(hInstance);
|
|
}
|
|
else if (dwReason == DLL_PROCESS_DETACH)
|
|
{
|
|
HavcCmd.DetachInstance();
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
extern "C" AcRx::AppRetCode
|
|
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
|
|
{
|
|
switch (msg)
|
|
{
|
|
case AcRx::kInitAppMsg:
|
|
acrxDynamicLinker->unlockApplication(pkt);
|
|
acrxDynamicLinker->registerAppMDIAware(pkt);
|
|
InitApplication();
|
|
break;
|
|
case AcRx::kUnloadAppMsg:
|
|
UnloadApplication();
|
|
break;
|
|
}
|
|
return AcRx::kRetOK;
|
|
}
|
|
|
|
//总图
|
|
void InitApplication()
|
|
{
|
|
#define AddCommand CoreTools::AddCommand //测试命令
|
|
|
|
#define ADD_CMD(cmd, func) AddCommand(_T("SPLD"), _T(#cmd), _T(#cmd), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, func)
|
|
|
|
|
|
AddCommand(_T("SPLD"), _T("SP_TEST"), _T("SP_TEST"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_TESTCmdFnc);
|
|
AddCommand(_T("SPLD"), _T("sp_roadadd"), _T("sp_roadadd"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_RoadAddmdFnc);
|
|
|
|
//三维地形
|
|
AddCommand(_T("SPLD"), _T("SP_SWDX"), _T("SP_SWDX"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_SWDXCmdFnc);
|
|
|
|
//地面平整
|
|
AddCommand(_T("SPLD"), _T("SP_DMPZ"), _T("SP_DMPZ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_DMPZCmdFnc);
|
|
|
|
//道路测试
|
|
AddCommand(_T("SPLD"), _T("SP_DLCS"), _T("SP_DLCS"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_DLCSCmdFnc);
|
|
|
|
//绘制道路
|
|
AddCommand(_T("SPLD"), _T("SP_HZDL"), _T("SP_HZDL"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_HZDLCmdFnc);
|
|
|
|
//道路边线
|
|
AddCommand(_T("SPLD"), _T("SP_DLBX"), _T("SP_DLBX"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_DLBXCmdFnc);
|
|
|
|
//弯头连接
|
|
AddCommand(_T("SPLD"), _T("SP_WTLJ"), _T("SP_WTLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_WTLJCmdFnc);
|
|
|
|
//变径拐弯
|
|
AddCommand(_T("SPLD"), _T("SP_BJGW"), _T("SP_BJGW"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_BJGWCmdFnc);
|
|
|
|
//三通连接
|
|
AddCommand(_T("SPLD"), _T("SP_STLJ"), _T("SP_STLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_STLJCmdFnc);
|
|
|
|
//四通连接
|
|
AddCommand(_T("SPLD"), _T("SP_TJST"), _T("SP_TJST"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_TJSTCmdFnc);
|
|
|
|
//多通路口
|
|
AddCommand(_T("SPLD"), _T("SP_DTLK"), _T("SP_DTLK"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_DTLJCmdFnc);
|
|
|
|
//添加环岛
|
|
AddCommand(_T("SPLD"), _T("SP_TJHD"), _T("SP_TJHD"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_TJHDCmdFnc);
|
|
|
|
//插雨水井
|
|
/*AddCommand(_T("SPLD"), _T("SP_CYSJ"), _T("SP_CYSJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_CYSJCmdFnc);
|
|
|
|
//管线连井
|
|
AddCommand(_T("SPLD"), _T("SP_GXLJ"), _T("SP_GXLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_GXLJCmdFnc);
|
|
|
|
//布置树...
|
|
AddCommand(_T("SPLD"), _T("SP_GXLJ"), _T("SP_GXLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_GXLJCmdFnc);
|
|
|
|
//碰撞检查
|
|
AddCommand(_T("SPLD"), _T("SP_PZJC"), _T("SP_PZJC"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, SP_PZJCCmdFnc);
|
|
*/
|
|
|
|
ADD_CMD(DBL_AEC_3DROAD ,DBL_AEC_3DROAD );
|
|
|
|
ADD_CMD(SP_CRSJ, SP_CRSJ);
|
|
}
|
|
|
|
void UnloadApplication()
|
|
{
|
|
acedRegCmds->removeGroup(_T("SP_TEST"));
|
|
}
|