236 lines
7.2 KiB
C++
236 lines
7.2 KiB
C++
#include "StdAfx.h"
|
|
#include "StdArx.h"
|
|
#include "resource.h"
|
|
#include "CoreTools.h"
|
|
#include "KTParamService.h"
|
|
|
|
HINSTANCE _hdllInstance = NULL ;
|
|
|
|
#ifndef _ttof
|
|
#define _ttof(pszVal) _tcstod((pszVal), NULL)
|
|
#endif
|
|
|
|
void InitApplication();
|
|
void UnloadApplication();
|
|
|
|
AC_IMPLEMENT_EXTENSION_MODULE(EarthWormDLL);
|
|
|
|
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
|
|
{
|
|
if (dwReason == DLL_PROCESS_ATTACH)
|
|
{
|
|
_hdllInstance = hInstance;
|
|
EarthWormDLL.AttachInstance(hInstance);
|
|
}
|
|
else if (dwReason == DLL_PROCESS_DETACH)
|
|
{
|
|
EarthWormDLL.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("SHPLANTST"), _T(#cmd), _T(#cmd), ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, func)
|
|
void InitApplication()
|
|
{
|
|
acrxBuildClassHierarchy();
|
|
|
|
// 注册参数化图形服务
|
|
CKTEntityDumb::rxInit();
|
|
KTParamService::rxInit();
|
|
KTParamServiceRegister();
|
|
|
|
// pid-pipe
|
|
ADD_CMD(PI_HZGX, PL_KTPIDMajor1);
|
|
ADD_CMD(PL_KTPIDMajor2, PL_KTPIDMajor2);
|
|
ADD_CMD(PI_HCGX, PL_KTPIDMinor1);
|
|
ADD_CMD(PL_KTPIDMinor2, PL_KTPIDMinor2);
|
|
ADD_CMD(PI_HYBX, PL_KTPIDINSTLINE);
|
|
ADD_CMD(PI_SXXG, PL_KTAttribEdit);
|
|
ADD_CMD(PI_GXXK, PL_KTPIPEWMO);
|
|
ADD_CMD(PI_GXLJ, PL_KTPIPECONNECT);
|
|
ADD_CMD(PI_GDSM, PI_OnPIDReport);
|
|
|
|
// pid-pipedim
|
|
ADD_CMD(PI_KTPDIMONLINE, PL_KTPDIMONLINE); //在线标注
|
|
ADD_CMD(PI_KTPDIMONLINET, PL_KTPDIMONLINET); //在线上标
|
|
ADD_CMD(PI_KTPDIMONLINEB, PL_KTPDIMONLINEB); //在线下标
|
|
ADD_CMD(PI_KTPDIMLEADER, PL_KTPDIMLEADER); //引出标注
|
|
ADD_CMD(PI_KTPDIMLEADERT, PL_KTPDIMLEADERT); //引出上标
|
|
ADD_CMD(PI_KTPDIMLEADERY, PL_KTPDIMLEADERY); //垂直标注一
|
|
ADD_CMD(PI_KTPDIMLEADERYT, PL_KTPDIMLEADERYT); //垂直标注二
|
|
ADD_CMD(PI_KTPDIMPLINE, PL_KTPDIMPLINE); //批量标注
|
|
ADD_CMD(PI_KTPDIMSIDEH, PL_KTPDIMSIDEH); //端头标注一
|
|
ADD_CMD(PI_KTPDIMSIDEV, PL_KTPDIMSIDEV); //端头标注二
|
|
ADD_CMD(PI_KTDIMPIPEEL, PL_KTDIMPIPEEL); //标高标注
|
|
ADD_CMD(PI_KTDIMVALVE, PL_KTDIMVALVE); //阀门标注一
|
|
ADD_CMD(PI_KTDIMVALVE1, PL_KTDIMVALVE1); //阀门标注二
|
|
ADD_CMD(PI_KTDIMGRA, PL_KTDIMGRA); //坡度标注
|
|
ADD_CMD(PI_KTCElev, PL_KTCElev); //连续标高
|
|
ADD_CMD(PI_KTPDIR, PL_KTPDIR); //直径符号
|
|
ADD_CMD(PI_KTPCROSS, PL_KTPCROSS); //交叉符号
|
|
ADD_CMD(PI_KTPBREAK, PL_KTPBREAK); //断开符号
|
|
ADD_CMD(PI_KTPTEMP, PL_KTPTEMP); //保温或伴热
|
|
ADD_CMD(PI_KTDimValveEL, PL_KTDimValveEL); //阀门标高
|
|
ADD_CMD(PI_KTPIDEquDim, PL_KTPIDEquDim); //设备标注
|
|
ADD_CMD(PI_KTPIDNozzleDim, PL_KTPIDNozzleDim); //管嘴标注
|
|
|
|
// pid-equ
|
|
ADD_CMD(PI_SFTHRQ , PL_KTExchangeDouble);
|
|
ADD_CMD(PI_FSEHRQ, PL_KTExchangeDoubleEK);
|
|
ADD_CMD(PI_TRHRQ, PL_KTProcessFlow);
|
|
ADD_CMD(PI_DFTHRQ, PL_KTSingleEnd);
|
|
ADD_CMD(PI_FSYHRQ, PL_KTSingleEK);
|
|
ADD_CMD(PI_TGSHRQ, PL_KTSuper);
|
|
ADD_CMD(PI_GBSHRQ, PL_KTExcPipe);
|
|
ADD_CMD(PI_YXGHRQ, PL_KTExcUPipe);
|
|
ADD_CMD(PI_PTLXBY, PL_KTCentrifuqal1);
|
|
ADD_CMD(PI_PTLXBE, PL_KTCentrifuqal2);
|
|
ADD_CMD(PI_PTQSBY, PL_KTDeep1);
|
|
ADD_CMD(PI_PTQSBE, PL_KTDeep2);
|
|
ADD_CMD(PI_PTSTB, PL_KTDual);
|
|
ADD_CMD(PI_CYBFHY, PL_KTHoriz1);
|
|
ADD_CMD(PI_CYBFHE, PL_KTHoriz2);
|
|
ADD_CMD(PI_PTBFH, PL_KTInline);
|
|
ADD_CMD(PI_PTXZB, PL_KTRotary);
|
|
ADD_CMD(PI_PTWXBY, PL_KTTurbine1);
|
|
ADD_CMD(PI_PTWXBE, PL_KTTurbine2);
|
|
ADD_CMD(PI_PTZKB, PL_KTVacuum);
|
|
ADD_CMD(PI_CYBFHS, PL_KTPumpVert1);
|
|
ADD_CMD(PI_CYBFHT, PL_KTPumpVert2);
|
|
ADD_CMD(PL_KTPIDNozzle, PL_KTPIDNozzle);
|
|
ADD_CMD(PI_SZSYTL, PL_KTPIDSTV1);
|
|
ADD_CMD(PI_PZSYTL, PL_KTPIDSTV2);
|
|
ADD_CMD(PI_GDCFYQ, PL_KTOnPIDR1);
|
|
ADD_CMD(PI_LGSFYQ, PL_KTOnPIDR2);
|
|
ADD_CMD(PI_LHCFYQ, PL_KTOnPIDR3);
|
|
ADD_CMD(PI_PTFYF, PL_KTOnPIDR4);
|
|
ADD_CMD(PL_KTPIDCompressor1, PL_KTPIDCompressor1);
|
|
ADD_CMD(PL_KTPIDCompressor2, PL_KTPIDCompressor2);
|
|
ADD_CMD(PI_CGYB, PL_KTDiscBubble);
|
|
ADD_CMD(PI_DCYB, PL_KTSharedBubble);
|
|
ADD_CMD(PI_JSYB, PL_KTComputerBubble);
|
|
ADD_CMD(PI_LGYB, PL_KTLogicBubble);
|
|
ADD_CMD(PI_ZNYB, PL_KTPilotBubble);
|
|
|
|
ADD_CMD(PI_LXJT, PL_KTPIDFDA);
|
|
ADD_CMD(PI_CXJT, PL_KTPIDSArrow);
|
|
ADD_CMD(PI_CZJT, PL_KTPIDMArrow);
|
|
ADD_CMD(PI_CDJT, PL_KTPIDLArrow);
|
|
ADD_CMD(PI_CJJT, PL_KTPIDOUTArrow);
|
|
|
|
ADD_CMD(PL_KTPIDUserdefine, PL_KTPIDUserdefine);
|
|
ADD_CMD(PI_CRYC, PL_KTPIDCHIMNEY);
|
|
ADD_CMD(PI_CRHJYC, PL_KTPIDTORCH);
|
|
ADD_CMD(PL_KTPIDREPORT, PL_KTPIDREPORT);
|
|
ADD_CMD(PL_KTPIDSPEC1, PL_KTPIDSPEC1);
|
|
ADD_CMD(PL_KTPIDSPEC2, PL_KTPIDSPEC2);
|
|
ADD_CMD(PL_KTPIDCRD, PL_KTPIDCRD);
|
|
ADD_CMD(PI_BWBR, PL_KTPIDINS);
|
|
ADD_CMD(PI_GHXG, PL_KTPIDLINENOMO);
|
|
ADD_CMD(PI_GYBB, PL_GYBBCmd);
|
|
|
|
// pid-value
|
|
ADD_CMD(PI_CJYB, PI_CJYB);
|
|
ADD_CMD(PI_CRZF, PL_KTPIDVGate);
|
|
ADD_CMD(PI_CJZF, PL_KTPIDVGlobe);
|
|
ADD_CMD(PI_CRQF, PL_KTPIDVBall);
|
|
ADD_CMD(PI_CZHF, PL_KTPIDVCheck1);
|
|
ADD_CMD(PL_KTPIDVCheck2, PL_KTPIDVCheck2);
|
|
ADD_CMD(PI_CRDF, PL_KTPIDVButt);
|
|
ADD_CMD(PI_TJFM, PL_KTPIDVInst);
|
|
ADD_CMD(PI_SSFM, PL_KTPIDVHydr);
|
|
ADD_CMD(PI_STFM, PL_KTPIDV3V);
|
|
ADD_CMD(PI_XTFM, PL_KTPIDV4V);
|
|
ADD_CMD(PI_CRJF, PL_KTPIDVAngle);
|
|
ADD_CMD(PI_CAQF, PL_KTPIDVRelif);
|
|
ADD_CMD(PI_GMFM, PL_KTPIDVDiaph);
|
|
ADD_CMD(PI_CZXF, PL_KTPIDVNeedle);
|
|
ADD_CMD(PI_XSFM, PL_KTPIDVPlug);
|
|
ADD_CMD(PI_JYFM, PL_KTPIDVDes);
|
|
ADD_CMD(PI_CCBF, PL_KTPIDVClose);
|
|
ADD_CMD(PL_KTPIDVGroup1, PL_KTPIDVGroup1);
|
|
ADD_CMD(PL_KTPIDVGroup2, PL_KTPIDVGroup2);
|
|
ADD_CMD(PL_KTPIDVGroup3, PL_KTPIDVGroup3);
|
|
ADD_CMD(PL_KTPIDVDim1, PL_KTPIDVDim1);
|
|
ADD_CMD(PL_KTPIDVDim2, PL_KTPIDVDim2);
|
|
ADD_CMD(PL_KTPIDHandV, PL_KTPIDHandV);
|
|
ADD_CMD(PL_KTPIDONLINE, PL_KTPIDONLINE);
|
|
ADD_CMD(PI_CRMB, PL_KTPIDMB);
|
|
ADD_CMD(PI_BMB1, PL_KTPID8MB1);
|
|
ADD_CMD(PI_BMB2, PL_KTPID8MB2);
|
|
ADD_CMD(PI_TXGL, PL_KTPIDTfilter);
|
|
ADD_CMD(PI_WZGL, PL_KTPIDWfilter);
|
|
ADD_CMD(PI_YXGL, PL_KTPIDYfilter);
|
|
ADD_CMD(PI_ZXGL, PL_KTPIDZfilter);
|
|
ADD_CMD(PI_BGSJ, PL_KTPIDSHIJING);
|
|
ADD_CMD(PI_CJBQ, PL_KTPIDJBQ);
|
|
ADD_CMD(PI_CHHQ, PL_KTPIDJTHHQ);
|
|
ADD_CMD(PI_CRAD, PL_KTPIDLD);
|
|
ADD_CMD(PI_CRLD, PL_KTPIDLouD);
|
|
ADD_CMD(PI_WYLD, PL_KTPIDWLouD);
|
|
ADD_CMD(PI_BYLQ, PL_KTPIDMBQYCool);
|
|
ADD_CMD(PI_CPSQ, PL_KTPIDPSQ);
|
|
ADD_CMD(PI_QYLQ, PL_KTPIDQYCool);
|
|
ADD_CMD(PI_CWQL, PL_KTPIDWEN);
|
|
ADD_CMD(PI_CXQZ, PL_KTPIDXQZ);
|
|
ADD_CMD(PI_CXSQ, PL_KTPIDXSQ);
|
|
ADD_CMD(PI_CXLB, PL_KTPIDKong);
|
|
ADD_CMD(PI_CZHQ, PL_KTPIDNFire);
|
|
ADD_CMD(PI_CRFT, PL_KTPIDCAP);
|
|
ADD_CMD(PI_CRDT, PL_KTPIDNODE);
|
|
ADD_CMD(PL_KTPIDVDEL, PL_KTPIDVDEL);
|
|
ADD_CMD(PI_MTO, PI_MTO);
|
|
|
|
ADD_CMD(PI_PTLSRQ, PL_KTVslVert);
|
|
ADD_CMD(PI_QZLSRQ, PL_KTVslVertSkirt);
|
|
ADD_CMD(PI_SJLSRQ, PL_KTVslVertCone);
|
|
ADD_CMD(PI_SJQZRQ, PL_KTVslVertSkirtCone);
|
|
ADD_CMD(PI_PDLSRQ, PL_KTVslVertFlat);
|
|
ADD_CMD(PI_PTWSRQ, PL_KTVslHorz);
|
|
ADD_CMD(PI_SJWSRQ, PL_KTVslHorzEcc);
|
|
ADD_CMD(PL_KTVslTanks, PL_KTVslTanks);
|
|
ADD_CMD(PL_KTVslComponents, PL_KTVslComponents);
|
|
|
|
|
|
//pid-parampart
|
|
ADD_CMD(PI_DYSBFH, PL_KTPARTDEFINE);
|
|
ADD_CMD(PI_CRSBFH, PL_KTPARTINSERT);
|
|
|
|
// 杂项符号
|
|
ADD_CMD(PI_CSWX, PI_CSWX); // 水位线
|
|
ADD_CMD(PI_CDPX, PI_CDPX); // 地平线
|
|
ADD_CMD(PI_CRBG, PI_CRBG); // 地标高
|
|
|
|
//标高更新
|
|
ADD_CMD(PI_BGGX,PI_BGGXCmdFnc);
|
|
|
|
//测试
|
|
ADD_CMD(PI_TEST, PI_TESTCmdFnc);
|
|
}
|
|
|
|
void UnloadApplication()
|
|
{
|
|
acedRegCmds->removeGroup(_T("SHCRACKTOOLS"));
|
|
// 删除参数化图形服务
|
|
KTParamServiceRemove();
|
|
deleteAcRxClass(CKTEntityDumb::desc());
|
|
deleteAcRxClass(KTParamService::desc());
|
|
}
|
|
|