Files
envi-code/SourceCode/Code2026/PlumbingCmd/PlumbingCmd.cpp
T

210 lines
3.9 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#include "StdAfx.h"
2026-09-28 15:28:50 +08:00
#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();
2026-10-04 00:04:20 +08:00
//室内管线
2026-09-28 15:28:50 +08:00
ADD_CMD(CR_SCGX, CR_SCGXCmdFnc);
2026-10-04 00:04:20 +08:00
//初始设置
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_CSSZ, WD_CSSZCmdFnc);
2026-10-04 00:04:20 +08:00
//绘制管线
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_HZGX, WD_HZGXCmdFnc);
2026-10-04 00:04:20 +08:00
//引出管线
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_YCGX, WD_YCGXCmdFnc);
2026-10-04 00:04:20 +08:00
//管径变更
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GJBG, WD_GJBGCmdFnc);
2026-10-04 00:04:20 +08:00
//管线套管
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GXTG, WD_GXTGCmdFnc);
2026-10-04 00:04:20 +08:00
//端加弯头
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_DJWT, WD_DJWTCmdFnc);
2026-10-04 00:04:20 +08:00
//弯头连管
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_WTLG, WD_WTLGCmdFnc);
2026-10-04 00:04:20 +08:00
//管线连接
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GXLJ, WD_GXLJCmdFnc);
2026-10-04 00:04:20 +08:00
//管线变径
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GXBJ, WD_GXBJCmdFnc);
2026-10-04 00:04:20 +08:00
//三通连接
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_STLJ, WD_STLJCmdFnc);
2026-10-04 00:04:20 +08:00
//添加三通
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_TJST, WD_TJSTCmdFnc);
2026-10-04 00:04:20 +08:00
//添加四通
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_TJST, WD_TJSTCmdFnc);
2026-10-04 00:04:20 +08:00
//添加堵头
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_TJDT, WD_TJDTCmdFnc);
2026-10-04 00:04:20 +08:00
//添加法兰
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_CRFL, WD_CRFLCmdFnc);
2026-10-04 00:04:20 +08:00
//插对法兰
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_CDFL, WD_CDFLCmdFnc);
2026-10-04 00:04:20 +08:00
//遮挡断开
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_ZDDK, WD_ZDDKCmdFnc);
2026-10-04 00:04:20 +08:00
//去除断开
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_QCDK, WD_QCDKCmdFnc);
2026-10-04 00:04:20 +08:00
//管端断管
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GDDG, WD_GDDGCmdFnc);
2026-10-04 00:04:20 +08:00
//管线虚段
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GXXD, WD_GXXDCmdFnc);
2026-10-04 00:04:20 +08:00
//去除虚段
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_QCXD, WD_QCXDCmdFnc);
2026-10-04 00:04:20 +08:00
//合并管线
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_HBGX, WD_HBGXCmdFnc);
2026-10-04 00:04:20 +08:00
//设备
//放置水箱
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_FZSX, WD_FZSXCmdFnc);
2026-10-04 00:04:20 +08:00
//放置水泵
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_FZSB, WD_FZSBCmdFnc);
2026-10-04 00:04:20 +08:00
//放置洁具
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_FZJJ, WD_FZJJCmdFnc);
2026-10-04 00:04:20 +08:00
//消火栓箱
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_XHSX, WD_XHSXCmdFnc);
2026-10-04 00:04:20 +08:00
//布置喷头
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_PZPT, WD_PZPTCmdFnc);
2026-10-04 00:04:20 +08:00
//布雨水斗
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_BYSD, WD_BYSDCmdFnc);
2026-10-04 00:04:20 +08:00
//置灭火器
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_ZMHQ, WD_ZMHQCmdFnc);
2026-10-04 00:04:20 +08:00
//排水附件
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_PSFJ, WD_PSFJCmdFnc);
2026-10-04 00:04:20 +08:00
//给水附件
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GSFJ, WD_GSFJCmdFnc);
2026-10-04 00:04:20 +08:00
//消防附件
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_XFFJ, WD_XFFJCmdFnc);
2026-10-04 00:04:20 +08:00
//设备连管
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SBLG, WD_SBLGCmdFnc);
2026-10-04 00:04:20 +08:00
//设备占位
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SBZW, WD_SBZWCmdFnc);
2026-10-04 00:04:20 +08:00
//设备设计
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SBSJ, WD_SBSJCmdFnc);
2026-10-04 00:04:20 +08:00
//设备族库
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SBZK, WD_SBZKCmdFnc);
2026-10-04 00:04:20 +08:00
//室外管线
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SWGX, WD_SWGXCmdFnc);
2026-10-04 00:04:20 +08:00
//置检查井
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_ZJCJ, WD_ZJCJCmdFnc);
2026-10-04 00:04:20 +08:00
//管线接井
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_GXJJ, WD_GXJJCmdFnc);
2026-10-04 00:04:20 +08:00
//置消火栓
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_ZXHS, WD_ZXHSCmdFnc);
2026-10-04 00:04:20 +08:00
//栓连管线
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SLGX, WD_SLGXCmdFnc);
2026-10-04 00:04:20 +08:00
//双击井 DBL_AEC_ASMBLWELL
2026-09-28 15:28:50 +08:00
ADD_CMD(DBL_AEC_ASMBLWELL, DBL_AEC_ASMBLWELL);
void WD_SKJS();
2026-10-04 00:04:20 +08:00
// 消火栓栓口计算
2026-09-28 15:28:50 +08:00
ADD_CMD(WD_SKJS, WD_SKJS);
2026-10-04 00:04:20 +08:00
// 喷淋设置
2026-09-28 15:28:50 +08:00
void WD_PLSZ();
ADD_CMD(WD_PLSZ, WD_PLSZ);
2026-10-04 00:04:20 +08:00
// 布置喷头
2026-09-28 15:28:50 +08:00
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"));
}