523 lines
24 KiB
C++
523 lines
24 KiB
C++
|
|
#include "stdafx.h"
|
|
|
|
#include <PipeTools.h>
|
|
#include <DbWell.h>
|
|
#include <DbDoubleLinePipe.h>
|
|
#include <DbVerticalSection.h>
|
|
#include <DbVerticalSectionFeed.h>
|
|
#include <DbPipeValve.h>
|
|
#include <DbFlangeFitting.h>
|
|
#include <TDbPipeMultDim.h>
|
|
#include <DbVPipeDim.h>
|
|
#include <DbFireExtinguisher.h>
|
|
#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();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|