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