1493 lines
63 KiB
C++
1493 lines
63 KiB
C++
|
|
#include "stdafx.h"
|
|
#include "tapi.h"
|
|
#include "teldef.h"
|
|
#include "twtdef.h"
|
|
|
|
#include <actrans.h>
|
|
#include <rxregsvc.h>
|
|
#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; i<ELEMENTS(g_acedCmdTable); i++) {
|
|
// cet 2017.1.9 add 给排水在水专业其他工程中,重新实现了以下命令
|
|
if (g_nProductId == 14 &&
|
|
(_tcsicmp(g_acedCmdTable[i].szCmdGlobal, _T("tjcx")) == 0 ||
|
|
_tcsicmp(g_acedCmdTable[i].szCmdGlobal, _T("hbtj")) == 0 ))
|
|
{
|
|
continue;
|
|
}
|
|
acedRegCmds->addCommand(_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;i<ELEMENTS(cmdtab); i++) {
|
|
ads_defun(cmdtab[i].cmdname,i);
|
|
}
|
|
if (g_nProductId == 16)
|
|
InitLineTypeTextAttrStyle();
|
|
return RTNORM;
|
|
}
|
|
|
|
void UnloadDwgMsg()
|
|
{
|
|
SetToolbarPos();
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
//
|
|
// Entry point
|
|
//
|
|
//////////////////////////////////////////////////////////////
|
|
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
|
|
{
|
|
switch (msg) {
|
|
case AcRx::kInitAppMsg:
|
|
acrxUnlockApplication(pkt);
|
|
#if(ADS>14)
|
|
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;
|
|
}
|