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

211 lines
3.9 KiB
C++

#include "StdAfx.h"
#include "StdArx.h"
#include "resource.h"
#include "CoreTools.h"
HINSTANCE _hdllInstance = NULL ;
#ifndef _ttof
#define _ttof(pszVal) _tcstod((pszVal), NULL)
#endif
void AddCommand(const TCHAR* cmdGroup, const TCHAR* cmdInt, const TCHAR* cmdLoc,
const int cmdFlags, const AcRxFunctionPtr cmdProc, const int idLocal = -1);
void InitApplication();
void UnloadApplication();
AC_IMPLEMENT_EXTENSION_MODULE(PlumbingDLL);
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
_hdllInstance = hInstance;
PlumbingDLL.AttachInstance(hInstance);
}
else if (dwReason == DLL_PROCESS_DETACH)
{
PlumbingDLL.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 ADD_CMD(cmd, func) CoreTools::AddCommand(_T("PLMB_Cmd"), _T(#cmd), _T(#cmd), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, func)
void InitApplication()
{
acrxBuildClassHierarchy();
//室内管线
ADD_CMD(CR_SCGX, CR_SCGXCmdFnc);
//初始设置
ADD_CMD(WD_CSSZ, WD_CSSZCmdFnc);
//绘制管线
ADD_CMD(WD_HZGX, WD_HZGXCmdFnc);
//引出管线
ADD_CMD(WD_YCGX, WD_YCGXCmdFnc);
//管径变更
ADD_CMD(WD_GJBG, WD_GJBGCmdFnc);
//管线套管
ADD_CMD(WD_GXTG, WD_GXTGCmdFnc);
//端加弯头
ADD_CMD(WD_DJWT, WD_DJWTCmdFnc);
//弯头连管
ADD_CMD(WD_WTLG, WD_WTLGCmdFnc);
//管线连接
ADD_CMD(WD_GXLJ, WD_GXLJCmdFnc);
//管线变径
ADD_CMD(WD_GXBJ, WD_GXBJCmdFnc);
//三通连接
ADD_CMD(WD_STLJ, WD_STLJCmdFnc);
//添加三通
ADD_CMD(WD_TJST, WD_TJSTCmdFnc);
//添加四通
ADD_CMD(WD_TJST, WD_TJSTCmdFnc);
//添加堵头
ADD_CMD(WD_TJDT, WD_TJDTCmdFnc);
//添加法兰
ADD_CMD(WD_CRFL, WD_CRFLCmdFnc);
//插对法兰
ADD_CMD(WD_CDFL, WD_CDFLCmdFnc);
//遮挡断开
ADD_CMD(WD_ZDDK, WD_ZDDKCmdFnc);
//去除断开
ADD_CMD(WD_QCDK, WD_QCDKCmdFnc);
//管端断管
ADD_CMD(WD_GDDG, WD_GDDGCmdFnc);
//管线虚段
ADD_CMD(WD_GXXD, WD_GXXDCmdFnc);
//去除虚段
ADD_CMD(WD_QCXD, WD_QCXDCmdFnc);
//合并管线
ADD_CMD(WD_HBGX, WD_HBGXCmdFnc);
//设备
//放置水箱
ADD_CMD(WD_FZSX, WD_FZSXCmdFnc);
//放置水泵
ADD_CMD(WD_FZSB, WD_FZSBCmdFnc);
//放置洁具
ADD_CMD(WD_FZJJ, WD_FZJJCmdFnc);
//消火栓箱
ADD_CMD(WD_XHSX, WD_XHSXCmdFnc);
//布置喷头
ADD_CMD(WD_PZPT, WD_PZPTCmdFnc);
//布雨水斗
ADD_CMD(WD_BYSD, WD_BYSDCmdFnc);
//置灭火器
ADD_CMD(WD_ZMHQ, WD_ZMHQCmdFnc);
//排水附件
ADD_CMD(WD_PSFJ, WD_PSFJCmdFnc);
//给水附件
ADD_CMD(WD_GSFJ, WD_GSFJCmdFnc);
//消防附件
ADD_CMD(WD_XFFJ, WD_XFFJCmdFnc);
//设备连管
ADD_CMD(WD_SBLG, WD_SBLGCmdFnc);
//设备占位
ADD_CMD(WD_SBZW, WD_SBZWCmdFnc);
//设备设计
ADD_CMD(WD_SBSJ, WD_SBSJCmdFnc);
//设备族库
ADD_CMD(WD_SBZK, WD_SBZKCmdFnc);
//室外管线
ADD_CMD(WD_SWGX, WD_SWGXCmdFnc);
//置检查井
ADD_CMD(WD_ZJCJ, WD_ZJCJCmdFnc);
//管线接井
ADD_CMD(WD_GXJJ, WD_GXJJCmdFnc);
//置消火栓
ADD_CMD(WD_ZXHS, WD_ZXHSCmdFnc);
//栓连管线
ADD_CMD(WD_SLGX, WD_SLGXCmdFnc);
//双击井 DBL_AEC_ASMBLWELL
ADD_CMD(DBL_AEC_ASMBLWELL, DBL_AEC_ASMBLWELL);
void WD_SKJS();
// 消火栓栓口计算
ADD_CMD(WD_SKJS, WD_SKJS);
// 喷淋设置
void WD_PLSZ();
ADD_CMD(WD_PLSZ, WD_PLSZ);
// 布置喷头
void WD_BZPT_RY();
void WD_BZPT_JX();
void WD_BZPT_ZX();
void WD_BZPT_HX();
void WD_BZPT_JD();
ADD_CMD(WD_RYPT, WD_BZPT_RY);
ADD_CMD(WD_JXPT, WD_BZPT_JX);
ADD_CMD(WD_ZXPT, WD_BZPT_ZX);
ADD_CMD(WD_HXPT, WD_BZPT_HX);
ADD_CMD(WD_JDPT, WD_BZPT_JD);
}
void UnloadApplication()
{
acedRegCmds->removeGroup(_T("PLMB_Cmd"));
}