Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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"));
}