212 lines
4.7 KiB
C++
212 lines
4.7 KiB
C++
#include "stdafx.h"
|
|
#include "TDbHImpFittingCreatorService.h"
|
|
#include "TDbXDataMap.h"
|
|
|
|
#include "THImpHvacDuct.h"
|
|
#include "THImpHvacElbow.h"
|
|
#include "THImpHvacReducer.h"
|
|
#include "THImpHvacTee.h"
|
|
#include "THImpHvacCross.h"
|
|
#include "THImpHvacFlange.h"
|
|
#include "THImpHvacOffset.h"
|
|
#include "THImpHvacValve.h"
|
|
#include "THImpHvacAirlets.h"
|
|
#include "THImpHvacEquipment.h"
|
|
#include "THImpHvacFan.h"
|
|
#include "THImpHvacEGroup.h"
|
|
#include "THImpHvacVRVBrPipe.h"
|
|
#include "THImpHvacVRVEqu.h"
|
|
#include "THImpHvacDeDustCover.h"
|
|
#include "THImpHvacBroSymbol.h"
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[]=__FILE__;
|
|
#define new DEBUG_NEW
|
|
#endif
|
|
|
|
ACRX_CONS_DEFINE_MEMBERS(TDbHImpFittingCreatorService,TDbFittingCreatorService, 0)
|
|
|
|
TDbHImpFittingCreatorService::TDbHImpFittingCreatorService()
|
|
{
|
|
}
|
|
|
|
TDbHImpFittingCreatorService::~TDbHImpFittingCreatorService()
|
|
{
|
|
}
|
|
|
|
TImpSpecFitting* TDbHImpFittingCreatorService::CreateSpecialFitting(TDbXDataMap* pXDataMap, AcDbEntity* pOwner)
|
|
{
|
|
TImpSpecFitting* pNewFitting = NULL;
|
|
if (pXDataMap != NULL)
|
|
{
|
|
int nKind = -1;
|
|
pXDataMap->GetAt(KEY_RUNTIME, nKind);
|
|
|
|
try
|
|
{
|
|
switch(nKind)
|
|
{
|
|
case TDb::eElbow:
|
|
pNewFitting = new THImpHvacElbow;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
case TDb::eReduce:
|
|
{
|
|
pNewFitting = new THImpHvacReducer;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
}
|
|
break;
|
|
case TDb::eTee:
|
|
{
|
|
pNewFitting = new THImpHvacTee;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eCross:
|
|
{
|
|
pNewFitting = new THImpHvacCross;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eFlange:
|
|
{
|
|
pNewFitting = new THImpHvacFlange;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eOffset: // mcl add, 08.11.24
|
|
{
|
|
pNewFitting = new THImpHvacOffset;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eBroSymbol:// zh add, 2013.7.23
|
|
{
|
|
pNewFitting = new THImpHvacBroSymbol;
|
|
pNewFitting->m_pXDataMap = pXDataMap;
|
|
pNewFitting->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
acedAlert(_T("系统内存不足! new 失败!"));
|
|
return NULL;
|
|
}
|
|
}
|
|
return pNewFitting;
|
|
}
|
|
|
|
TDbImpPipeBase* TDbHImpFittingCreatorService::CreateSpecialPipe(TDbXDataMap* pXDataMap,AcDbEntity* pOwner)
|
|
{
|
|
TDbImpPipeBase* pNewPipe = NULL;
|
|
if (pXDataMap != NULL)
|
|
{
|
|
int nKind = -1;
|
|
pXDataMap->GetAt(KEY_RUNTIME, nKind);
|
|
|
|
if (nKind == TDb::ePipe)
|
|
{
|
|
pNewPipe = new THImpHvacDuct;
|
|
pNewPipe->m_pXDataMap = pXDataMap;
|
|
pNewPipe->m_pOwnerEnt = pOwner;
|
|
}
|
|
}
|
|
return pNewPipe;
|
|
}
|
|
|
|
TImpSpecEquipment* TDbHImpFittingCreatorService::CreateSpecialEquipment(TDbXDataMap* pXDataMap,AcDbEntity* pOwner)
|
|
{
|
|
TImpSpecEquipment* pNewEquipment = NULL;
|
|
if (pXDataMap != NULL)
|
|
{
|
|
int nKind = -1;
|
|
pXDataMap->GetAt(KEY_RUNTIME, nKind);
|
|
|
|
try
|
|
{
|
|
switch(nKind)
|
|
{
|
|
case TDb::eValve:
|
|
{
|
|
pNewEquipment = new THImpHvacValve;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eAirlets:
|
|
{
|
|
pNewEquipment = new THImpHvacAirlets;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eFan:
|
|
{
|
|
pNewEquipment = new THImpHvacFan;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eEquipment:
|
|
{
|
|
pNewEquipment = new THImpHvacEquipment;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eAirHanding:
|
|
{
|
|
pNewEquipment = new THImpHvacEGroup;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eVRVEqu:
|
|
{
|
|
pNewEquipment = new THImpHvacVRVEqu;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eVRVBrPipe:
|
|
{
|
|
pNewEquipment = new THImpHvacVRVBrPipe;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
case TDb::eDeDustCover:
|
|
{
|
|
pNewEquipment = new THImpHvacDeDustCover;
|
|
pNewEquipment->m_pXDataMap = pXDataMap;
|
|
pNewEquipment->m_pOwnerEnt = pOwner;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
catch(...)
|
|
{
|
|
acedAlert(_T("系统内存不足! new 失败!"));
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
return pNewEquipment;
|
|
}
|
|
|
|
TImpSpecPart* TDbHImpFittingCreatorService::CreateSpecialPart(TDbXDataMap* pXDataMap,AcDbEntity* pOwner)
|
|
{
|
|
return NULL;
|
|
}
|