#include "stdafx.h" #include "tapi.h" #include "teldef.h" #include "twtdef.h" #include #include #include "DbMTextNew.h" extern int CALLBACK EnumFontFamExProc2(ENUMLOGFONTEX *lplf, NEWTEXTMETRICEX *lpntme, int FontType, LONG lParam); //********************************************************************************************************** // 全局变量 //********************************************************************************************************** double g_nInsBlkRotate = 0; int g_iToolbarPos = 1; BOOL g_bToolbar = TRUE; BOOL g_bTgOsnap = TRUE; extern TARCH_IMPEXP int g_bDownloadT3Split; // cet 2012.8.17 add 转T3上华文字中英文打断 CString g_csDwbPath, g_csSysPath, g_csInsBlkName; CString g_csLineTypeStyle = _T("TG_LINETYPE"); CString g_csLineTypeChnShx = _T("HZTXT"); CString g_csLineTypeEngShx = _T("SIMPLEX"); double g_dLineTypeHeight = 3; double g_dLineTypeScale = 0.8; double g_nDimHeight = 3.5, g_nScaleDim = 0.8; //********************************************************************************************************** // 电气全局变量 //********************************************************************************************************** // #define MAX_LENGTH 37 //导线设置的数据总数 double g_dBusLineWidth = 2.0, g_dSysLineWidth = 0.35; double g_dBlkThickWidth = 0.20,g_dChamAngle = 100; double g_nEqBlkLength=500, g_nEq2WallDist=0, g_nPointDia=2.0, g_nTerminalDia=2.0, g_nWireDimScale =1, g_nWireNumHeight = 3.5; double g_dWireWidthLighting = 2.0,g_dWireWidthGround = 2.0; int g_iLastBlkMaxNum = 6, g_iWireBreak = 225, g_iWireTextType = 0, g_iWireNumType = 1, g_iPlanWireIndex = 0, g_iGourdWireLineType = 1, g_iLightingWireLineType = 1; BOOL g_bJoin2Wire = FALSE, g_bAskInsBlk = FALSE, g_bThickEquip = FALSE, g_bWireAskInfo = FALSE, g_bDimWireSimple = FALSE, g_bCloseLnGrid = FALSE, g_bDrawWireDiv = FALSE, g_bRotateAttrib = FALSE; BOOL g_bLineTypeByLayer = FALSE; BOOL g_bIsChamAngle = FALSE; //是否倒角 BOOL g_bNeedUser[33] = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, }; CString g_csTextAttr = _T("_TEL_ATTDEF"); //块属性字 CString g_csTelFontStyle = _T("_TEL_DIM"); //电气标注样式 引出标注使用 CString g_csBlkAttrTypeChnShx = _T("GBCBIG"); //块属性字中文字体 CString g_csBlkAttrTypeEngShx = _T("GBENOR"); //块属性字英文字体 CString g_csDimStyle = _T("_TEL_DIM"); CString g_csDimChnShx = _T("HZTXT"); CString g_csDimEngShx = _T("SIMPLEX"); // //保存值时只需将值保存在对应的全局变量中,在程序退出时统一保存到注册表中 //索引 英文图层 图层 // 0: LAY_WIRE_ILLUME 照明 g_bNeedUser(是否激活) 索引 值 // 1: LAY_WIRE_POWER 动力 0 WIRE-消防电话 // 2: LAY_WIRE_FIRE 消防 1 WIRE-消防广播 // 3: LAY_WIRE_WEAK 弱电-通讯 2 WIRE-消防控制 // 4: LAY_WIRE_EMERG 照明-应急 3 WIRE-消防电源 // 5: LAY_WIRE_TEL 消防-电话 4 WIRE-电视 // 6: LAY_WIRE_BROAD 消防-广播 5 WIRE-消防信号 // 7: LAY_WIRE_CTRL 消防-控制 6 WIRE-动力控制 // 8: LAY_WIRE_SOURCE 消防-电源 7 WIRE-动力母线 // 9: LAY_WIRE_USER1 弱电-电视 8 WIRE-网络 // 10: LAY_WIRE_USER2 弱电-网络 9 WIRE-信号 // 11: LAY_WIRE_USER3 动力-控制 10 WIRE-安防 // 12: LAY_WIRE_USER4 动力-母线 11 WIRE-广播 // 13: LAY_WIRE_USER5 弱电-信号 12 WIRE-控制 // 14: LAY_WIRE_USER6 弱电-安防 13 WIRE-电话 // 15: LAY_WIRE_USER7 弱电-广播 14 WIRE-综合布线 // 16: LAY_WIRE_USER8 消防-信号 15 普通照明 // 17: LAY_WIRE_SOCKET 插座 16 应急照明 // 18: LAY_WIRE_USER9 弱电-控制 17 动力 // 19: LAY_WIRE_USER10 弱电-电话 18 插座 // 20: LAY_WIRE_USER11 弱电-综合布线 19 通讯 // 21: LAY_WIRE_OPTICAL_CABLE 光缆 20 WIRE-弱电其他 // 22: LAY_WIRE_THUNDER 避雷线 21 WIRE-视频 // 23: LAY_WIRE_GROUND 接地线 22 WIRE-会议 // 24: LAY_WIRE_USER15 弱电其他 23 WIRE-卫星电视 // 25: LAY_WIRE_USER13 视频 24 消防 // 26: LAY_WIRE_USER12 会议 25 WIRE-消防报警 // 27: LAY_WIRE_USER14 卫星电视 26 WIRE-消防联动 // 28: LAY_WIRE_USER16 消防报警 27 WIRE-消防信号3 // 29: LAY_WIRE_USER17 消防联动 28 WIRE-消防信号4 // 30: LAY_WIRE_USER18 消防信号3 29 WIRE-消防信号5 // 31: LAY_WIRE_USER19 消防信号4 30 WIRE-消防手控 // 32: LAY_WIRE_USER20 消防信号5 31 WIRE-消防气体 // 33: LAY_WIRE_USER21 消防手控 32 WIRE-消防火灾 // 34: LAY_WIRE_USER22 消防气体 // 35: LAY_WIRE_USER23 消防火灾 // 36: LAY_WIRE_USER24 备用 CString g_csUserName[15] = { _T("消防电话"), _T("消防广播"), _T("消防控制"), _T("消防电源") , _T("电视"), _T("网络"), _T("动力控制"), _T("动力母线") , _T("信号"), _T("安防"), _T("广播"), _T("启泵")}; CString g_csLineType[MAX_LENGTH] = { _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS") , _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS") , _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS") , _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS") , _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS") , _T("CONTINUOUS"), _T("CONTINUOUS"), _T("TG_LP"), _T("TG_E") , _T("CONTINUOUS"), _T("TG_V"), _T("CONTINUOUS"), _T("TG_TV") , _T("TG_S1"), _T("TG_S2"), _T("TG_S3"), _T("TG_S4") , _T("TG_S5"), _T("TG_C"), _T("CONTINUOUS"), _T("CONTINUOUS") ,_T("CONTINUOUS"),}; double g_nWireWidth[MAX_LENGTH] = { 0.35, 0.25, 0.35, 0.5, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.5, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, };//导线线宽 CString g_csWireLoop[MAX_LENGTH] = {_T("WL1"), _T("WP1"), _T("XF1"), _T("WP1"), _T("WP1"), _T("XF1"), _T("XF1"), _T("XF1"),_T("XF1"), _T("TP1"), _T("TP1"), _T("TP1"), _T("WP1"), _T("TP1"), _T("WP1"), _T("TP1"), _T("WP1"), _T("WP1"), _T("TP1"), _T("TP1"), _T("TP1"), _T("GW1"), _T(""), _T(""), _T("TP1"), _T("TP1"), _T("TP1"), _T("TP1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("XF1"), _T("WL1"),}; //回路编号 CString g_csWireDimType[MAX_LENGTH] = {_T("BV"), _T("YJV"), _T("BV"), _T("YJV"), _T("BV"), _T("BV"), _T("BV"), _T("BV"), _T("BV"), _T("SYWV-75"), _T("UTP6"), _T("BV"),//mod liaoy 171010 UTB6->UTP6 _T("BV"), _T("RVS"),_T("SYWV-75"), _T("BV"), _T("RVS"), _T("BV"), _T("KVV"), _T("RVS"), _T("UTP6"), _T("GJXV"),//mod liaoy 171010 UTB6->UTP6 _T("热镀锌圆钢"),_T("热镀锌扁钢"), _T("BV"), _T("BV"), _T("BV"), _T("BV"), _T("BV"), _T("BV"), _T("RVS"), _T("RVS"), _T("RVS"), _T("RVS"), _T("RVS"), _T("RVS"), _T("BV"),}; //导线型号 CString g_csWireDimArea[MAX_LENGTH] = {_T("3x2.5"), _T("4x16"), _T("2x2.5"), _T("2x2.5"), _T("3x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("5C"), _T(""), _T("3x2.5"), _T("3x2.5"), _T("2x1.5"), _T("5"),_T("2x2.5"),_T("2x1.5"), _T("3x2.5"), _T("4x2.5"), _T("2x0.5"), _T(""), _T("1B6a") ,_T("Φ10"), _T("40*4"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x2.5"), _T("2x1.5"), _T("2x1.5"), _T("2x1.5"), _T("2x1.5"), _T("2x1.5"), _T("2x1.5"), _T("2x2.5"),};//导线规格 CString g_csWireDimMode[MAX_LENGTH] = {_T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"),_T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"),_T(""), _T(""), _T(""), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"), _T("SC"),}; //配线方式 CString g_csWireDimPlace[MAX_LENGTH] = {_T("FC"), _T("CC"), _T("WC"), _T("FC"), _T("FC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("FC"), _T("FC"), _T("WC"), _T("WC"), _T("FC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("SC"),_T("FC"), _T(""), _T(""), _T(""), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"), _T("WC"),}; //敷设部位 CString g_csWireDimRadius[MAX_LENGTH] = {_T("15"), _T("25"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"),_T("15"), _T("15"), _T("15"), _T("15"),_T("15"), _T("20"), _T("15"), _T("20"),_T("15"),_T("15"), _T(""), _T(""), _T(""), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("15"), _T("20"), _T("20"), _T("20"), _T("20"), _T("20"), _T("20")_T("15"),}; //穿管直径 CString g_csWireLineNum[MAX_LENGTH] = { _T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""), _T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""), _T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""), _T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""),_T(""), _T(""),_T(""),_T(""),_T(""),_T(""),}; int g_iWireDimNorm[MAX_LENGTH] = {0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 , 0, 1, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,1,1,1,1,1,1,1,1,0, };//普通、阻燃、耐火 // //********************************************************************************************************** // 给排水全局变量 //********************************************************************************************************** double g_nSprinklerRadius = 125, g_nDrainPtRadius = 25, g_nDoubleDist = -1, g_nValveScale=1.2, g_nStandPipe2Wall = 100, g_nBreakPipeWidth = 2, g_nPipeTextBreak = 0.5, g_nDnDimDist2Pipe = 2, g_nWellRadius = 8, g_nDimCirDiam = 4, g_nFeedCircleScale = 1, g_nCurPipeWidth = 0.8, g_nElbowRate = 1, g_dDbPipeLineWidth = 0.35; int g_iDefaultPipeDn = 25, g_iElbowType = 0, g_iVPipeDimStyle = 0, g_iSprinklerDistMod = 50, g_nSinataryDataType = 0; int g_iDimPipeLinePos = 0;// 管底标注和井底标注位置 0:井中心1:井与管线的交点处 int g_iDimPipeBaseLineAng = 0;// 管底标注基线角度 0:随支管角度 1:水平角度 BOOL g_bIsElevDimChangeByPipeElev = true;// 单注标高是否随管线标高联动 double g_dVPipeDimDn2Label = 3; int g_iDimPipeGradientType = 0, g_iDimShortPipeGradientType = 0, g_iDimPipeLen = 5; //室外管线标注样式 int g_iDimWellNamePos = 0, g_iDimWellNameAngle = 0; //井编号距井上下位置 double g_dDimWellNameDist = 2.0; //井编号距离 int g_iDimWellEleType = 1, g_iDimWellEleLeadAngle = 0;//管底标注样式 int g_nAlignTypeForVPipeDim4 = 2; // 立管标注样式4中管径的对齐方式 cet 2012-4-19 int g_nAlignTypeForWellDim = 0; // 井标注对齐方式 0:居中 1:端对齐 double g_dWellDimText2Base = 1.0; // 井标注(管底标注)文字距线距离 CString g_csVerticalSectionHead = _T("井编号 设计地面标高(m) 埋设深度(m) 覆土厚度(m) 管标高(m) 管道长度(m) 管径(mm) 管道坡度 备注"); CString g_csVerticalSectionHeadFeed = _T("井编号 设计地面标高(m) 覆土厚度(m) 管标高(m) 管道长度(m) 管径(mm) 备注"); //室外标注设置 // 管线坡度标注样式 int g_nDimPipeGradientType = 1; // 短管坡度标注样式 int g_nDimShortPipeGradientType = 0; // 管线管径标注样式 int g_nDimPipeDnType = 1; // 短线管径标注样式 int g_nDimShortPipeDnType = 1; // 管线管长标注样式 //int g_nDimPipeLenType = 5; // 短线管长标注样式 int g_nDimShortPipeLenType = 0; // 管线标注分隔符样式 int g_nDimPipeLabelType = 0; // 短线标注分隔符样式 int g_nDimShortPipeLabelType = 0; // 管线标注排列方式 int g_nDimPipeDrawType = 0; // 1: LAY_PIPE_FEED 给水 J // 2: LAY_PIPE_HEADFEED 热给水 RJ // 3: LAY_PIPE_HEADBACK 热回水 RH // 4: LAY_PIPE_DIRT 污水 W // 5: LAY_PIPE_USELESS 废水 F // 6: LAY_PIPE_RAIN 雨水 Y // 7: LAY_PIPE_USED 中水 Z // 8: LAY_PIPE_FIRE 消防 X // 9: LAY_PIPE_SPRINKLE 自喷 ZP // 10: LAY_PIPE_COAGULATE 凝结 N // 11: LAY_PIPE_DRINK 直饮 ZY // 12: LAY_PIPE_PRESSDIRT 压力污 YW // 13: LAY_PIPE_PRESSUSELESS 压力废 YF // 14: LAY_PIPE_PRESSRAIN 压力雨 YY // 15: LAY_PIPE_OTHER 其它 T // 16: LAY_PIPE_USER1 市政给水 SJ // 17: LAY_PIPE_USER2 循环给水 XJ // 18: LAY_PIPE_FEED2 给水中区 J // 19: LAY_PIPE_FEED3 给水高区 J // 20: LAY_PIPE_HEADFEED2 热给水中区 RJ // 21: LAY_PIPE_HEADFEED3 热给水高区 RJ // 22: LAY_PIPE_HEADBACK2 热回水中区 RH // 23: LAY_PIPE_HEADBACK3 热回水高区 RH // 24: LAY_PIPE_FIRE2 消防中区 X // 25: LAY_PIPE_FIRE3 消防高区 X // 26: LAY_PIPE_SPRINKLE2 自喷中区 ZP // 27: LAY_PIPE_SPRINKLE3 自喷高区 ZP // 28: LAY_PIPE_USED2 中水中区 Z // 29: LAY_PIPE_USED3 中水高区 Z // 30: LAY_PIPE_USER3 冷却 XH // 31: LAY_PIPE_USER4 气体灭火 MH // 32: LAY_PIPE_USER5 蒸汽 Z // 33: LAY_PIPE_USER6 雨淋 YL // 34: LAY_PIPE_USER7 通气 T // 35: LAY_PIPE_USER8 水景 SJ double g_nPipeWidth[35] = { 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35}; CString g_csPipeDim[35] = { _T("J"), _T("RJ"), _T("RH"), _T("W"), _T("F"), _T("Y"), _T("Z"), _T("X"), _T("ZP"), _T("N"), _T("ZY"), _T("YW"), _T("YF"), _T("YY"), _T("T"), _T("SJ"), _T("XJ"), _T("J"), _T("J"), _T("RJ"), _T("RJ"), _T("RH"), _T("RH"), _T("X"), _T("X"), _T("ZP"), _T("ZP"), _T("Z"), _T("Z"), _T("XH"), _T("MH"), _T("Z"), _T("YL"), _T("T"), _T("SJ")}; int g_iPipeMaterial[35] = { 7, 7, 7, 10, 2, 2, 7, 0, 0, 0, 11, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 7}; BOOL g_bPipeDouble[35] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; double g_nPipeRadius[35] = { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5,0.5, 0.5, 0.5, 0.5, 0.5, 0.5}; CString g_csPipeName[7] = {_T("凝结"), _T("直饮"), _T("压力污"), _T("压力废"), _T("压力雨"),_T("市政给"), _T("循环给"),}; CString g_csTwtLineType[35] = {_T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS"), _T("CONTINUOUS")}; BOOL g_bIsPipeThick = FALSE, g_bEquipByScale = TRUE, g_bBlk3D = TRUE, g_bIsPipeCanalThick = FALSE; BOOL g_bIsPipeDimCir = FALSE, g_bIsFeedPoint = FALSE, g_bStandPipeArc = TRUE, g_bDimWellOnlyEle = FALSE; //标注文字样式 CString g_csPipeDnStyle = _T("_TWT_PIPEDN"); CString g_csVPipeStyle = _T("_TWT_SERIAL"); CString g_csPipeTextStyle = _T("_TWT_PIPETEXT"); CString g_csCircleTextStyle = _T("_TWT_CIRCLE"); CString g_csSanTextStyle = _T("_TWT_SANITARY"); CString g_csDimWellStyle = _T("_TWT_WELL"); CString g_csSheetStyle = _T("_TWT_SHEET"); CString g_csTwtDimStyle = _T("_TWT_DIM"); CString g_csEleDimStyle = _T("_TWT_DIM_ELE"); //2012-7-2 陈恩涛add CString g_csPipeDnChn = _T("HZTXT"); CString g_csPipeDnEng = _T("SIMPLEX"); CString g_csVPipeChn = _T("HZTXT"); CString g_csVPipeEng = _T("COMPLEX"); CString g_csPipeTextChn = _T("HZTXT"); CString g_csPipeTextEng = _T("SIMPLEX"); CString g_csCircleTextChn = _T("HZTXT"); CString g_csCircleTextEng = _T("COMPLEX"); CString g_csSanTextChn = _T("宋体"); CString g_csSanTextEng = _T(""); CString g_csDimWellChn = _T("HZTXT"); CString g_csDimWellEng = _T("SIMPLEX"); CString g_csSheetChn = _T("HZTXT"); CString g_csSheetEng = _T("SIMPLEX"); CString g_csDimChn = _T("HZTXT"); CString g_csDimEng = _T("SIMPLEX"); CString g_csEleDimChn = _T("HZTXT"); /// CString g_csEleDimEng = _T("SIMPLEX"); /// double g_nPipeDnHeight = 3.5; double g_nPipeDnScale = 0.8; double g_nVPipeHeight = 3.5; double g_nVPipeScale = 0.8; double g_nPipeTextHeight = 3.5; double g_nPipeTextScale = 0.8; double g_nCircleTextHeight = 3.5; double g_nCircleTextScale = 1.1; double g_nSanTextHeight = 3.5; double g_nSanTextScale = 0.8; double g_nDimWellHeight = 3.5; double g_nDimWellScale = 0.8; double g_nSheetHeight = 3.5; double g_nSheetScale = 0.8; double g_nTwtDimHeight = 3.5; double g_nDimScale = 0.8; double g_nEleDimHeight = 3.5; //// double g_nEleDimScale = 0.8; //// //extern void ReadVPipeDimDnShow(); cet 2016.5.19 del //********************************************************************************************************** // 文件中读取线型 BOOL ReadTwtLineType() { XString fullFile; int nCount = 0; CString csLayer[] = {LAY_PIPE_FEED, LAY_PIPE_HEADFEED, LAY_PIPE_HEADBACK, LAY_PIPE_DIRT, LAY_PIPE_USELESS, LAY_PIPE_RAIN, LAY_PIPE_USED, LAY_PIPE_FIRE, LAY_PIPE_SPRINKLE, LAY_PIPE_COAGULATE, LAY_PIPE_DRINK, LAY_PIPE_PRESSDIRT, LAY_PIPE_PRESSUSELESS, LAY_PIPE_PRESSRAIN, LAY_PIPE_OTHER, LAY_PIPE_USER1, LAY_PIPE_USER2, LAY_PIPE_FEED2, LAY_PIPE_FEED3, LAY_PIPE_HEADFEED2, LAY_PIPE_HEADFEED3, LAY_PIPE_HEADBACK2, LAY_PIPE_HEADBACK3, LAY_PIPE_FIRE2, LAY_PIPE_FIRE3, LAY_PIPE_SPRINKLE2, LAY_PIPE_SPRINKLE3, LAY_PIPE_USED2, LAY_PIPE_USED3, LAY_PIPE_USER3, LAY_PIPE_USER4, LAY_PIPE_USER5, LAY_PIPE_USER6, LAY_PIPE_USER7, LAY_PIPE_USER8 }; if(FindFile(_T("LAYERDEF.DAT"), fullFile)) { FILE *fp=fopen(_AS(fullFile), "r"); if(!fp) return FALSE; while(!feof(fp)) { char sBuf[256]=""; TCHAR eName[256]=_T(""),sLineType[256]=_T(""); fgets(sBuf, 255, fp); if(sBuf[0]) { CT_strnth(TString(sBuf), 2, eName); CT_strnth(TString(sBuf), 4, sLineType); } if (_tcscmp(sLineType,_T("")) == 0) { _tcscpy(sLineType,_T("Continuous")); } for (int i = 0;i < 35;++i) { if (_tcscmp(eName,csLayer[i]) == 0) { g_csTwtLineType[i] = sLineType; nCount++; } } if(nCount == 35) { break; } } fclose(fp); } else return FALSE; return TRUE; } void ReadTwtSettingData() { CRegProperty regProp(GetRegLocation(), _T("TWTConfig")); regProp.SetTopRootKey(HKEY_CURRENT_USER); regProp.GetValue(_T("IsLineTypeByLayer"), g_bLineTypeByLayer); regProp.GetValue(_T("LineTypeChnShx"), g_csLineTypeChnShx); regProp.GetValue(_T("LineTypeEngShx"), g_csLineTypeEngShx); regProp.GetValue(_T("LineTypeHeight"), g_dLineTypeHeight); regProp.GetValue(_T("LineTypeScale"), g_dLineTypeScale); regProp.GetValue(_T("Pipe1Width"), g_nPipeWidth[0]); regProp.GetValue(_T("Pipe2Width"), g_nPipeWidth[1]); regProp.GetValue(_T("Pipe3Width"), g_nPipeWidth[2]); regProp.GetValue(_T("Pipe4Width"), g_nPipeWidth[3]); regProp.GetValue(_T("Pipe5Width"), g_nPipeWidth[4]); regProp.GetValue(_T("Pipe6Width"), g_nPipeWidth[5]); regProp.GetValue(_T("Pipe7Width"), g_nPipeWidth[6]); regProp.GetValue(_T("Pipe8Width"), g_nPipeWidth[7]); regProp.GetValue(_T("Pipe9Width"), g_nPipeWidth[8]); regProp.GetValue(_T("Pipe10Width"), g_nPipeWidth[9]); regProp.GetValue(_T("Pipe11Width"), g_nPipeWidth[10]); regProp.GetValue(_T("Pipe12Width"), g_nPipeWidth[11]); regProp.GetValue(_T("Pipe13Width"), g_nPipeWidth[12]); regProp.GetValue(_T("Pipe14Width"), g_nPipeWidth[13]); regProp.GetValue(_T("Pipe15Width"), g_nPipeWidth[14]); regProp.GetValue(_T("Pipe16Width"), g_nPipeWidth[15]); regProp.GetValue(_T("Pipe17Width"), g_nPipeWidth[16]); regProp.GetValue(_T("Pipe18Width"), g_nPipeWidth[17]); regProp.GetValue(_T("Pipe19Width"), g_nPipeWidth[18]); regProp.GetValue(_T("Pipe20Width"), g_nPipeWidth[19]); regProp.GetValue(_T("Pipe21Width"), g_nPipeWidth[20]); regProp.GetValue(_T("Pipe22Width"), g_nPipeWidth[21]); regProp.GetValue(_T("Pipe23Width"), g_nPipeWidth[22]); regProp.GetValue(_T("Pipe24Width"), g_nPipeWidth[23]); regProp.GetValue(_T("Pipe25Width"), g_nPipeWidth[24]); regProp.GetValue(_T("Pipe26Width"), g_nPipeWidth[25]); regProp.GetValue(_T("Pipe27Width"), g_nPipeWidth[26]); regProp.GetValue(_T("Pipe28Width"), g_nPipeWidth[27]); regProp.GetValue(_T("Pipe29Width"), g_nPipeWidth[28]); regProp.GetValue(_T("Pipe30Width"), g_nPipeWidth[29]); regProp.GetValue(_T("Pipe31Width"), g_nPipeWidth[30]); regProp.GetValue(_T("Pipe32Width"), g_nPipeWidth[31]); regProp.GetValue(_T("Pipe33Width"), g_nPipeWidth[32]); regProp.GetValue(_T("Pipe34Width"), g_nPipeWidth[33]); regProp.GetValue(_T("Pipe35Width"), g_nPipeWidth[34]); regProp.GetValue(_T("Pipe1Radius"), g_nPipeRadius[0]); regProp.GetValue(_T("Pipe2Radius"), g_nPipeRadius[1]); regProp.GetValue(_T("Pipe3Radius"), g_nPipeRadius[2]); regProp.GetValue(_T("Pipe4Radius"), g_nPipeRadius[3]); regProp.GetValue(_T("Pipe5Radius"), g_nPipeRadius[4]); regProp.GetValue(_T("Pipe6Radius"), g_nPipeRadius[5]); regProp.GetValue(_T("Pipe7Radius"), g_nPipeRadius[6]); regProp.GetValue(_T("Pipe8Radius"), g_nPipeRadius[7]); regProp.GetValue(_T("Pipe9Radius"), g_nPipeRadius[8]); regProp.GetValue(_T("Pipe10Radius"), g_nPipeRadius[9]); regProp.GetValue(_T("Pipe11Radius"), g_nPipeRadius[10]); regProp.GetValue(_T("Pipe12Radius"), g_nPipeRadius[11]); regProp.GetValue(_T("Pipe13Radius"), g_nPipeRadius[12]); regProp.GetValue(_T("Pipe14Radius"), g_nPipeRadius[13]); regProp.GetValue(_T("Pipe15Radius"), g_nPipeRadius[14]); regProp.GetValue(_T("Pipe16Radius"), g_nPipeRadius[15]); regProp.GetValue(_T("Pipe17Radius"), g_nPipeRadius[16]); regProp.GetValue(_T("Pipe18Radius"), g_nPipeRadius[17]); regProp.GetValue(_T("Pipe19Radius"), g_nPipeRadius[18]); regProp.GetValue(_T("Pipe20Radius"), g_nPipeRadius[19]); regProp.GetValue(_T("Pipe21Radius"), g_nPipeRadius[20]); regProp.GetValue(_T("Pipe22Radius"), g_nPipeRadius[21]); regProp.GetValue(_T("Pipe23Radius"), g_nPipeRadius[22]); regProp.GetValue(_T("Pipe24Radius"), g_nPipeRadius[23]); regProp.GetValue(_T("Pipe25Radius"), g_nPipeRadius[24]); regProp.GetValue(_T("Pipe26Radius"), g_nPipeRadius[25]); regProp.GetValue(_T("Pipe27Radius"), g_nPipeRadius[26]); regProp.GetValue(_T("Pipe28Radius"), g_nPipeRadius[27]); regProp.GetValue(_T("Pipe29Radius"), g_nPipeRadius[28]); regProp.GetValue(_T("Pipe30Radius"), g_nPipeRadius[29]); regProp.GetValue(_T("Pipe31Radius"), g_nPipeRadius[30]); regProp.GetValue(_T("Pipe32Radius"), g_nPipeRadius[31]); regProp.GetValue(_T("Pipe33Radius"), g_nPipeRadius[32]); regProp.GetValue(_T("Pipe34Radius"), g_nPipeRadius[33]); regProp.GetValue(_T("Pipe35Radius"), g_nPipeRadius[34]); /* regProp.GetValue(_T("PipeLineType1"), g_csTwtLineType[0]); regProp.GetValue(_T("PipeLineType2"), g_csTwtLineType[1]); regProp.GetValue(_T("PipeLineType3"), g_csTwtLineType[2]); regProp.GetValue(_T("PipeLineType4"), g_csTwtLineType[3]); regProp.GetValue(_T("PipeLineType5"), g_csTwtLineType[4]); regProp.GetValue(_T("PipeLineType6"), g_csTwtLineType[5]); regProp.GetValue(_T("PipeLineType7"), g_csTwtLineType[6]); regProp.GetValue(_T("PipeLineType8"), g_csTwtLineType[7]); regProp.GetValue(_T("PipeLineType9"), g_csTwtLineType[8]); regProp.GetValue(_T("PipeLineType10"), g_csTwtLineType[9]); regProp.GetValue(_T("PipeLineType11"), g_csTwtLineType[10]); regProp.GetValue(_T("PipeLineType12"), g_csTwtLineType[11]); regProp.GetValue(_T("PipeLineType13"), g_csTwtLineType[12]); regProp.GetValue(_T("PipeLineType14"), g_csTwtLineType[13]); regProp.GetValue(_T("PipeLineType15"), g_csTwtLineType[14]); regProp.GetValue(_T("PipeLineType16"), g_csTwtLineType[15]); regProp.GetValue(_T("PipeLineType17"), g_csTwtLineType[16]); regProp.GetValue(_T("PipeLineType18"), g_csTwtLineType[17]); regProp.GetValue(_T("PipeLineType19"), g_csTwtLineType[18]); regProp.GetValue(_T("PipeLineType20"), g_csTwtLineType[19]); regProp.GetValue(_T("PipeLineType21"), g_csTwtLineType[20]); regProp.GetValue(_T("PipeLineType22"), g_csTwtLineType[21]); regProp.GetValue(_T("PipeLineType23"), g_csTwtLineType[22]); regProp.GetValue(_T("PipeLineType24"), g_csTwtLineType[23]); regProp.GetValue(_T("PipeLineType25"), g_csTwtLineType[24]); regProp.GetValue(_T("PipeLineType26"), g_csTwtLineType[25]); regProp.GetValue(_T("PipeLineType27"), g_csTwtLineType[26]); regProp.GetValue(_T("PipeLineType28"), g_csTwtLineType[27]); regProp.GetValue(_T("PipeLineType29"), g_csTwtLineType[28]); */ ReadTwtLineType(); //ReadVPipeDimDnShow(); cet 2016.5.19 del regProp.GetValue(_T("Pipe1Dim"), g_csPipeDim[0]); regProp.GetValue(_T("Pipe2Dim"), g_csPipeDim[1]); regProp.GetValue(_T("Pipe3Dim"), g_csPipeDim[2]); regProp.GetValue(_T("Pipe4Dim"), g_csPipeDim[3]); regProp.GetValue(_T("Pipe5Dim"), g_csPipeDim[4]); regProp.GetValue(_T("Pipe6Dim"), g_csPipeDim[5]); regProp.GetValue(_T("Pipe7Dim"), g_csPipeDim[6]); regProp.GetValue(_T("Pipe8Dim"), g_csPipeDim[7]); regProp.GetValue(_T("Pipe9Dim"), g_csPipeDim[8]); regProp.GetValue(_T("Pipe10Dim"), g_csPipeDim[9]); regProp.GetValue(_T("Pipe11Dim"), g_csPipeDim[10]); regProp.GetValue(_T("Pipe12Dim"), g_csPipeDim[11]); regProp.GetValue(_T("Pipe13Dim"), g_csPipeDim[12]); regProp.GetValue(_T("Pipe14Dim"), g_csPipeDim[13]); regProp.GetValue(_T("Pipe15Dim"), g_csPipeDim[14]); regProp.GetValue(_T("Pipe16Dim"), g_csPipeDim[15]); regProp.GetValue(_T("Pipe17Dim"), g_csPipeDim[16]); regProp.GetValue(_T("Pipe18Dim"), g_csPipeDim[17]); regProp.GetValue(_T("Pipe19Dim"), g_csPipeDim[18]); regProp.GetValue(_T("Pipe20Dim"), g_csPipeDim[19]); regProp.GetValue(_T("Pipe21Dim"), g_csPipeDim[20]); regProp.GetValue(_T("Pipe22Dim"), g_csPipeDim[21]); regProp.GetValue(_T("Pipe23Dim"), g_csPipeDim[22]); regProp.GetValue(_T("Pipe24Dim"), g_csPipeDim[23]); regProp.GetValue(_T("Pipe25Dim"), g_csPipeDim[24]); regProp.GetValue(_T("Pipe26Dim"), g_csPipeDim[25]); regProp.GetValue(_T("Pipe27Dim"), g_csPipeDim[26]); regProp.GetValue(_T("Pipe28Dim"), g_csPipeDim[27]); regProp.GetValue(_T("Pipe29Dim"), g_csPipeDim[28]); regProp.GetValue(_T("Pipe30Dim"), g_csPipeDim[29]); regProp.GetValue(_T("Pipe31Dim"), g_csPipeDim[30]); regProp.GetValue(_T("Pipe32Dim"), g_csPipeDim[31]); regProp.GetValue(_T("Pipe33Dim"), g_csPipeDim[32]); regProp.GetValue(_T("Pipe34Dim"), g_csPipeDim[33]); regProp.GetValue(_T("Pipe35Dim"), g_csPipeDim[34]); regProp.GetValue(_T("Pipe1Name"), g_csPipeName[0]); regProp.GetValue(_T("Pipe2Name"), g_csPipeName[1]); regProp.GetValue(_T("Pipe3Name"), g_csPipeName[2]); regProp.GetValue(_T("Pipe4Name"), g_csPipeName[3]); regProp.GetValue(_T("Pipe5Name"), g_csPipeName[4]); regProp.GetValue(_T("Pipe6Name"), g_csPipeName[5]); regProp.GetValue(_T("Pipe7Name"), g_csPipeName[6]); regProp.GetValue(_T("Pipe1Material"), g_iPipeMaterial[0]); regProp.GetValue(_T("Pipe2Material"), g_iPipeMaterial[1]); regProp.GetValue(_T("Pipe3Material"), g_iPipeMaterial[2]); regProp.GetValue(_T("Pipe4Material"), g_iPipeMaterial[3]); regProp.GetValue(_T("Pipe5Material"), g_iPipeMaterial[4]); regProp.GetValue(_T("Pipe6Material"), g_iPipeMaterial[5]); regProp.GetValue(_T("Pipe7Material"), g_iPipeMaterial[6]); regProp.GetValue(_T("Pipe8Material"), g_iPipeMaterial[7]); regProp.GetValue(_T("Pipe9Material"), g_iPipeMaterial[8]); regProp.GetValue(_T("Pipe10Material"), g_iPipeMaterial[9]); regProp.GetValue(_T("Pipe11Material"), g_iPipeMaterial[10]); regProp.GetValue(_T("Pipe12Material"), g_iPipeMaterial[11]); regProp.GetValue(_T("Pipe13Material"), g_iPipeMaterial[12]); regProp.GetValue(_T("Pipe14Material"), g_iPipeMaterial[13]); regProp.GetValue(_T("Pipe15Material"), g_iPipeMaterial[14]); regProp.GetValue(_T("Pipe16Material"), g_iPipeMaterial[15]); regProp.GetValue(_T("Pipe17Material"), g_iPipeMaterial[16]); regProp.GetValue(_T("Pipe18Material"), g_iPipeMaterial[17]); regProp.GetValue(_T("Pipe19Material"), g_iPipeMaterial[18]); regProp.GetValue(_T("Pipe20Material"), g_iPipeMaterial[19]); regProp.GetValue(_T("Pipe21Material"), g_iPipeMaterial[20]); regProp.GetValue(_T("Pipe22Material"), g_iPipeMaterial[21]); regProp.GetValue(_T("Pipe23Material"), g_iPipeMaterial[22]); regProp.GetValue(_T("Pipe24Material"), g_iPipeMaterial[23]); regProp.GetValue(_T("Pipe25Material"), g_iPipeMaterial[24]); regProp.GetValue(_T("Pipe26Material"), g_iPipeMaterial[25]); regProp.GetValue(_T("Pipe27Material"), g_iPipeMaterial[26]); regProp.GetValue(_T("Pipe28Material"), g_iPipeMaterial[27]); regProp.GetValue(_T("Pipe29Material"), g_iPipeMaterial[28]); regProp.GetValue(_T("Pipe30Material"), g_iPipeMaterial[29]); regProp.GetValue(_T("Pipe31Material"), g_iPipeMaterial[30]); regProp.GetValue(_T("Pipe32Material"), g_iPipeMaterial[31]); regProp.GetValue(_T("Pipe33Material"), g_iPipeMaterial[32]); regProp.GetValue(_T("Pipe34Material"), g_iPipeMaterial[33]); regProp.GetValue(_T("Pipe35Material"), g_iPipeMaterial[34]); regProp.GetValue(_T("IsDoublePipe1"), g_bPipeDouble[0]); regProp.GetValue(_T("IsDoublePipe2"), g_bPipeDouble[1]); regProp.GetValue(_T("IsDoublePipe3"), g_bPipeDouble[2]); regProp.GetValue(_T("IsDoublePipe4"), g_bPipeDouble[3]); regProp.GetValue(_T("IsDoublePipe5"), g_bPipeDouble[4]); regProp.GetValue(_T("IsDoublePipe6"), g_bPipeDouble[5]); regProp.GetValue(_T("IsDoublePipe7"), g_bPipeDouble[6]); regProp.GetValue(_T("IsDoublePipe8"), g_bPipeDouble[7]); // regProp.GetValue(_T("IsDoublePipe9"), g_bPipeDouble[8]); // regProp.GetValue(_T("IsDoublePipe10"), g_bPipeDouble[9]); // regProp.GetValue(_T("IsDoublePipe11"), g_bPipeDouble[10]); // regProp.GetValue(_T("IsDoublePipe12"), g_bPipeDouble[11]); // regProp.GetValue(_T("IsDoublePipe13"), g_bPipeDouble[12]); // regProp.GetValue(_T("IsDoublePipe14"), g_bPipeDouble[13]); // regProp.GetValue(_T("IsDoublePipe15"), g_bPipeDouble[14]); // regProp.GetValue(_T("IsDoublePipe16"), g_bPipeDouble[15]); // regProp.GetValue(_T("IsDoublePipe17"), g_bPipeDouble[16]); regProp.GetValue(_T("PipeDnChn"), g_csPipeDnChn); regProp.GetValue(_T("VPipeChn"), g_csVPipeChn); regProp.GetValue(_T("PipeTextChn"), g_csPipeTextChn); regProp.GetValue(_T("CircleTextChn"), g_csCircleTextChn); regProp.GetValue(_T("DimWellChn"), g_csDimWellChn); regProp.GetValue(_T("SheetChn"), g_csSheetChn); regProp.GetValue(_T("DimChn"), g_csDimChn); /// regProp.GetValue(_T("EleDimChn"), g_csEleDimChn); regProp.GetValue(_T("SanTextChn"), g_csSanTextChn); // cet 2014.5.5 add regProp.GetValue(_T("PipeDnEng"), g_csPipeDnEng); regProp.GetValue(_T("VPipeEng"), g_csVPipeEng); regProp.GetValue(_T("PipeTextEng"), g_csPipeTextEng); regProp.GetValue(_T("CircleTextEng"), g_csCircleTextEng); regProp.GetValue(_T("DimWellEng"), g_csDimWellEng); regProp.GetValue(_T("SheetEng"), g_csSheetEng); regProp.GetValue(_T("DimEng"), g_csDimEng); regProp.GetValue(_T("EleDimEng"), g_csEleDimEng);/// regProp.GetValue(_T("SanTextEng"), g_csSanTextEng); // cet 2014.5.5 add regProp.GetValue(_T("PipeDnHeight"), g_nPipeDnHeight); regProp.GetValue(_T("VPipeHeight"), g_nVPipeHeight); regProp.GetValue(_T("PipeTextHeight"), g_nPipeTextHeight); regProp.GetValue(_T("CircleTextHeight"), g_nCircleTextHeight); regProp.GetValue(_T("DimWellHeight"), g_nDimWellHeight); regProp.GetValue(_T("SheetHeight"), g_nSheetHeight); regProp.GetValue(_T("DimHeight"), g_nTwtDimHeight); regProp.GetValue(_T("SanTextHeight"), g_nSanTextHeight); regProp.GetValue(_T("EleDimHeight"), g_nEleDimHeight); /// regProp.GetValue(_T("SanTextHeight"), g_nSanTextHeight); // cet 2014.5.5 add regProp.GetValue(_T("PipeDnScale"), g_nPipeDnScale); regProp.GetValue(_T("VPipeScale"), g_nVPipeScale); regProp.GetValue(_T("PipeTextScale"), g_nPipeTextScale); regProp.GetValue(_T("CircleTextScale"), g_nCircleTextScale); regProp.GetValue(_T("DimWellScale"), g_nDimWellScale); regProp.GetValue(_T("SheetScale"), g_nSheetScale); regProp.GetValue(_T("DimScale"), g_nDimScale); regProp.GetValue(_T("SanTextScale"), g_nSanTextScale); regProp.GetValue(_T("EleDimScale"), g_nEleDimScale); /// regProp.GetValue(_T("SanTextScale"), g_nSanTextScale); // cet 2014.5.5 add regProp.GetValue(_T("DnDimDist2Pipe"), g_nDnDimDist2Pipe); // regProp.GetValue(_T("Dist2Wall"), g_nStandPipe2Wall); regProp.GetValue(_T("SprinklerRadius"), g_nSprinklerRadius); regProp.GetValue(_T("ToolbarPos"), g_iToolbarPos); regProp.GetValue(_T("IsPipeDimCir"), g_bIsPipeDimCir); regProp.GetValue(_T("WellRadius"), g_nWellRadius); regProp.GetValue(_T("DimCirDiam"), g_nDimCirDiam); regProp.GetValue(_T("DefaultPipeDn"), g_iDefaultPipeDn); regProp.GetValue(_T("FeedCircleScale"), g_nFeedCircleScale); regProp.GetValue(_T("FeedPoint"), g_bIsFeedPoint); regProp.GetValue(_T("Blk3D"), g_bBlk3D); regProp.GetValue(_T("DrainPtRadius"), g_nDrainPtRadius); regProp.GetValue(_T("DimPipeGradientType"), g_iDimPipeGradientType); regProp.GetValue(_T("IsStandPipeArc"), g_bStandPipeArc); regProp.GetValue(_T("IsDimWellOnlyEle"), g_bDimWellOnlyEle); regProp.GetValue(_T("VerticalSectionHead"), g_csVerticalSectionHead); regProp.GetValue(_T("VerticalSectionHeadFeed"), g_csVerticalSectionHeadFeed); regProp.GetValue(_T("ElbowRate"), g_nElbowRate); regProp.GetValue(_T("DbPipeLineWidth"), g_dDbPipeLineWidth); // cet regProp.GetValue(_T("SanitaryDataType"), g_nSinataryDataType); // zxl 2012.12.05 add regProp.GetValue(_T("VPipeDimStyle"), g_iVPipeDimStyle); regProp.GetValue(_T("SprinklerDistMod"), g_iSprinklerDistMod); regProp.GetValue(_T("DimPipeLen"), g_iDimPipeLen); regProp.GetValue(_T("DimShortPipeGradientType"), g_iDimShortPipeGradientType); regProp.GetValue(_T("DimWellNameAngle"), g_iDimWellNameAngle); regProp.GetValue(_T("DimWellNameDist"), g_dDimWellNameDist); regProp.GetValue(_T("DimWellNamePos"), g_iDimWellNamePos); regProp.GetValue(_T("DimWellEleType"), g_iDimWellEleType); regProp.GetValue(_T("AlignTypeForVPipeDim4"), g_nAlignTypeForVPipeDim4); regProp.GetValue(_T("AlignTypeForWellDim"), g_nAlignTypeForWellDim); regProp.GetValue(_T("WellDimText2Base"), g_dWellDimText2Base); // cet 2018.1.12 add regProp.GetValue(_T("DimWellEleLeadAngle"), g_iDimWellEleLeadAngle); regProp.GetValue(_T("ValveScale"), g_nValveScale); regProp.GetValue(_T("DimPipeDnType"),g_nDimPipeDnType); regProp.GetValue(_T("DimShortPipeDnType"),g_nDimShortPipeDnType); // regProp.GetValue(_T("DimPipeLenType"),g_nDimPipeLenType); regProp.GetValue(_T("DimShortPipeLenType"),g_nDimShortPipeLenType); regProp.GetValue(_T("DimPipeGradientType"),g_nDimPipeGradientType); regProp.GetValue(_T("DimShortPipeGradientType"),g_nDimShortPipeGradientType); regProp.GetValue(_T("DimPipeLabelType"),g_nDimPipeLabelType); regProp.GetValue(_T("DimShortPipeLabelType"),g_nDimShortPipeLabelType); regProp.GetValue(_T("DimPipeDrawType"),g_nDimPipeDrawType); regProp.GetValue(_T("DimPipeLinePos"), g_iDimPipeLinePos); //ZXL ADD regProp.GetValue(_T("DimPipeBaseLineAng"), g_iDimPipeBaseLineAng);//ZXL ADD regProp.GetValue(_T("VPipeDimDn2Label"), g_dVPipeDimDn2Label);//ZXL ADD 2013-8-26 regProp.GetValue(_T("IsElevDimChangeByPipeElev"), g_bIsElevDimChangeByPipeElev);//ZXL ADD if(!regProp.GetValue(_T("Toolbar"), g_bToolbar)) g_bToolbar = TRUE; if(!regProp.GetValue(_T("TgOsnap"), g_bTgOsnap)) g_bTgOsnap = TRUE; if(!regProp.GetValue(_T("DownloadT3Split"), g_bDownloadT3Split)) g_bDownloadT3Split = 1; } BOOL LoadLayerLineType() { XString fullFile; int nCount = 0; CString csLayer[] = {LAY_WIRE_ILLUME,LAY_WIRE_POWER,LAY_WIRE_FIRE,LAY_WIRE_WEAK, LAY_WIRE_EMERG,LAY_WIRE_TEL,LAY_WIRE_BROAD,LAY_WIRE_CTRL, LAY_WIRE_SOURCE,LAY_WIRE_USER1,LAY_WIRE_USER2,LAY_WIRE_USER3, LAY_WIRE_USER4, LAY_WIRE_USER5,LAY_WIRE_USER6,LAY_WIRE_USER7,LAY_WIRE_USER8, LAY_WIRE_SOCKET,LAY_WIRE_USER9,LAY_WIRE_USER10,LAY_WIRE_USER11,LAY_WIRE_OPTICAL_CABLE ,LAY_WIRE_THUNDER,LAY_WIRE_GROUND,LAY_WIRE_USER15,LAY_WIRE_USER13,LAY_WIRE_USER12, LAY_WIRE_USER14,LAY_WIRE_USER16,LAY_WIRE_USER17,LAY_WIRE_USER18,LAY_WIRE_USER19, LAY_WIRE_USER20,LAY_WIRE_USER21,LAY_WIRE_USER22,LAY_WIRE_USER23,LAY_WIRE_USER24}; if(FindFile(_T("layerdef.dat"), fullFile)) { FILE *fp=fopen(_AS(fullFile), "r"); if(!fp) return FALSE; while(!feof(fp)) { char sBuf[256]=""; TCHAR eName[256]=_T(""),sLineType[256]=_T(""); fgets(sBuf, 255, fp); if(sBuf[0]) { CT_strnth(TString(sBuf), 2, eName); CT_strnth(TString(sBuf), 4, sLineType); } if (_tcscmp(sLineType,_T("")) == 0) { _tcscpy(sLineType,_T("Continuous")); } for (int i = 0;i < MAX_LENGTH;++i) { if (_tcscmp(eName,csLayer[i]) == 0) { g_csLineType[i] = sLineType; nCount++; } } if (nCount == MAX_LENGTH) { break; } } fclose(fp); } else return FALSE; return TRUE; } void ReadTelSettingData() { LoadLayerLineType(); CRegProperty regProp(GetRegLocation(), _T("TElecConfig")); regProp.SetTopRootKey(HKEY_CURRENT_USER); regProp.GetValue(_T("GourdWireLineType"), g_iGourdWireLineType); regProp.GetValue(_T("LightingWireLineType"), g_iLightingWireLineType); regProp.GetValue(_T("BusLineWidth"), g_dBusLineWidth); regProp.GetValue(_T("SysLineWidth"), g_dSysLineWidth); regProp.GetValue(_T("BlkLineWidth"), g_dBlkThickWidth); regProp.GetValue(_T("EqBlkLength"), g_nEqBlkLength); regProp.GetValue(_T("Eq2WallDist"), g_nEq2WallDist); regProp.GetValue(_T("PointDia"), g_nPointDia); regProp.GetValue(_T("TerminalDia"), g_nTerminalDia); regProp.GetValue(_T("WireDimScale"), g_nWireDimScale); regProp.GetValue(_T("TextHeight_Dim"), g_nDimHeight); regProp.GetValue(_T("WHScale_Dim"), g_nScaleDim); regProp.GetValue(_T("WireNumHeight"), g_nWireNumHeight); regProp.GetValue(_T("LastBlkMaxNum"), g_iLastBlkMaxNum); regProp.GetValue(_T("WireBreak"), g_iWireBreak); regProp.GetValue(_T("WireTextType"), g_iWireTextType); regProp.GetValue(_T("WireNumType"), g_iWireNumType); regProp.GetValue(_T("PlanWireIndex"), g_iPlanWireIndex); regProp.GetValue(_T("IsJoin2Wire"), g_bJoin2Wire); regProp.GetValue(_T("RotateAttrib"), g_bRotateAttrib); regProp.GetValue(_T("IsAskInsBlk"), g_bAskInsBlk); regProp.GetValue(_T("ThickEquip"), g_bThickEquip); regProp.GetValue(_T("WireAskInfo"), g_bWireAskInfo); regProp.GetValue(_T("CloseLnGrid"), g_bCloseLnGrid); regProp.GetValue(_T("IsDrawWireDiv"), g_bDrawWireDiv); regProp.GetValue(_T("IsLineTypeByLayer"), g_bLineTypeByLayer); regProp.GetValue(_T("LineTypeChnShx"), g_csLineTypeChnShx); regProp.GetValue(_T("LineTypeEngShx"), g_csLineTypeEngShx); regProp.GetValue(_T("LineTypeHeight"), g_dLineTypeHeight); regProp.GetValue(_T("LineTypeScale"), g_dLineTypeScale); regProp.GetValue(_T("TextStyle_Chn"), g_csDimChnShx); regProp.GetValue(_T("TextStyle_Eng"), g_csDimEngShx); regProp.GetValue(_T("TextAttrStyle"),g_csTextAttr); regProp.GetValue(_T("TelecFontStyle"),g_csTelFontStyle); regProp.GetValue(_T("IsNeedChamAngle"),g_bIsChamAngle); regProp.GetValue(_T("ChamferAngle"),g_dChamAngle); regProp.GetValue(_T("TextAttrStyle_ChnShx"),g_csBlkAttrTypeChnShx); regProp.GetValue(_T("TextAttrStyle_Eng"),g_csBlkAttrTypeEngShx); if(!regProp.GetValue(_T("DimWireSimple"), g_bDimWireSimple)) regProp.SetValue(_T("DimWireSimple"), g_bDimWireSimple);//此处需要设置一下,否则注册表无此项直接进行导线标注时会造成简标情况的发生 if(!regProp.GetValue(_T("DownloadT3Split"), g_bDownloadT3Split)) g_bDownloadT3Split = 1; CString sValue; for (int i = 0 ; i < MAX_LENGTH; i++) { //线宽 sValue.Empty(); sValue.Format(_T("Wire%dWidth"),i+1); regProp.GetValue(sValue, g_nWireWidth[i]); //型号 sValue.Empty(); sValue.Format(_T("Wire%dDimType"),i+1); regProp.GetValue(sValue, g_csWireDimType[i]); //规格 sValue.Empty(); sValue.Format(_T("Wire%dDimArea"),i+1); regProp.GetValue(sValue, g_csWireDimArea[i]); //配线方式 sValue.Empty(); sValue.Format(_T("Wire%dDimMode"),i+1); regProp.GetValue(sValue, g_csWireDimMode[i]); //敷设部位 sValue.Empty(); sValue.Format(_T("Wire%dDimPlace"),i+1); regProp.GetValue(sValue, g_csWireDimPlace[i]); //穿管直径 sValue.Empty(); sValue.Format(_T("Wire%dDimRadius"),i+1); regProp.GetValue(sValue, g_csWireDimRadius[i]); //普通,阻燃,耐火 sValue.Empty(); sValue.Format(_T("Wire%dDimNorm"),i+1); regProp.GetValue(sValue, g_iWireDimNorm[i]); //回路编号 sValue.Empty(); sValue.Format(_T("Wire%dLoop"),i+1); regProp.GetValue(sValue, g_csWireLoop[i]); //导线根数 sValue.Empty(); sValue.Format(_T("Wire%dLineNum"),i+1); regProp.GetValue(sValue, g_csWireLineNum[i]); } //是否激活 for (int j = 0 ; j < 34; j++) { sValue.Empty(); sValue.Format(_T("NeedUser%d"),j+1); regProp.GetValue(sValue, g_bNeedUser[j]); } XSymbolList lstStyle(_T("STYLE")); if(lstStyle.Index(g_csDimStyle) < 0) g_csDimStyle = _T("_TEL_DIM"); } void SaveTelSettingData() { CRegProperty regProp(GetRegLocation(), _T("TElecConfig")); regProp.SetTopRootKey(HKEY_CURRENT_USER); regProp.SetValue(_T("GourdWireLineType"), g_iGourdWireLineType); regProp.SetValue(_T("LightingWireLineType"), g_iLightingWireLineType); regProp.SetValue(_T("BusLineWidth"), g_dBusLineWidth); regProp.SetValue(_T("SysLineWidth"), g_dSysLineWidth); regProp.SetValue(_T("BlkLineWidth"), g_dBlkThickWidth); regProp.SetValue(_T("EqBlkLength"), g_nEqBlkLength); regProp.SetValue(_T("Eq2WallDist"), g_nEq2WallDist); regProp.SetValue(_T("PointDia"), g_nPointDia); regProp.SetValue(_T("TerminalDia"), g_nTerminalDia); regProp.SetValue(_T("WireDimScale"), g_nWireDimScale); regProp.SetValue(_T("TextHeight_Dim"), g_nDimHeight); regProp.SetValue(_T("WHScale_Dim"), g_nScaleDim); regProp.SetValue(_T("WireNumHeight"), g_nWireNumHeight); regProp.SetValue(_T("LastBlkMaxNum"), g_iLastBlkMaxNum); regProp.SetValue(_T("WireBreak"), g_iWireBreak); regProp.SetValue(_T("WireTextType"), g_iWireTextType); regProp.SetValue(_T("WireNumType"), g_iWireNumType); regProp.SetValue(_T("PlanWireIndex"), g_iPlanWireIndex); regProp.SetValue(_T("IsJoin2Wire"), g_bJoin2Wire); regProp.SetValue(_T("RotateAttrib"), g_bRotateAttrib); regProp.SetValue(_T("IsAskInsBlk"), g_bAskInsBlk); regProp.SetValue(_T("ThickEquip"), g_bThickEquip); regProp.SetValue(_T("WireAskInfo"), g_bWireAskInfo); regProp.SetValue(_T("DimWireSimple"), g_bDimWireSimple); regProp.SetValue(_T("CloseLnGrid"), g_bCloseLnGrid); regProp.SetValue(_T("IsDrawWireDiv"), g_bDrawWireDiv); regProp.SetValue(_T("IsLineTypeByLayer"), g_bLineTypeByLayer); regProp.SetValue(_T("LineTypeChnShx"), g_csLineTypeChnShx); regProp.SetValue(_T("LineTypeEngShx"), g_csLineTypeEngShx); regProp.SetValue(_T("LineTypeHeight"), g_dLineTypeHeight); regProp.SetValue(_T("LineTypeScale"), g_dLineTypeScale); regProp.SetValue(_T("TextStyle_Chn"), g_csDimChnShx); regProp.SetValue(_T("TextStyle_Eng"), g_csDimEngShx); regProp.SetValue(_T("TextAttrStyle"),g_csTextAttr); regProp.SetValue(_T("TelecFontStyle"),g_csTelFontStyle); regProp.SetValue(_T("IsNeedChamAngle"),g_bIsChamAngle); regProp.SetValue(_T("ChamferAngle"),g_dChamAngle); regProp.SetValue(_T("TextAttrStyle_ChnShx"),g_csBlkAttrTypeChnShx); regProp.SetValue(_T("TextAttrStyle_Eng"),g_csBlkAttrTypeEngShx); CString sValue; for (int i = 0 ; i < MAX_LENGTH; i++) { //线宽 sValue.Empty(); sValue.Format(_T("Wire%dWidth"),i+1); regProp.SetValue(sValue, g_nWireWidth[i]); //型号 sValue.Empty(); sValue.Format(_T("Wire%dDimType"),i+1); regProp.SetValue(sValue, g_csWireDimType[i]); //规格 sValue.Empty(); sValue.Format(_T("Wire%dDimArea"),i+1); regProp.SetValue(sValue, g_csWireDimArea[i]); //配线方式 sValue.Empty(); sValue.Format(_T("Wire%dDimMode"),i+1); regProp.SetValue(sValue, g_csWireDimMode[i]); //敷设部位 sValue.Empty(); sValue.Format(_T("Wire%dDimPlace"),i+1); regProp.SetValue(sValue, g_csWireDimPlace[i]); //穿管直径 sValue.Empty(); sValue.Format(_T("Wire%dDimRadius"),i+1); regProp.SetValue(sValue, g_csWireDimRadius[i]); //普通,阻燃,耐火 sValue.Empty(); sValue.Format(_T("Wire%dDimNorm"),i+1); regProp.SetValue(sValue, g_iWireDimNorm[i]); //回路编号 sValue.Empty(); sValue.Format(_T("Wire%dLoop"),i+1); regProp.SetValue(sValue, g_csWireLoop[i]); //导线根数 sValue.Empty(); sValue.Format(_T("Wire%dLineNum"),i+1); regProp.SetValue(sValue, g_csWireLineNum[i]); } //是否激活 for (int j = 0 ; j < 34; j++) { sValue.Empty(); sValue.Format(_T("NeedUser%d"),j+1); regProp.SetValue(sValue, g_bNeedUser[j]); } } AcDbObjectId InitLineTypeTextAttrStyle() { AcDbObjectId idRet=GetTextStyleId(g_csTextAttr); if(idRet == NULL) { g_lstWinfont.Reset(); g_lstCharset.Reset(); g_lstPitch.Reset(); CDC *pDC = acedGetAcadDwgView()->GetDC(); ASSERT(pDC); LOGFONT lf; ZeroMemory(&lf,sizeof(lf)); lf.lfCharSet = DEFAULT_CHARSET; EnumFontFamiliesEx(pDC->m_hDC, &lf, (FONTENUMPROC)EnumFontFamExProc2, NULL, 0); acedGetAcadDwgView()->ReleaseDC(pDC); AcDbTextStyleTableRecord *pStyle=new AcDbTextStyleTableRecord; pStyle->setName(g_csTextAttr); pStyle->setTextSize(3); int idx = g_lstWinfont.Index(g_csBlkAttrTypeChnShx); if(idx < 0){ pStyle->setFileName(g_csBlkAttrTypeEngShx); pStyle->setBigFontFileName(g_csBlkAttrTypeChnShx); } else{ int iCharset = *g_lstCharset[idx]; int iPitch = *g_lstPitch[idx]; #if ADS > 20 pStyle->setFont(g_csBlkAttrTypeChnShx, false, false, (Charset)iCharset, (Autodesk::AutoCAD::PAL::FontUtils::FontPitch)iPitch, Autodesk::AutoCAD::PAL::FontUtils::FontFamily::kDoNotCare); #else pStyle->setFont(g_csBlkAttrTypeChnShx, FALSE, FALSE, iCharset, iPitch); #endif // modify by cq 2017-01-05 支持CAD2017 } pStyle->setXScale(0.8); idRet = AddTextStyle(pStyle, TRUE); } return idRet; } extern TARCH_IMPEXP int g_nProductId; /* //extern TARCH_IMPEXP TCHAR g_sDwbPath[]; MY_RES_HERE; #if (ADS<=14) extern "C" HINSTANCE _hdllInstance; #else extern "C" { HINSTANCE _hdllInstance; } extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { _hdllInstance = hInstance; return 1; // ok } #endif extern BOOL InitModule(HINSTANCE, DWORD, LPVOID); static AFX_EXTENSION_MODULE arxmfcDLL; extern BOOL InitModule(HINSTANCE hInstance, DWORD dwReason, LPVOID) { if (dwReason == DLL_PROCESS_ATTACH){ if (!AfxInitExtensionModule(arxmfcDLL, hInstance)) return 0; CTemporaryResourceOverride::SetDefaultResource(_hdllInstance); new CDynLinkLibrary(arxmfcDLL); }else if (dwReason == DLL_PROCESS_DETACH){ AfxTermExtensionModule(arxmfcDLL); } return 1; } */ 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; } // 以下是命令函数 //图层 extern void OpenAllLayer(); // 开所有层 extern void OpenLayer(); // 打开图层 extern void OpenSelLayer(); // 开非选层 extern void CloseSelLayer(); // 关所选层 extern void LockNoSelLayer(); // 锁非选层 extern void LockSelLayer(); // 锁所选层 extern void UnLockSelLayer(); // 解锁图层 extern void EraseSelLayer(); // 删所选层图元 extern void ChangeLayer(); // 改为上华层 extern void ConvertLayer(); // 图层转换 extern void ChangeLayer2Twt(); // 图层转换 extern void LayerMan(); // 图层颜色 extern void DefineLayer(); // 定义图层 extern void MergeLayer(); // 合并图层 //图层工具 extern void LayerTools(); // 图层工具 extern void DestroyLayerManBar(); //条件图 extern void SetTArchLayTag(); // 设置建筑标识 extern void ClearTArchLayTag(); // 清除建筑标识 extern void LoadTch(); // 转条件图 extern void Column2Null(); // 柱子空心 extern void DelWindowText(); // 删门窗名 //线型 extern void SetDashLine(); // 线型比例 extern void LineTypeMan(); // 线型管理 extern int InvokeLineTypeMan(); // 线型库LISP extern void ReviseLineType(); // 修正线形 extern void Continue2Dash(); // 虚实变换 extern void LineTypeLibCmd(); // 线型库 extern int InvokeLineTypeLibCmd(); // 线型管理LISP //统计表格 extern void MergeCountSheet(); // 统计合并 extern void CountSheetFind(); // 统计查询 //公共命令 extern void SetToolbarCmd(); // 设置工具条 extern void SetToolbarPos(); extern void TgDragCopy(); // 上华拷贝 extern void SelObjectCmd(); // 过滤选择 extern void SplitDwg(); // 备档拆图 extern void ProtectDwg(); // 图纸保护 extern void UnlockProtectDwg(); // 图纸解锁 extern void DrawCustomPoly(); // 绘多段线 extern void BrushBlock(); // 图块刷 extern void LoadConfigCmd(); // 加载高级选项 extern void SetSnapAngByLineCmd(); // 依线正交 extern void SaveSettingCmd(); // 导出设置 extern void ReadSettingCmd(); // 导入设置 extern void ChangeBlkColorCmd(); // 图块改色 extern void ChangeBlkNameCmd(); // 图块改名 extern void RemoveDupEntity(); // 消重图元 extern void ModifyElev(); // 设置标高 extern void FloorOper(); // 楼层设置 extern void SetFloorBasePt(); // 楼层基点 extern void CopyByFloorBasePt(); // 楼层复制 extern void ChangeUnitCmd(); // 单位换算 extern void CloneExternRefEnts(); // 图层克隆 extern void CheckPipeMultDim(); // 检查多管标注 extern void LineTypeExport(); // 线型导出 2017.4.13 陈恩涛 //文字 extern void ModifyTextCmd(); // 修改文字 extern void PlusTextCmd(); // 递增文字 extern void EqualTextHeight(); // 统一字高 extern void InsertTextCmd(); // 专业文字 extern void TextAlignment(); // 文字对齐 //系统变量 extern void SetOldDrawingIndex(); // 设置轴号 extern void CheckPlot(); // 打印检查 extern void CheckTextStyle(); // 文字样式检查 extern void CheckDictionary(); // 字典检查 extern void TgMakeSlide(); // 造幻灯片 extern void CatchScreenCmd(); // 上华抓屏 extern void SetTgMode(); // 加密设置 extern void TgDwgLibEx(); // 上华图集 extern void CompareDwgCmd(); // 图纸比对 //extern void ComparePartOfDwgCmd(); // 局部比对 extern void DrawOpeningBy2Wall(); // 补门窗 extern void StandardCheck(); // 标准检查 extern void TextMLine(); // 多行文字 extern void testBlock(); // 多行文字 extern BOOL GetToolbarVisible(); extern void UnloadToolbar(); extern void UpdateToolBar(); // 工具条升级 extern int InvokeDataStore(); extern int InvokeTgDwgLib(); int EditMutiText(AcDbObjectId id); int EditFloorRect(AcDbObjectId id); // cet 2013.1.8 add static AecObjectEditMethod g_pOldEditMutiText = NULL; static AecObjectEditMethod g_pOldEditFloorRect = NULL; // cet 2013.1.8 add static extern_fun cmdtab[] = { {_T("ILineTypeMan"), InvokeLineTypeMan}, //线型库LISP {_T("ITypeLibCmd"), InvokeLineTypeLibCmd},// 线型管理LISP {_T("ITgDwgLib"), InvokeTgDwgLib}, {_T("IDataStore"), InvokeDataStore}, }; static ArxCommandTable g_acedCmdTable[] = { {_T("OpenSelLayer"), OpenSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, {_T("CloseSelLayer"), CloseSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, {_T("EraseSelLayer"), EraseSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, {_T("ChangeLayer"), ChangeLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, {_T("gjt"), SetToolbarCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 工具条 {_T("ztjt"), LoadTch, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 转条件图 2003.11.6 转移 {_T("tcys"), LayerMan, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 图层颜色 2003.11.6 转移 {_T("xsbh2"), Continue2Dash, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, // 虚实变换 2003.11.10 转移 {_T("xgwz"), ModifyTextCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW}, //修改文字 {_T("dzwz2"), PlusTextCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //递增文字 2003.6.16 {_T("tyzg2"), EqualTextHeight, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //统一字高 2003.8.6 {_T("zywz"), InsertTextCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //专业文字 2002.4.23 {_T("xxbl"), SetDashLine, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //线型比例 2001.11.27 {_T("tzkb"), TgDragCopy, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //上华拷贝 2003.11.19 {_T("zzkx"), Column2Null, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //柱子空心 2004.3.11 {_T("smcm"), DelWindowText, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //删门窗名 2004.4.5 {_T("OpenAllLayer"), OpenAllLayer, ACRX_CMD_TRANSPARENT }, //打开全部层 2005.1.27 {_T("UnLockSelLayer"), UnLockSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //解锁图层 2005.1.28 {_T("LockSelLayer"), LockSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //锁定图层 2005.1.28 {_T("OpenLayer"), OpenLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //打开图层 2005.3.9 {_T("ConvertLayer"), ConvertLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图层转换 2005.3.10 {_T("ChangeLayer2Twt"), ChangeLayer2Twt, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET },//图层转换 2005.3.14 {_T("dyjc"), CheckPlot, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //打印检查 2005.3.24 {_T("zdjc"), CheckDictionary, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //字典检查 2005.5.18 {_T("TgMakeSlide"), TgMakeSlide, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET },//造块时自动生成幻灯片 {_T("SetTgMode"), SetTgMode, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //修改上华加密模式 {_T("xxgl"), LineTypeMan, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //线型管理 2005.11.3 {_T("glxz"), SelObjectCmd, ACRX_CMD_MODAL| ACRX_CMD_REDRAW }, //过滤选择 2005.12.5 {_T("tzzp"), CatchScreenCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //上华抓屏 2006.4.4 {_T("xzxx"), ReviseLineType, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //修正线形 2006.7.31 {_T("bdct"), SplitDwg, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //备档拆图 2006.11.2 {_T("tzbh2"), ProtectDwg, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图纸保护 2006.11.7 {_T("tzjs"), UnlockProtectDwg, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图纸解锁 2006.11.7 {_T("hddx"), DrawCustomPoly, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //绘多段线 2006.11.23 {_T("SetTArchLayTag"), SetTArchLayTag, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //设置建筑标识 2006.12.1 {_T("ClearTArchLayTag"),ClearTArchLayTag, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //取消建筑标识 2010.5.10 {_T("xxk"), LineTypeLibCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //线型库 2006.12.1 {_T("tzbd"), CompareDwgCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图纸比对 2007.3.5 // {_T("jbbd"), ComparePartOfDwgCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET },//局部比对 2007.12.10 {_T("tks"), BrushBlock, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图块刷 2007.3.6 {_T("sfxc"), LockNoSelLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //锁非选层 2007.3.15 {_T("DefineLayer"), DefineLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET },//定义图层 2007.5.22 {_T("hbtc"), MergeLayer, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //合并图层 2007.6.4 {_T("hbtj"), MergeCountSheet, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //统计合并 2007.6.19 {_T("tztj"), TgDwgLibEx, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //上华图集 2007.6.19 {_T("tcgj"), LayerTools, ACRX_CMD_MODAL}, //图层工具 2007.12.18 {_T("yxzj"), SetSnapAngByLineCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, //依线正交 2008.1.24 // {_T("tloadconfig"), LoadConfigCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //加载高级选项 2007.9.3 {_T("tjcx"), CountSheetFind, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //统计查询 2008.1.24 {_T("ztjc"), CheckTextStyle, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //字体检查 2008.7.29 2011.4.7改名 {_T("dcsz"), SaveSettingCmd, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //导出设置 2008.8.14 {_T("drsz"), ReadSettingCmd, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //导入设置 2008.8.20 {_T("lcjd"), SetFloorBasePt, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //楼层基点 2009.2.28 {_T("lcfz"), CopyByFloorBasePt, ACRX_CMD_MODAL| ACRX_CMD_REDRAW| ACRX_CMD_USEPICKSET}, //楼层复制 2009.2.29 {_T("dkgs"), ChangeBlkColorCmd, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图块改色 2002.11.7 2009-3-2转移 {_T("xcty2"), RemoveDupEntity, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //消重图元 2009.8.29 {_T("szbg"), ModifyElev, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //设置标高 2009.8.30 {_T("SetOldDrawingIndex"), SetOldDrawingIndex, ACRX_CMD_MODAL}, //设置轴号 2010.6.1 {_T("yszt"), DrawOpeningBy2Wall, ACRX_CMD_MODAL}, //补门窗 2010.8.26 {_T("wzdq"), TextAlignment, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //文字对齐 2010.12.9 cet移植 {_T("tkgm2"), ChangeBlkNameCmd, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //图块改名 2011.6.24 {_T("lcsz"), FloorOper, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //楼层设置 2011.10.11 鲍士雷移植 {_T("dwhs"), ChangeUnitCmd, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //单位换算 2012.1.5 沈睿移植暖通 {_T("bzjc"), StandardCheck, ACRX_CMD_MODAL| ACRX_CMD_REDRAW}, //标准检查 2012.5.14 李小龙 {_T("gjtsj"), UpdateToolBar, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //工具条升级 2012.07.10 郑晓龙 {_T("fywz"), TextMLine, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //多行文字 2012.12.28 郑晓龙 {_T("tckl"), CloneExternRefEnts, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //图层克隆 2013.5.3 陈恩涛 {_T("dgjc"), CheckPipeMultDim, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //检查多管标注 2015.10.23 陈恩涛 {_T("xxdc"), LineTypeExport, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET }, //线型导出 2017.4.13 陈恩涛 }; //TARCH_IMPEXP XString GetFullCmdName(const TCHAR *szName); void OnLoadApp() { // if(g_nProtectCode == 0){ // return; // } CString csConfigName; if(g_nProductId==16) csConfigName = _T("TElecConfig"); else if(g_nProductId==14) csConfigName = _T("TwtConfig"); else if(g_nProductId==15) csConfigName = _T("THvacConfig"); else if(g_nProductId==1) csConfigName = _T("Settings"); BOOL bToolbar(TRUE); CRegProperty regProp(GetRegLocation(), (const TCHAR*)csConfigName); regProp.SetTopRootKey(HKEY_CURRENT_USER); if(!regProp.GetValue(_T("Toolbar"), bToolbar)) bToolbar = TRUE; g_csDwbPath = g_sDwbPath; //g_csSysPath = g_sDwbPath;//sr 2010-8-20 原先 g_csSysPath = g_sAppPath 在64位下-7就不合适了 //g_csSysPath = g_csSysPath.Left(g_csSysPath.GetLength() - 5) + _T("\\sys\\"); g_csSysPath = g_sAppPath; g_csSysPath.TrimRight(_T("\\")); int nPos = g_csSysPath.ReverseFind(_T('\\')); if (nPos >= 0) { g_csSysPath = g_csSysPath.Left(nPos) + _T("\\sys\\"); } if(g_nProductId == 16) { ReadTelSettingData(); InitLineTypeTextAttrStyle(); } else if(g_nProductId == 14) ReadTwtSettingData(); if(bToolbar && (g_nProductId == 14 || g_nProductId == 15 || g_nProductId == 16)) CreateToolbars(); for(int i=0; iaddCommand(_T("TAPI_CMD"), g_acedCmdTable[i].szCmdGlobal, g_acedCmdTable[i].szCmdGlobal, g_acedCmdTable[i].nCmdFlag, g_acedCmdTable[i].pFun); } if(g_nProductId==14 || g_nProductId==16)//各专业可以自定义TXX_TLoadConfig { XString sCmd=GetFullCmdName(_T("TLoadConfig")); acedRegCmds->addCommand(_T("TAPI_CMD"),sCmd ,sCmd, ACRX_CMD_TRANSPARENT, LoadConfigCmd, NULL, ELEMENTS(g_acedCmdTable)); } g_pOldEditMutiText = TDbMTextNew::SetEditMethod(EditMutiText); g_pOldEditFloorRect = TDbFloorRect::SetEditMethod(EditFloorRect); // cet 2013.1.8 add AfxInitRichEdit();// zxl 2013.01.29 add 提供CRICHEDITCTRL支持 } void OnUnloadApp() { acedRegCmds->removeGroup(_T("TAPI_CMD")); UnloadToolbar(); DestroyLayerManBar(); SaveTelSettingData(); TDbMTextNew::SetEditMethod(g_pOldEditMutiText); TDbFloorRect::SetEditMethod(g_pOldEditFloorRect); // cet 2013.1.8 add } int OnDoFunc() { int cindex = ads_getfuncode(); int nRet=RTNORM; if (cindex >= 0 && cindex < ELEMENTS(cmdtab)) { if(cmdtab[cindex].cmdname[1]==_T(':')) { XPushUndo vTemp; (*cmdtab[cindex].cmdfunc)(); ads_retvoid(); } else { (*cmdtab[cindex].cmdfunc)(); } nRet = RTNORM; } else nRet=RTERROR; return nRet; } int OnDwgLoaded() { for(int i=0;i14) acrxDynamicLinker->registerAppMDIAware(pkt); #endif // InitModule(_hdllInstance, DLL_PROCESS_ATTACH, NULL); OnLoadApp(); break; case AcRx::kLoadDwgMsg: OnDwgLoaded(); break; case AcRx::kInvkSubrMsg: OnDoFunc(); break; case AcRx::kSaveMsg: break; case AcRx::kUnloadDwgMsg: //Bug no message coming UnloadDwgMsg(); break; case AcRx::kPreQuitMsg: // SetToolbarVisible(FALSE); break; case AcRx::kUnloadAppMsg: OnUnloadApp(); // InitModule(_hdllInstance, DLL_PROCESS_DETACH, NULL); break; } return AcRx::kRetOK; }