652 lines
19 KiB
C++
652 lines
19 KiB
C++
// SprinklerDimPipeDnDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "DbEquipment.h"
|
|
#include "SprinklerDimPipeDnDlg.h"
|
|
#include "globalFunc.h"
|
|
#include "AcDbObjectPtr.h"
|
|
#include "DbPipe.h"
|
|
#include "layerdef.h"
|
|
#include "PickEntSet.h"
|
|
#include "TRegProperty.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
void DoDimSprinkPipeDn(SSearchPipeList *pListAll, CSprinklerDimPipeDnDlg *pDlg, int &idx)
|
|
{
|
|
AcDbObjectId id = NULL;
|
|
id = pListAll->m_ID;
|
|
pListAll->m_iNum = 0;
|
|
if(pListAll->m_iType == 2){
|
|
if(pDlg->m_bK){
|
|
ads_name ent;
|
|
acdbGetAdsName(ent, id);
|
|
double dK = _tstof(GlobalFunc::ReadXdata(ent, _T("SPRINKLER_K")));
|
|
if(dK < 0.01)
|
|
dK = 80;
|
|
pListAll->m_nSpare = dK;
|
|
}
|
|
else{
|
|
pListAll->m_iNum = 1;
|
|
}
|
|
}
|
|
|
|
ads_name ent1;
|
|
acdbGetAdsName(ent1, id);
|
|
Entity ent;
|
|
ent = ent1;
|
|
long len = pListAll->m_lstNode.Length();
|
|
for(long i=0;i<len;i++){
|
|
SSearchPipeList *pList = pListAll->m_lstNode[i];
|
|
DoDimSprinkPipeDn(pList, pDlg, idx);
|
|
pListAll->m_iNum += pList->m_iNum;
|
|
pListAll->m_nSpare += pList->m_nSpare;
|
|
}
|
|
if(pDlg->m_bK){
|
|
double dNum = pListAll->m_nSpare / 80 + 0.9; //这个地方不能四舍五入,大于80就算是2个喷头 2009-1-7
|
|
pListAll->m_iNum = (int)dNum;
|
|
}
|
|
idx++;
|
|
if(!ent.Is(_T("AEC_ZT_PIPE")))
|
|
return;
|
|
|
|
int iRadius(0);
|
|
if(pDlg){
|
|
|
|
if(pListAll->m_iNum <= pDlg->m_iDn25)
|
|
iRadius = 25;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn32)
|
|
iRadius = 32;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn40)
|
|
iRadius = 40;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn50)
|
|
iRadius = 50;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn70)
|
|
iRadius = 65;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn80)
|
|
iRadius = 80;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn100)
|
|
iRadius = 100;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn125)
|
|
iRadius = 125;
|
|
else if(pListAll->m_iNum <= pDlg->m_iDn150)
|
|
iRadius = 150;
|
|
else if(pListAll->m_iNum > pDlg->m_iDn150)
|
|
iRadius = 200;
|
|
|
|
//2008-11-6 如果没有这1档,则降1档管径
|
|
if(iRadius == 200 && pDlg->m_iDn200 == 0)
|
|
iRadius = 150;
|
|
if(iRadius == 150 && pDlg->m_iDn150 == 0)
|
|
iRadius = 125;
|
|
if(iRadius == 125 && pDlg->m_iDn125 == 0)
|
|
iRadius = 100;
|
|
|
|
}
|
|
if(iRadius == 65 && pDlg->m_bDn70)
|
|
iRadius = 70;
|
|
|
|
// DoDimPipeDn(ent, iRadius, _T("自动"), g_nPipeDnHeight, FALSE); // cet 2010.5.18 del 增加标注字高修改
|
|
GlobalFunc::DoDimPipeDn(ent, iRadius, _T("自动"), pDlg->GetDimFontHeight(), FALSE, FALSE); // cet 2010.5.18 add
|
|
// 设置标注距管距离 zxl 2014.04.08 add
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, CDbPipe, pPipe);
|
|
if(pPipe != NULL)
|
|
{
|
|
pPipe->InitLabelLocation(pDlg->m_dDst * GlobalFunc::DocGetPScale());
|
|
}
|
|
OPENOBJ_END();
|
|
// zxl 2013.09.04 add 添加最小显示管径,管径小于设定值时不显示
|
|
if (iRadius < pDlg->m_dMinDn)
|
|
{
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, CDbPipe, pPipe);
|
|
if(pPipe != NULL)
|
|
{
|
|
pPipe->EnableDrawLabel(FALSE);
|
|
}
|
|
OPENOBJ_END();
|
|
}
|
|
acedSetStatusBarProgressMeterPos(idx);
|
|
}
|
|
|
|
|
|
void DimPipeDnFromSprink()
|
|
{
|
|
CTemporaryResourceOverride vTemp;
|
|
CSprinklerDimPipeDnDlg dlg;
|
|
if(dlg.DoModal() != IDOK)
|
|
return;
|
|
Entity entMainPipe;
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_PIPE_SPRINKLE, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_PIPE_SPRINKLE2, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_PIPE_SPRINKLE3, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_VPIPE_SPRINKLE, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_VPIPE_SPRINKLE2,-4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("AEC_ZT_PIPE"), 8, LAY_VPIPE_SPRINKLE3,-4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
|
|
if(GlobalFunc::SelectEntity(_T("\n请选择喷淋干管<退出>"), entMainPipe, rbMask) != RTNORM)
|
|
return;
|
|
SSearchPipeList *pListAll = new SSearchPipeList();
|
|
PickSet ssAll(SS_FREE);
|
|
ssAll += entMainPipe;
|
|
|
|
if(!GlobalFunc::SearchSprinkPipeSys(entMainPipe, NULL, pListAll, ssAll)){
|
|
AfxMessageBox(_T("喷淋系统有回路!"));
|
|
delete pListAll;
|
|
return;
|
|
}
|
|
|
|
|
|
acedSetStatusBarProgressMeter(_T("标注中..."), 0, ssAll.Length());
|
|
int idx(0);
|
|
DoDimSprinkPipeDn(pListAll, &dlg, idx);
|
|
acedRestoreStatusBar();
|
|
GlobalFunc::UpdateMultDim();
|
|
|
|
delete pListAll;
|
|
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSprinklerDimPipeDnDlg dialog
|
|
|
|
|
|
CSprinklerDimPipeDnDlg::CSprinklerDimPipeDnDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CSprinklerDimPipeDnDlg::IDD, pParent), m_dDst(0), m_spinDst(0.5)
|
|
{
|
|
//{{AFX_DATA_INIT(CSprinklerDimPipeDnDlg)
|
|
m_iDn100 = 0;
|
|
m_iDn125 = 0;
|
|
m_iDn150 = 0;
|
|
m_iDn32 = 0;
|
|
m_iDn25 = 0;
|
|
m_iDn40 = 0;
|
|
m_iDn70 = 0;
|
|
m_iDn50 = 0;
|
|
m_iDn80 = 0;
|
|
m_iLevel = 1;
|
|
m_bK = TRUE;
|
|
m_bDn70 = FALSE;
|
|
m_iDn200 = 0;
|
|
m_dDimFontHeight = 0.0;
|
|
m_dMinDn = 25;
|
|
m_dDst = 2;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CSprinklerDimPipeDnDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CSprinklerDimPipeDnDlg)
|
|
DDX_Text(pDX, IDC_EDIT_DN100, m_iDn100);
|
|
DDX_Text(pDX, IDC_EDIT_DN125, m_iDn125);
|
|
DDX_Text(pDX, IDC_EDIT_DN150, m_iDn150);
|
|
DDX_Text(pDX, IDC_EDIT_DN32, m_iDn32);
|
|
DDX_Text(pDX, IDC_EDIT_DN25, m_iDn25);
|
|
DDX_Text(pDX, IDC_EDIT_DN40, m_iDn40);
|
|
DDX_Text(pDX, IDC_EDIT_DN70, m_iDn70);
|
|
DDX_Text(pDX, IDC_EDIT_DN50, m_iDn50);
|
|
DDX_Text(pDX, IDC_EDIT_DN80, m_iDn80);
|
|
DDX_Text(pDX, IDC_COMBO_MINDN, m_dMinDn);
|
|
DDX_Radio(pDX, IDC_RADIO_LEVEL1, m_iLevel);
|
|
DDX_Check(pDX, IDC_CHECK_K, m_bK);
|
|
DDX_Check(pDX, IDC_CHECK_DN70, m_bDn70);
|
|
DDX_Text(pDX, IDC_EDIT_DN200, m_iDn200);
|
|
DDX_Text(pDX, IDC_EDT_DIMFONTHEIGHT, m_dDimFontHeight);
|
|
//}}AFX_DATA_MAP
|
|
DDX_Text(pDX, IDC_EDIT_DST, m_dDst);
|
|
DDX_Control(pDX, IDC_SPIN_DST, m_spinDst);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSprinklerDimPipeDnDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CSprinklerDimPipeDnDlg)
|
|
ON_BN_CLICKED(IDC_RADIO_LEVEL1, OnRadioLevel1)
|
|
ON_BN_CLICKED(IDC_RADIO_LEVEL2, OnRadioLevel2)
|
|
ON_BN_CLICKED(IDC_BUTTON_DEFAULT, OnButtonDefault)
|
|
ON_BN_CLICKED(IDC_RADIO_LEVEL3, OnRadioLevel3)
|
|
ON_MESSAGE(WM_ACAD_KEEPFOCUS, onAcadKeepFocus)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSprinklerDimPipeDnDlg message handlers
|
|
|
|
BOOL CSprinklerDimPipeDnDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler"));
|
|
regProp.SetTopRootKey(HKEY_CURRENT_USER);
|
|
if (!regProp.GetValue(_T("DistDimToLine"), m_dDst))
|
|
{
|
|
m_dDst = 2;
|
|
}
|
|
UpdateData(FALSE);
|
|
|
|
m_spinDst.SetRange(0, 10);
|
|
Default();
|
|
UpdateDlgData(TRUE);
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::OnRadioLevel1()
|
|
{
|
|
UpdateDn(FALSE);
|
|
UpdateDn(TRUE);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::OnRadioLevel2()
|
|
{
|
|
UpdateDn(FALSE);
|
|
UpdateDn(TRUE);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::OnRadioLevel3()
|
|
{
|
|
UpdateDn(FALSE);
|
|
UpdateDn(TRUE);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
LONG_PTR CSprinklerDimPipeDnDlg::onAcadKeepFocus(UINT_PTR, LONG_PTR)
|
|
{
|
|
POINT pt;
|
|
::GetCursorPos(&pt);
|
|
CRect rect;
|
|
GetWindowRect(&rect);
|
|
if (!(rect.PtInRect(pt)))
|
|
{
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::OnButtonDefault()
|
|
{
|
|
Default();
|
|
UpdateDn(TRUE);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::Default()
|
|
{
|
|
m_iSprinklerArray1[0] = 1;
|
|
m_iSprinklerArray1[1] = 3;
|
|
m_iSprinklerArray1[2] = 5;
|
|
m_iSprinklerArray1[3] = 10;
|
|
m_iSprinklerArray1[4] = 18;
|
|
m_iSprinklerArray1[5] = 48;
|
|
m_iSprinklerArray1[6] = 64;
|
|
m_iSprinklerArray1[7] = 80;
|
|
m_iSprinklerArray1[8] = 100;
|
|
m_iSprinklerArray1[9] = 0;
|
|
|
|
m_iSprinklerArray2[0] = 1;
|
|
// cet 2011.5.13 modify
|
|
// m_iSprinklerArray2[1] = 2;
|
|
// m_iSprinklerArray2[2] = 3;
|
|
m_iSprinklerArray2[1] = 3;
|
|
m_iSprinklerArray2[2] = 4;
|
|
m_iSprinklerArray2[3] = 8;
|
|
m_iSprinklerArray2[4] = 12;
|
|
m_iSprinklerArray2[5] = 32;
|
|
m_iSprinklerArray2[6] = 64;
|
|
m_iSprinklerArray2[7] = 80;
|
|
m_iSprinklerArray2[8] = 100;
|
|
m_iSprinklerArray2[9] = 0;
|
|
|
|
m_iSprinklerArray3[0] = 1;
|
|
m_iSprinklerArray3[1] = 2;
|
|
m_iSprinklerArray3[2] = 3;
|
|
m_iSprinklerArray3[3] = 6;
|
|
m_iSprinklerArray3[4] = 10;
|
|
m_iSprinklerArray3[5] = 30;
|
|
m_iSprinklerArray3[6] = 64;
|
|
m_iSprinklerArray3[7] = 80;
|
|
m_iSprinklerArray3[8] = 100;
|
|
m_iSprinklerArray3[9] = 0;
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::UpdateDn(BOOL bIsRead)
|
|
{
|
|
//UpdateData(TRUE);
|
|
if(bIsRead){
|
|
if(m_iLevel == 0){
|
|
m_iDn25 = m_iSprinklerArray1[0];
|
|
m_iDn32 = m_iSprinklerArray1[1];
|
|
m_iDn40 = m_iSprinklerArray1[2];
|
|
m_iDn50 = m_iSprinklerArray1[3];
|
|
m_iDn70 = m_iSprinklerArray1[4];
|
|
m_iDn80 = m_iSprinklerArray1[5];
|
|
m_iDn100 = m_iSprinklerArray1[6];
|
|
m_iDn125 = m_iSprinklerArray1[7];
|
|
m_iDn150 = m_iSprinklerArray1[8];
|
|
m_iDn200 = m_iSprinklerArray1[9];
|
|
}
|
|
else if(m_iLevel == 1){
|
|
m_iDn25 = m_iSprinklerArray2[0];
|
|
m_iDn32 = m_iSprinklerArray2[1];
|
|
m_iDn40 = m_iSprinklerArray2[2];
|
|
m_iDn50 = m_iSprinklerArray2[3];
|
|
m_iDn70 = m_iSprinklerArray2[4];
|
|
m_iDn80 = m_iSprinklerArray2[5];
|
|
m_iDn100 = m_iSprinklerArray2[6];
|
|
m_iDn125 = m_iSprinklerArray2[7];
|
|
m_iDn150 = m_iSprinklerArray2[8];
|
|
m_iDn200 = m_iSprinklerArray2[9];
|
|
}
|
|
else if(m_iLevel == 2){
|
|
m_iDn25 = m_iSprinklerArray3[0];
|
|
m_iDn32 = m_iSprinklerArray3[1];
|
|
m_iDn40 = m_iSprinklerArray3[2];
|
|
m_iDn50 = m_iSprinklerArray3[3];
|
|
m_iDn70 = m_iSprinklerArray3[4];
|
|
m_iDn80 = m_iSprinklerArray3[5];
|
|
m_iDn100 = m_iSprinklerArray3[6];
|
|
m_iDn125 = m_iSprinklerArray3[7];
|
|
m_iDn150 = m_iSprinklerArray3[8];
|
|
m_iDn200 = m_iSprinklerArray3[9];
|
|
}
|
|
}
|
|
else{
|
|
if(m_iLevel == 0){
|
|
UpdateData(TRUE);
|
|
m_iSprinklerArray1[0] = m_iDn25;
|
|
m_iSprinklerArray1[1] = m_iDn32;
|
|
m_iSprinklerArray1[2] = m_iDn40;
|
|
m_iSprinklerArray1[3] = m_iDn50;
|
|
m_iSprinklerArray1[4] = m_iDn70;
|
|
m_iSprinklerArray1[5] = m_iDn80;
|
|
m_iSprinklerArray1[6] = m_iDn100;
|
|
m_iSprinklerArray1[7] = m_iDn125;
|
|
m_iSprinklerArray1[8] = m_iDn150;
|
|
m_iSprinklerArray1[9] = m_iDn200;
|
|
}
|
|
else if(m_iLevel == 1){
|
|
UpdateData(TRUE);
|
|
m_iSprinklerArray2[0] = m_iDn25;
|
|
m_iSprinklerArray2[1] = m_iDn32;
|
|
m_iSprinklerArray2[2] = m_iDn40;
|
|
m_iSprinklerArray2[3] = m_iDn50;
|
|
m_iSprinklerArray2[4] = m_iDn70;
|
|
m_iSprinklerArray2[5] = m_iDn80;
|
|
m_iSprinklerArray2[6] = m_iDn100;
|
|
m_iSprinklerArray2[7] = m_iDn125;
|
|
m_iSprinklerArray2[8] = m_iDn150;
|
|
m_iSprinklerArray2[9] = m_iDn200;
|
|
}
|
|
else if(m_iLevel == 2){
|
|
UpdateData(TRUE);
|
|
m_iSprinklerArray3[0] = m_iDn25;
|
|
m_iSprinklerArray3[1] = m_iDn32;
|
|
m_iSprinklerArray3[2] = m_iDn40;
|
|
m_iSprinklerArray3[3] = m_iDn50;
|
|
m_iSprinklerArray3[4] = m_iDn70;
|
|
m_iSprinklerArray3[5] = m_iDn80;
|
|
m_iSprinklerArray3[6] = m_iDn100;
|
|
m_iSprinklerArray3[7] = m_iDn125;
|
|
m_iSprinklerArray3[8] = m_iDn150;
|
|
m_iSprinklerArray3[9] = m_iDn200;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::UpdateDlgData(BOOL bIsRead)
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler"));
|
|
regProp.SetTopRootKey(HKEY_CURRENT_USER);
|
|
if(bIsRead){
|
|
regProp.GetValue(_T("MinPipe25"), m_iSprinklerArray1[0]);
|
|
regProp.GetValue(_T("MinPipe32"), m_iSprinklerArray1[1]);
|
|
regProp.GetValue(_T("MinPipe40"), m_iSprinklerArray1[2]);
|
|
regProp.GetValue(_T("MinPipe50"), m_iSprinklerArray1[3]);
|
|
regProp.GetValue(_T("MinPipe70"), m_iSprinklerArray1[4]);
|
|
regProp.GetValue(_T("MinPipe80"), m_iSprinklerArray1[5]);
|
|
regProp.GetValue(_T("MinPipe100"), m_iSprinklerArray1[6]);
|
|
regProp.GetValue(_T("MinPipe125"), m_iSprinklerArray1[7]);
|
|
regProp.GetValue(_T("MinPipe150"), m_iSprinklerArray1[8]);
|
|
regProp.GetValue(_T("MinPipe200"), m_iSprinklerArray1[9]);
|
|
|
|
regProp.GetValue(_T("MidPipe25"), m_iSprinklerArray2[0]);
|
|
regProp.GetValue(_T("MidPipe32"), m_iSprinklerArray2[1]);
|
|
regProp.GetValue(_T("MidPipe40"), m_iSprinklerArray2[2]);
|
|
regProp.GetValue(_T("MidPipe50"), m_iSprinklerArray2[3]);
|
|
regProp.GetValue(_T("MidPipe70"), m_iSprinklerArray2[4]);
|
|
regProp.GetValue(_T("MidPipe80"), m_iSprinklerArray2[5]);
|
|
regProp.GetValue(_T("MidPipe100"), m_iSprinklerArray2[6]);
|
|
regProp.GetValue(_T("MidPipe125"), m_iSprinklerArray2[7]);
|
|
regProp.GetValue(_T("MidPipe150"), m_iSprinklerArray2[8]);
|
|
regProp.GetValue(_T("MidPipe200"), m_iSprinklerArray2[9]);
|
|
|
|
regProp.GetValue(_T("MaxPipe25"), m_iSprinklerArray3[0]);
|
|
regProp.GetValue(_T("MaxPipe32"), m_iSprinklerArray3[1]);
|
|
regProp.GetValue(_T("MaxPipe40"), m_iSprinklerArray3[2]);
|
|
regProp.GetValue(_T("MaxPipe50"), m_iSprinklerArray3[3]);
|
|
regProp.GetValue(_T("MaxPipe70"), m_iSprinklerArray3[4]);
|
|
regProp.GetValue(_T("MaxPipe80"), m_iSprinklerArray3[5]);
|
|
regProp.GetValue(_T("MaxPipe100"), m_iSprinklerArray3[6]);
|
|
regProp.GetValue(_T("MaxPipe125"), m_iSprinklerArray3[7]);
|
|
regProp.GetValue(_T("MaxPipe150"), m_iSprinklerArray3[8]);
|
|
regProp.GetValue(_T("MaxPipe200"), m_iSprinklerArray3[9]);
|
|
|
|
// cet 2010.5.18 add
|
|
if (!regProp.GetValue(_T("DimFontHeight"),m_dDimFontHeight))
|
|
{
|
|
m_dDimFontHeight = g_Option::instance().g_nPipeDnHeight;
|
|
}
|
|
|
|
if (!regProp.GetValue(_T("MinShowDn"), m_dMinDn))
|
|
{
|
|
m_dMinDn = 25;
|
|
}
|
|
|
|
UpdateDn(TRUE);
|
|
UpdateData(FALSE);
|
|
}
|
|
else{
|
|
regProp.SetValue(_T("MinPipe25"), m_iSprinklerArray1[0]);
|
|
regProp.SetValue(_T("MinPipe32"), m_iSprinklerArray1[1]);
|
|
regProp.SetValue(_T("MinPipe40"), m_iSprinklerArray1[2]);
|
|
regProp.SetValue(_T("MinPipe50"), m_iSprinklerArray1[3]);
|
|
regProp.SetValue(_T("MinPipe70"), m_iSprinklerArray1[4]);
|
|
regProp.SetValue(_T("MinPipe80"), m_iSprinklerArray1[5]);
|
|
regProp.SetValue(_T("MinPipe100"), m_iSprinklerArray1[6]);
|
|
regProp.SetValue(_T("MinPipe125"), m_iSprinklerArray1[7]);
|
|
regProp.SetValue(_T("MinPipe150"), m_iSprinklerArray1[8]);
|
|
regProp.SetValue(_T("MinPipe200"), m_iSprinklerArray1[9]);
|
|
|
|
regProp.SetValue(_T("MidPipe25"), m_iSprinklerArray2[0]);
|
|
regProp.SetValue(_T("MidPipe32"), m_iSprinklerArray2[1]);
|
|
regProp.SetValue(_T("MidPipe40"), m_iSprinklerArray2[2]);
|
|
regProp.SetValue(_T("MidPipe50"), m_iSprinklerArray2[3]);
|
|
regProp.SetValue(_T("MidPipe70"), m_iSprinklerArray2[4]);
|
|
regProp.SetValue(_T("MidPipe80"), m_iSprinklerArray2[5]);
|
|
regProp.SetValue(_T("MidPipe100"), m_iSprinklerArray2[6]);
|
|
regProp.SetValue(_T("MidPipe125"), m_iSprinklerArray2[7]);
|
|
regProp.SetValue(_T("MidPipe150"), m_iSprinklerArray2[8]);
|
|
regProp.SetValue(_T("MidPipe200"), m_iSprinklerArray2[9]);
|
|
|
|
regProp.SetValue(_T("MaxPipe25"), m_iSprinklerArray3[0]);
|
|
regProp.SetValue(_T("MaxPipe32"), m_iSprinklerArray3[1]);
|
|
regProp.SetValue(_T("MaxPipe40"), m_iSprinklerArray3[2]);
|
|
regProp.SetValue(_T("MaxPipe50"), m_iSprinklerArray3[3]);
|
|
regProp.SetValue(_T("MaxPipe70"), m_iSprinklerArray3[4]);
|
|
regProp.SetValue(_T("MaxPipe80"), m_iSprinklerArray3[5]);
|
|
regProp.SetValue(_T("MaxPipe100"), m_iSprinklerArray3[6]);
|
|
regProp.SetValue(_T("MaxPipe125"), m_iSprinklerArray3[7]);
|
|
regProp.SetValue(_T("MaxPipe150"), m_iSprinklerArray3[8]);
|
|
regProp.SetValue(_T("MaxPipe200"), m_iSprinklerArray3[9]);
|
|
|
|
// cet 2010.5.18 add
|
|
regProp.SetValue(_T("DimFontHeight"),m_dDimFontHeight);
|
|
regProp.SetValue(_T("MinShowDn"), m_dMinDn);
|
|
}
|
|
}
|
|
|
|
void CSprinklerDimPipeDnDlg::OnOK()
|
|
{
|
|
// zxl 2013.09.04 add
|
|
if (!UpdateData(TRUE))
|
|
{
|
|
return;
|
|
}
|
|
UpdateDn(FALSE);
|
|
UpdateDlgData(FALSE);
|
|
TRegProperty regProp(_T("SoftWare\\SHANGHUASOFT\\2023"), _T("Sprinkler"));
|
|
regProp.SetTopRootKey(HKEY_CURRENT_USER);
|
|
regProp.SetValue(_T("DistDimToLine"), m_dDst);
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//**************************************************************************
|
|
// 暂时作废
|
|
//**************************************************************************
|
|
|
|
//BOOL GetSprinkFormPipe(Entity ent, AcDbObjectId &idRet1, AcDbObjectId &idRet2)
|
|
//{
|
|
// BOOL bRet = FALSE;
|
|
// OPENOBJ_BEGIN(ent, AcDb::kForRead, CDbPipe, pPipe);
|
|
// if(pPipe){
|
|
// AcDbObjectId nodeId1(NULL), nodeId2(NULL);
|
|
// nodeId1 = pPipe->GetNode(0);
|
|
// nodeId2 = pPipe->GetNode(1);
|
|
// if(IsSprinkler(nodeId1)){
|
|
// idRet1 = nodeId1;
|
|
// bRet = TRUE;
|
|
// }
|
|
// if(IsSprinkler(nodeId2)){
|
|
// idRet2 = nodeId2;
|
|
// bRet = TRUE;
|
|
// }
|
|
// }
|
|
// OPENOBJ_END();
|
|
// return bRet;
|
|
|
|
//void DimPipeDnFromSprink2()
|
|
//{
|
|
// Entity ent;
|
|
// if(GlobalFunc::SelectEntity(_T("\n请选择喷淋干管<退出>"), ent, RBList()) != RTNORM)
|
|
// return;
|
|
// AcDbObjectId idFront = NULL;
|
|
// acdbGetObjectId(idFront, ent);
|
|
// PickSet ss(SS_FREE);
|
|
// GetAllPipeAndEqByNode(idFront, Entity(), ss);
|
|
// ss.Redraw(3);
|
|
|
|
|
|
//void GetAllPipeAndEqByPipe(AcDbObjectId pipeId, Entity entFront, PickSet &ss)
|
|
//{
|
|
// AcDbObjectId idFront = NULL;
|
|
// acdbGetObjectId(idFront, entFront);
|
|
//
|
|
// OPENOBJ_BEGIN(pipeId, AcDb::kForRead, CDbPipe, pPipe);
|
|
// if(pPipe){
|
|
// AcDbObjectId nodeId1(NULL), nodeId2(NULL);
|
|
// nodeId1 = pPipe->GetNode(0);
|
|
// nodeId2 = pPipe->GetNode(1);
|
|
// if(!IsEquipment(nodeId1))
|
|
// GetAllPipeAndEqByNode(nodeId1, entFront, ss);
|
|
// else if(idFront != nodeId1)
|
|
// ss += nodeId1;
|
|
// if(!IsEquipment(nodeId2))
|
|
// GetAllPipeAndEqByNode(nodeId2, entFront, ss);
|
|
// else if(idFront != nodeId2)
|
|
// ss += nodeId2;
|
|
// }
|
|
// OPENOBJ_END();
|
|
// return;
|
|
|
|
|
|
|
|
//void GetAllPipeAndEqByNode(AcDbObjectId nodeId, Entity entFront, PickSet &ss)
|
|
//{
|
|
// AcDbObjectId idFront = NULL;
|
|
// acdbGetObjectId(idFront, entFront);
|
|
//
|
|
// PickSet ssSelf(SS_FREE);
|
|
// OPENOBJ_BEGIN(nodeId, AcDb::kForRead, TDbPipeNode, pNode);
|
|
// if(pNode){
|
|
// int num = pNode->GetInterfaceNum();
|
|
// for(int i=0;i<num;i++){
|
|
// TPipeInterface face;
|
|
// pNode->GetInterface(i, face);
|
|
// AcDbObjectId nextPipeId = face.m_idPipe;
|
|
// if(idFront == nextPipeId)
|
|
// return;
|
|
// ssSelf += nextPipeId;
|
|
// }
|
|
// }
|
|
// OPENOBJ_END();
|
|
// ss += ssSelf;
|
|
|
|
|
|
//BOOL SearchPipeSys(Entity ent, Entity entFront, SSearchPipeList *pListAll, PickSet &ssAll)
|
|
//{
|
|
// AcDbObjectId id = NULL;
|
|
// acdbGetObjectId(id, ent);
|
|
// pListAll->m_ID = id;
|
|
// PickSet ss(SS_FREE);
|
|
// int len(0);
|
|
//
|
|
// if(ent.Is(_T("AEC_ZT_PIPE")))
|
|
// GetAllPipeAndEqByPipe(id, entFront, ss);
|
|
// else if(ent.Is(_T("ATS_EQUIPMENT"))){
|
|
// GetAllPipeAndEqByNode(id, Entity(), ss);
|
|
// ss -= entFront;
|
|
// }
|
|
// ss -= ent;
|
|
//
|
|
// for(long j=0;j<ss.Length();j++){
|
|
// Entity entTmp = ss[j];
|
|
// if(entTmp.In(ssAll) > 0){
|
|
// return FALSE;
|
|
// }
|
|
// }
|
|
//
|
|
// ssAll += ss;
|
|
// len = ss.Length();
|
|
// for(long i=0;i<ss.Length();i++){
|
|
// Entity entTmp = ss[i];
|
|
// SSearchPipeList *pList = new SSearchPipeList();
|
|
// acdbGetObjectId(id, entTmp);
|
|
// pList->m_ID = id;
|
|
// if(!SearchPipeSys(entTmp, ent, pList, ssAll))
|
|
// return FALSE;
|
|
// pListAll->m_lstNode.Append(pList);
|
|
// }
|
|
// return TRUE;
|
|
//}
|
|
|