#include "stdafx.h" #include #include #include #include #include #include #include #include #include #include #include "HidePipeDlg.h" #include "TgTwtSettingDlg.h" #include "rxregsvc.h" extern TARCH_IMPEXP int g_bDownloadT3Split; HINSTANCE _hdllInstance = NULL ; AC_IMPLEMENT_EXTENSION_MODULE(arxmfcDLL); extern void InitAol(const TCHAR *szAppName); extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) { if (dwReason == DLL_PROCESS_ATTACH) { _hdllInstance = hInstance; arxmfcDLL.AttachInstance(hInstance); // Insert this DLL into the resource chain // new CDynLinkLibrary(arxmfcDLL); //Init for AOL InitAol(TCHXD); InitGeLib(); //InitAcUiDLL(); } else if (dwReason == DLL_PROCESS_DETACH) { arxmfcDLL.DetachInstance(); } return TRUE; } void AddInitSetDlg(CAdUiTabExtensionManager* pXtabManager); // 以下是命令函数 //管线绘制 extern void CmdPipe(); //绘制管线 extern void EquipLineToPipe(); //设备连管 extern void JoinPipe2Sanitary(); //管连洁具 extern void DrawMutiPipe(); //绘制多管 extern int LispPipe(); //LISP绘制管线 extern int ISetPipeMatDnType(); extern void CmdPipeByLine(); //沿线绘管 extern void DrawDoublePipe(); //绘双线管 extern void DoubleLineValave(); //双线阀门 //管线编辑 extern void EditPipeCmd(); //修改管线 extern void SetPipeThickOrThin(); //管线粗细 extern void ExternSysPipe(); //管线延长 extern void FilletPipe(); //管线倒角 extern void ErasePipeCmd(); //删除管线 extern void PipeWireBreak(); //管线打断 extern void Join2Pipe(); //管线连接 extern void SetPipeUp(); //管线置上 extern void SetPipeDown(); //管线置下 extern void ChangeDnDim(); //更改管径 //extern void SetPipeElevation(); //单管标高 extern void ChangePipeMatCmd(); //变更管材 extern void CalcEleByGradient(); //坡度定高 extern void SelVPipeCmd(); //选择管线 extern void CalcGradientEle(); //坡高计算 //extern void EditOutdoorPipe(); //查修管线 extern void PipeWireUpDown(); //管线升降 //立管 extern void DrawStandPipeCmd(); //立管布置 extern void DrawStandPipeBy2Pipe(); //上下扣弯 extern void SetVerPipeRadius(); //立管半径 //extern void PlusPipeSerial(); //编号增一 //extern void MinusPipeSerial(); //编号减一 //extern void VPipeSerialSort(); //立管排序 //设备 extern void CmdValve(); //阀门阀件 extern void InsFeedAccessory(); //给水附件 extern void InsDrainAccessory(); //排水附件 extern void CmdPipeAttachment(); //管道附件 extern void EditEquipCmd(); //修改附件 //extern void ShowPipeElevation(); //显示标高 extern void InsBreakPipeSign(); //断管符号 extern void MoveEquipment(); //设备移动 extern void InsSysAttchment(); //系统附件 extern void ScaleEquipment(); //设备缩放 extern void InsCornerValave(); //角阀 extern void Ins34CornerValave(); //三四通阀 extern void BuildValveCmd(); //造 阀 门 extern void BuildAttchCmd(); //造 附 件 extern void ChangeBlkInsPt(); //改接线点 extern void ReversalEquip(); //附件翻转 extern void SetBlockWidth(); //图块加粗 extern void InsTwtMeter(); //常用仪表 //消防 extern void InsPlanHydrant(); //布消火栓 extern void SprinklerByLine(); //直线喷头 extern void SprinklerByRect(); //矩形喷头 extern void SprinklerByFree(); //任意喷头 extern void SprinklerByInter(); //交点喷头 extern void SprinklerBySector(); //扇形喷头 extern void ModifySprinkler(); //修改喷头 extern void SprinklerCalc(); //喷淋计算 extern void ReplaceHydrant(); //消防替换 extern void SprinklerOrientation(); //喷头定位 extern void SprinklerIsometry(); //等距喷头 extern void SprinklerConv(); //喷头转化 extern void ReversalHydrant(); //翻转消火栓 extern void ShowProtectRadius(); //保护半径 extern void HydrantCalc(); //消防计算 extern void LinkHydrant(); //连消火栓 extern void FindLongPath(); //最远路径 extern void SprinklerByArc(); //弧线喷头 extern void EditHydrantCmd(); //改消火栓 extern void LayFireExtinguisher(); //布置灭火器 extern void LinkHydrantNew(); //连消火栓 //系统 extern void BuildSysPipe(); //系统生成 extern void SprinklerSys(); //喷淋系统 extern void HydrantSys(); //消防系统 extern void PrincipleSys(); //绘展开图 extern void DrawAerate(); //通 气 帽 extern void InsSysHydrant(); //消 火 栓 extern void ScalePipeSys(); //系统缩放 extern void SelectPipeSys(); //系统选择 extern void InsCheckCmd(); //检 查 口 extern void Plan2SysWaterTank(); //水箱系统 extern void ModifyFloorLine(); //改楼层线 //管线标注 extern void StandPipeDimCmd(); //立管标注 extern void TextOnPipe(); //管线文字 extern void DimSprinklerLength(); //喷头尺寸 extern void FindAndInsteadVPipeDim();//查替立编 //其它 extern void AmountAllMaterial(); //材料统计 extern void FiltreErase(); //过滤删除 extern void InsTwtBlock(); //常用图块 extern void ConverseOldDwg(); //旧图转化 extern void InsHole(); //基础洞 extern void InsFloorHole(); //楼板洞 extern void MoveFlooorHole(); //移动楼板洞 extern void DrainChamfer(); //排水倒角 extern void InsertBushing(); //套管插入 extern void HidePipeByEquipment(); //洁具 extern void InsSanitary(); //任意洁具 extern void DefineSanitary(); //定义洁具 extern void SanitaryInLib(); //洁具入库 extern void ReplaceSanitary(); //洁具替换 extern void MirrorSantitary(); //镜像洁具转换 extern void NewDefineSanitary(); //新定义洁具 extern void AutoPipeLinkSanitary(); //新管连洁具 //计算 extern void ModifyNg(); //修改当量 extern void PrincipleDirt(); //污水原理 extern void CalcDirtPipeDn(); //污水计算 extern void ResidenceFeedCalc(); //住宅给水计算 extern void PrincipleFeed(); //住宅给水原理 extern void PrinciplePubFeed(); //公建给水原理 extern void PrincipleIndustryFeed(); //工业给水原理 //帮助 extern void HelpTwtLaw(); //规范查询 extern void AboutTwt(); //版本信息 extern void HelpFlash(); //在线演示 extern void HelpTwt(); //在线帮助 //图层管理 extern void TwtLayerManCmd(); //图层管理 extern void DestroyTwtLayerManBar(); extern void ModifySelLayer(); extern void SetAllPipeLayOpenCmd(); extern void SetViewPortPipeSysCmd(); // 视口系统 //菜单开关 extern int GetBoldPipeState(); //粗细读取 extern int SetBoldPipeState(); //粗细设置 extern void MovePipes(); extern void FireExtinguisherEditCmd(); extern int ISetRoomV();//zxl 2013.06.03 add //void InitGroupIdConfig(BOOL bTrue); extern void LineTypeLibCmd(); extern void LineTypeMan(); extern void TgDwgLibEx(); extern void SetSnapAngByLineCmd(); extern void SetPipeMatSpec(); //管材规格 extern void OutDrainCalc(); //室外水力 void tzsz(); // 以下是编辑函数 int EditPipe(AcDbObjectId id); int EditEquipment(AcDbObjectId id); int EditDoublePipe(AcDbObjectId id); int EditValve(AcDbObjectId id); int EditDoublePipeNode(AcDbObjectId id); int EditFireExtinguisher(AcDbObjectId id); static AecObjectEditMethod g_pOldEditPipe=NULL; static AecObjectEditMethod g_pOldEditEquip=NULL; static AecObjectEditMethod g_pOldEditDoublePipe=NULL; static AecObjectEditMethod g_pOldEditVerticalSection=NULL; static AecObjectEditMethod g_pOldEditVerticalSectionFeed=NULL; static AecObjectEditMethod g_pOldEditValve=NULL; static AecObjectEditMethod g_pOldEditDoublePipeNode=NULL; static AecObjectEditMethod g_pOldEditFireExtinguisher = NULL; static ArxCommandTable g_acedCmdTable[] = { {_T("ztgx"), CmdPipe,ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, // hzgx 绘制管线-> 总图管线 2003.9.18 {_T("lgbz"), DrawStandPipeCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 立管布置 2003.9.16 {_T("fmfj"), CmdValve, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 阀门阀件 2003.9.19 //{_T("xtsc"), BuildSysPipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 系统生成 2003.9.26 {_T("gxdd"), PipeWireBreak, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线打断 2003.9.27 //{_T("gsfj"), InsFeedAccessory, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 给水附件 2003.10.13 //{_T("psfj"), InsDrainAccessory, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 排水附件 2003.10.17 //{_T("bxhs"), InsPlanHydrant, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 布消火栓 2003.10.20 //{_T("zxpt"), SprinklerByLine, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 直线喷头 2003.10.21 //{_T("jxpt"), SprinklerByRect, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 矩形喷头 2003.10.22 //{_T("rypt"), SprinklerByFree, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 任意喷头 2003.10.24 //{_T("xgpt"), ModifySprinkler, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 修改喷头 2003.10.28 {_T("sxkw"), DrawStandPipeBy2Pipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 上下扣弯 2003.10.28 {_T("xggx"), EditPipeCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 修改管线 2003.10.29 {_T("gdfj"), CmdPipeAttachment, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管道附件 2003.10.30 //{_T("bzlg"), StandPipeDimCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 立管标注 2003.10.30 //{_T("cltj"), AmountAllMaterial, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 材料统计 2003.10.31 {_T("gxcx"), SetPipeThickOrThin, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线粗细 2003.11.4 //{_T("ryjj"), InsSanitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 任意洁具 2003.11.6 {_T("gxlj"), Join2Pipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线连接 2003.11.6 //{_T("psxt"), SprinklerSys, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 喷淋系统 2003.11.7 {_T("xtfj"), InsSysAttchment, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 系统附件 2003.11.11 //{_T("xfxt"), HydrantSys, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 消防系统 2003.11.11 //{_T("xgfj"), EditEquipCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 修改附件 2003.11.12 //{_T("hzkt"), PrincipleSys, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 绘展开图 2003.11.13 //{_T("scgx"), ErasePipeCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 删除管线 2003.11.18 {_T("gxwz"), TextOnPipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线文字 2003.11.19 //{_T("bbxx"), AboutTwt, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 版本信息 2003.12.2 //{_T("ptcc"), DimSprinklerLength, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 喷头尺寸 2003.12.5 //{_T("sblg"), EquipLineToPipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 设备连管 2003.12.8 //{_T("pljs"), SprinklerCalc, ACRX_CMD_MODAL }, // 喷淋计算 2003.12.8 //{_T("dgfh"), InsBreakPipeSign, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 断管符号 2003.12.8 //{_T("sbyd"), MoveEquipment, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 设备移动 2003.12.8 {_T("gxzs"), SetPipeUp, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线置上 2003.12.12 {_T("gxzx"), SetPipeDown, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线置下 2003.12.12 //{_T("gljj"), JoinPipe2Sanitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管连洁具 2003.12.19 //{_T("tqm"), DrawAerate, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 通气帽 2003.12.22 //{_T("gggj"), ChangeDnDim, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 更改管径 2004.1.5 {_T("hzdg"), DrawMutiPipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 绘制多管 2004.1.6 //{_T("gfcx"), HelpTwtLaw, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 规范查询 2004.2.2 //{_T("tckz"), TwtLayerManCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 图层控制 2004.2.16 //{_T("ModifySelLayer"),ModifySelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET },// 改变图层 2004.2.17 {_T("gxdj"), FilletPipe, ACRX_CMD_MODAL}, // 管线倒角 2004.2.24 //{_T("xhs"), InsSysHydrant, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 系统消火栓 2004.2.25 //{_T("xtsf"), ScalePipeSys, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 系统缩放 2004.2.25 //{_T("sbsf"), ScaleEquipment, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 设备缩放 2004.3.3 //{_T("ptdw"), SprinklerOrientation, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 喷头定位 2004.3.18 //{_T("djpt"), SprinklerIsometry, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 等距喷头 2004.3.22 上华给排水7 内部测试版 发行 {_T("gxyc"), ExternSysPipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线延长 2004.3.24 {_T("sstf"), Ins34CornerValave, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 三四通阀 2004.3.25 {_T("jf"), InsCornerValave, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 角阀 2004.3.26 //{_T("xtxz"), SelectPipeSys, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW }, // 系统选择 2004.4.5 //{_T("glsc"), FiltreErase, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 过滤删除 2004.4.12 //{_T("cytk"), InsTwtBlock, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 常用图块 2004.5.17 //{_T("zxys"), HelpFlash, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 在线演示 2004.5.19 {_T("gxld"), MovePipes, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 管线联动 2013.08.22 {_T("hsxg"), DrawDoublePipe, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 绘双线管 2004.6.7 {_T("zfm"), BuildValveCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 造阀门 2004.6.11 //{_T("sxfm"), DoubleLineValave, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 双线阀门 2004.6.14 {_T("zfj"), BuildAttchCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 造附件 2004.6.18 //{_T("ptzh"), SprinklerConv, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 喷头转化 2004.7.1 //{_T("zxbz"), HelpTwt, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 在线帮助 2004.7.8 //{_T("gsyl"), PrincipleFeed, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 给水原理 2004.7.22 //{_T("fjfz"), ReversalEquip, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 附件翻转 2004.7.27 //{_T("lgbj"), SetVerPipeRadius, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 立管半径 2004.8.25 //{_T("xgdl"), ModifyNg, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 修改当量 2004.9.6 //{_T("tkjc"), SetBlockWidth, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 图块加粗 2004.9.7 //{_T("zzgs2"), ResidenceFeedCalc, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 住宅给水 2004.9.7 //{_T("jjrk"), SanitaryInLib, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 洁具入库 2004.9.14 //{_T("jjth"), ReplaceSanitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 洁具替换 2004.9.15 //{_T("bhbj"), ShowProtectRadius, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 保护半径 2005.1.19 //{_T("xfjs"), HydrantCalc, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 消防计算 2005.1.31 //{_T("jxjj"), MirrorSantitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 镜像洁具转换2005.3.14 // {_T("SetAllPipeLayOpen"), SetAllPipeLayOpenCmd, ACRX_CMD_TRANSPARENT }, {_T("cyyb"), InsTwtMeter, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 常用仪表 2005.5.25 //{_T("jtzh"), ConverseOldDwg, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 旧图转化 2005.7.25 //{_T("lxhs"), LinkHydrant, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 连消火栓 2005.11.1 //{_T("jxhs"), LinkHydrant, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 接消火栓 2005.11.1 // {_T("jck"), InsCheckCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 检查口 2006.1.20 // {_T("wsyl"), PrincipleDirt, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 污水原理 2006.2.14 // {_T("wsjs"), CalcDirtPipeDn, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 污水计算 2006.2.14 // {_T("jdpt"), SprinklerByInter, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 交点喷头 2006.6.16 // {_T("sxpt"), SprinklerBySector, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 扇形喷头 2006.6.16 // {_T("zylj"), FindLongPath, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW }, //最远路径 2006.6.23 // {_T("sxxt"), Plan2SysWaterTank, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 水箱系统 2006.10.26 // {_T("gjgs"), PrinciplePubFeed, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 公建给水 2006.11.30 // {_T("hxpt"), SprinklerByArc, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 弧线喷头 2007.3.21 移入twt_anotate cet 2012.2.29 //{_T("xzgx"), SelVPipeCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW }, //选择管线 2007.11.23 //{_T("gxhs"), EditHydrantCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 改消火栓 2007.11.23 {_T("yxhg"), CmdPipeByLine, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 沿线绘管 2008.1.28 {_T("bggc"), ChangePipeMatCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW }, //变更管材 2008.6.23 //{_T("pddg"), CalcEleByGradient, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 坡度定高 2008.9.2 //{_T("glcx"), ModifyFloorLine, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 改楼层线 2008.12.16 //{_T("skxt"), SetViewPortPipeSysCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //视口系统 2009.4.24 //{_T("gygs"), PrincipleIndustryFeed, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //工业给水 2009.9.25 //{_T("jcd"), InsHole, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //基础洞 2009.10.09 //{_T("lbd"), InsFloorHole, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //楼板洞 2009.10.23 //{_T("ydlbd"), MoveFlooorHole, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //移动楼板洞 2009.10.28 //{_T("psdj"), DrainChamfer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //排水倒角 2010.5.25 {_T("pgjs"), CalcGradientEle, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //坡高计算 2010.9.25 cet {_T("tgcr"), InsertBushing, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //套管插入 2011.02.15 cet //{_T("dyjj"), NewDefineSanitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //新定义洁具 2011.11.08 zxl //{_T("kljj"), AutoPipeLinkSanitary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, //新管连洁具 2012.3.30 add //{_T("ctlb"), FindAndInsteadVPipeDim, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, //查替立编 2012.08.28 add //{_T("bmhq"), LayFireExtinguisher, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //布置灭火器 2013.1.25 add //{_T("lxhs"), LinkHydrantNew, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //连消火栓 2013.03.04 add {_T("gxsj"), PipeWireUpDown, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //管线升降 2013.11.21 add //{_T("gmhq"), FireExtinguisherEditCmd, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //修改灭火器 2014.02.12 add {_T("gxzd"), HidePipeByEquipment, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //管线遮挡 2014.04.01 add {_T("xxk"), LineTypeLibCmd, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 线型库 {_T("xxgl"), LineTypeMan, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 线型库 {_T("tztj"), TgDwgLibEx, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //上华图集 2007.6.19 {_T("yxzj"), SetSnapAngByLineCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //上华图集 2007.6.19 {_T("gcgg"), SetPipeMatSpec, ACRX_CMD_MODAL}, // 管材规格 2004.2.9 {_T("swsl"), OutDrainCalc, ACRX_CMD_MODAL}, // 室外水力 2004.6.23 {_T("tzsz"), tzsz, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, // 设置 }; void OnLoadApp() { for (int i = 0; i < ELEMENTS(g_acedCmdTable); i++) { acedRegCmds->addCommand(_T("SHWF_CMD"), g_acedCmdTable[i].szCmdGlobal, g_acedCmdTable[i].szCmdGlobal, g_acedCmdTable[i].nCmdFlag, g_acedCmdTable[i].pFun); } g_pOldEditPipe = TDbPipe::SetEditMethod(EditPipe); g_pOldEditEquip = TDbEquipment::SetEditMethod(EditEquipment); g_pOldEditDoublePipe = TDbDoubleLinePipe::SetEditMethod(EditDoublePipe); // g_pOldEditVerticalSection=TDbVerticalSection::SetEditMethod(EditVerticalSection); 移入twt_outdoor cet 2012.3.13 // g_pOldEditVerticalSectionFeed=TDbVerticalSectionFeed::SetEditMethod(EditVerticalSectionFeed); 移入twt_outdoor cet 2012.3.13 g_pOldEditValve = TDbPipeValve::SetEditMethod(EditValve); g_pOldEditDoublePipeNode = TDbFlangeFitting::SetEditMethod(EditDoublePipeNode); g_pOldEditFireExtinguisher = TDbFireExtinguisher::SetEditMethod(EditFireExtinguisher); // g_pOldEditMutiPipeDim=TDbPipeMultDim::SetEditMethod(EditMutiPipeDim); // g_pOldEditVPipeDim = TDbVPipeDim::SetEditMethod(EditVPipeDim); acedRegisterExtendedTab(_T("twt_kernal.ARX"), _T("OptionsDialog")); //InitGroupIdConfig(TRUE); } void OnUnloadApp() { DestroyTwtLayerManBar(); acedRegCmds->removeGroup(_T("SHWF_CMD")); TDbPipe::SetEditMethod(g_pOldEditPipe); TDbEquipment::SetEditMethod(g_pOldEditEquip); TDbDoubleLinePipe::SetEditMethod(g_pOldEditDoublePipe); // TDbVerticalSection::SetEditMethod(g_pOldEditVerticalSection); // TDbVerticalSectionFeed::SetEditMethod(g_pOldEditVerticalSectionFeed); TDbPipeValve::SetEditMethod(g_pOldEditValve); TDbFlangeFitting::SetEditMethod(g_pOldEditDoublePipeNode); TDbFireExtinguisher::SetEditMethod(g_pOldEditFireExtinguisher); //InitGroupIdConfig(FALSE); // TDbPipeMultDim::SetEditMethod(g_pOldEditMutiPipeDim); // TDbVPipeDim::SetEditMethod(g_pOldEditVPipeDim); } int OnDwgUnload() { //TValveReactor::Detach(); return RTNORM; } int OnDwgLoaded() { // xg_setvar(_T("CMDECHO"), 0); if(g_nProductId != 14) return RTNORM; int iMode; xg_getvar(_T("PDMODE"), &iMode); if(iMode != 0) xg_setvar(_T("PDMODE"), 0); TDbPsConfig *pConfig = GetDwgPsGlobal(AcDb::kForRead); if (pConfig){ g_bIsPipeThick = pConfig->IsLineWeight(); g_nBreakPipeWidth = pConfig->GetBreakWidth(); g_nPipeTextBreak = pConfig->GetPipeTextDis(); g_iElbowType = pConfig->GetElbowType(); pConfig->close(); } return RTNORM; } ////////////////////////////////////////////////////////////// // // Entry point // ////////////////////////////////////////////////////////////// extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) { switch (msg) { case AcRx::kInitAppMsg: acrxUnlockApplication(pkt); acrxDynamicLinker->registerAppMDIAware(pkt); OnLoadApp(); break; case AcRx::kLoadDwgMsg: OnDwgLoaded(); break; case AcRx::kInvkSubrMsg: break; case AcRx::kSaveMsg: break; case AcRx::kUnloadDwgMsg: //Bug no message coming OnDwgUnload(); break; case AcRx::kInitDialogMsg: //AddInitSetDlg((CAdUiTabExtensionManager*)pkt); break; case AcRx::kUnloadAppMsg: OnUnloadApp(); break; } return AcRx::kRetOK; } void tzsz() { CTemporaryResourceOverride vTemp; CTgTwtSettingDlg dlg; dlg.DoModal(); } void AddInitSetDlg(CAdUiTabExtensionManager* pXtabManager) { // if(g_nProductId != 14) // return; // ASSERT(g_pInitSetDlg==NULL); // CTemporaryResourceOverride vTemp; // g_pInitSetDlg = new CTgTwtSettingDlg; // BOOL suc = pXtabManager->AddTab(_hdllInstance, IDD_TG_TWT_SETTING, // _T("上华设置"), g_pInitSetDlg); //if(!suc) // Callme(); }