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

244 lines
7.1 KiB
C++

#include "StdAfx.h"
#include "StdArx.h"
#include "resource.h"
#include "CoreTools.h"
#include "CThunderProofNetDraw2d.h"
#include "BDQGDlg.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;
}
#define AddCommand CoreTools::AddCommand
#ifndef ADD_CMD
#define ADD_CMD(cmd, func) AddCommand(_T("EL_ELCMD"), _T(#cmd), _T(#cmd), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, func)
#endif
void InitApplication()
{
//CThunderProofNetDraw2d::rxInit();
//绘制桥架
AddCommand(_T("EL_ELCMD"), _T("EL_HZQJ"), _T("EL_HZQJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_HZQJCmdFnc);
AddCommand(_T("EL_ELCMD"), _T("EL_cabtryadd"), _T("EL_cabtryadd"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_cabtryaddCmdFnc);
//路径桥架
AddCommand(_T("EL_ELCMD"), _T("EL_LJQJ"), _T("EL_LJQJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_LJQJCmdFnc);
//多层桥架
AddCommand(_T("EL_ELCMD"), _T("EL_DCQJ"), _T("EL_DCQJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_PCQJCmdFnc);
//添加三通
AddCommand(_T("EL_ELCMD"), _T("EL_TJ3T"), _T("EL_TJ3T"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_TJ3TCmdFnc);
//三角三通
AddCommand(_T("EL_ELCMD"), _T("EL_SJ3T"), _T("EL_SJ3T"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_SJ3TCmdFnc);
//添加四通
AddCommand(_T("EL_ELCMD"), _T("EL_TJ4T"), _T("EL_TJ4T"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_TJ4TCmdFnc);
//添加弯头
AddCommand(_T("EL_ELCMD"), _T("EL_TJWT"), _T("EL_TJWT"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_TJWTCmdFnc);
//弯头连接
AddCommand(_T("EL_ELCMD"), _T("EL_WTLJ"), _T("EL_WTLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_WTLJCmdFnc);
//加乙字弯
AddCommand(_T("EL_ELCMD"), _T("EL_TJZW"), _T("EL_TJZW"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_TJZWCmdFnc);
//桥架避让
AddCommand(_T("EL_ELCMD"), _T("EL_QJBR"), _T("EL_QJBR"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_QJBRCmdFnc);
//引线开口
ADD_CMD(EL_YXKK, EL_YXKKCmdFnc);
//绘制缆沟
AddCommand(_T("EL_ELCMD"), _T("EL_HZLG"), _T("EL_HZLG"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_HZLGCmdFnc);
//路径缆沟
AddCommand(_T("EL_ELCMD"), _T("EL_LJLG"), _T("EL_LJLG"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_LJLGCmdFnc);
//合并缆沟
ADD_CMD(EL_HBLG, EL_HBLGCmdFnc);
//三通贯通
ADD_CMD(EL_STGT, EL_STGTCmdFnc);
//四通贯通
ADD_CMD(EL_4TGT, EL_4TGTCmdFnc);
//弯头贯通
ADD_CMD(EL_WTGT, EL_WTGTCmdFnc);
//单加弯头
ADD_CMD(EL_DJWT, EL_DJWTCmdFnc);
//加乙字弯
ADD_CMD(EL_JYZW, EL_JYZWCmdFnc);
//缆沟支架
ADD_CMD(EL_LGZJ, EL_LGZJCmdFnc);
ADD_CMD(EL_TEST, EL_TESTCmdFnc);
//布置支架
AddCommand(_T("EL_ELCMD"), _T("EL_BZZJ"), _T("EL_BZZJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_BZZJCmdFnc);
//铺设电缆
AddCommand(_T("EL_ELCMD"), _T("EL_HZDL"), _T("EL_HZDL"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_HZDLCmdFnc);
//桥架标注
AddCommand(_T("EL_ELCMD"), _T("EL_QJBZ1"), _T("EL_QJBZ1"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_QJBZCmdFnc1);
AddCommand(_T("EL_ELCMD"), _T("EL_QJBZ2"), _T("EL_QJBZ2"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_QJBZCmdFnc2);
AddCommand(_T("EL_ELCMD"), _T("EL_QJBH"), _T("EL_QJBH"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_QJBHCmdFnc);
//电缆标注
AddCommand(_T("EL_ELCMD"), _T("EL_DLBZ"), _T("EL_DLBZ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_DLBZCmdFnc);
//合并桥架
AddCommand(_T("EL_ELCMD"), _T("EL_HBQJ"), _T("EL_HBQJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_HBQJCmdFnc);
//路径曲线--> 不统计,用于电缆敷设--- 用柔性套管替代
AddCommand(_T("EL_ELCMD"), _T("EL_LJQX"), _T("EL_LJQX"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_LJQXCmdFnc);
//设备接点
AddCommand(_T("EL_ELCMD"), _T("EL_SBJD"), _T("EL_SBJD"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_ZLJBCmdFnc);
ADD_CMD(DBL_AEC_DIRPS, DBL_AEC_DIRPS);
//设备统编
AddCommand(_T("EL_ELCMD"), _T("EL_SBTB"), _T("EL_SBTB"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_SBTBCmdFnc);
//电缆敷设-必经路径-->remove
AddCommand(_T("EL_ELCMD"), _T("EL_BJLJ"), _T("EL_BJLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_BJLJCmdFnc);
//电缆敷设-清册敷设
AddCommand(_T("EL_ELCMD"), _T("EL_DLFS"), _T("EL_DLFS"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_DLFSCmdFnc);
//电缆敷设-手动敷设
AddCommand(_T("EL_ELCMD"), _T("EL_SDFS"), _T("EL_SDFS"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_SDFSCmdFnc);
//显填充率
AddCommand(_T("EL_ELCMD"), _T("EL_CTCL"), _T("EL_CTCL"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_XTCLCmdFnc);
//内部命令-零填充率
AddCommand(_T("EL_ELCMD"), _T("EL_LTCL"), _T("EL_LTCL"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_LTCLCmdFnc);
//电缆查看
AddCommand(_T("EL_ELCMD"), _T("EL_DLCK"), _T("EL_DLCK"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_DLCKCmdFnc);
//设备编码
AddCommand(_T("EL_ELCMD"), _T("EL_SBBM"), _T("EL_SBBM"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_SBBMCmdFnc);
//直角线管
AddCommand(_T("EL_ELCMD"), _T("EL_XGLJ"), _T("EL_XGLJ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_ZJXGCmdFnc);
//敷设汇总--报表
AddCommand(_T("EL_ELCMD"), _T("EL_FSHZ"), _T("EL_FSHZ"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_FSHZCmdFnc);
//提取清册
AddCommand(_T("EL_ELCMD"), _T("EL_TQQC"), _T("EL_TQQC"), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, EL_TQQCCmdFnc);
//双击桥架
ADD_CMD(DBL_AEC_DBCABTRY,DBL_AEC_DBCABTRY);
//双击桥架件
ADD_CMD(DBL_AEC_DBECFIT, DBL_AEC_DBECFIT);
//桥架变更
ADD_CMD(EL_QJBG, EL_QJBGCmdFnc);
//双击电缆
ADD_CMD(DBL_AEC_EWCABLE, DBL_AEC_EWCABLE);
//绘制线管
ADD_CMD(EL_HZXG, EL_HZXGCmdFnc);
//多层线管
ADD_CMD(EL_DCXG, EL_DCXGCmdFnc);
//放接线盒
ADD_CMD(EL_FJXH, EL_FJXHCmdFnc);
//放置开关
ADD_CMD(EL_FZKG, EL_FZKGCmdFnc);
//放置灯具
ADD_CMD(EL_FZDJ, EL_FZDJCmdFnc);
//绘避雷网
ADD_CMD(EL_HBLW, EL_HBLWCmdFnc);
//绘避雷带
ADD_CMD(EL_HBLD, EL_HBLDCmdFnc);
//加伸缩节
ADD_CMD(EL_JSSJ, EL_JSSJCmdFnc);
//翻弯避让
ADD_CMD(EL_FWBR, EL_FWBRCmdFnc);
//加引下线
ADD_CMD(EL_JYXX, EL_JYXXCmdFnc);
//柔性类管用例
ADD_CMD(EL_RXLG, EL_RXLGCmdFnc);
//布电器柜
ADD_CMD(EL_BDQG, EL_BDQGCmdFnc);
//桥架管件测试
ADD_CMD(EL_QJCS, EL_QJCSCmdFnc);
DBClick_DQG::rxInit();
}
void UnloadApplication()
{
deleteAcRxClass(DBClick_DQG::desc());
acedRegCmds->removeGroup(_T("EL_ELCMD"));
}