1114 lines
30 KiB
C++
1114 lines
30 KiB
C++
// LoadTchDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
|
|
//#include "DocReactor.h"
|
|
#include "dbhatch.h"
|
|
#include "DbCornerWin.h"
|
|
|
|
//#include "arxtools.h"
|
|
#include "DbOpening.h"
|
|
#include "LoadTchDlg.h"
|
|
#include "TAPI.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
|
|
|
|
void ColumnBlk2Null(const TCHAR* szBlkName)
|
|
{
|
|
AcDbBlockTableRecord *pRecord = NULL;
|
|
AcDbBlockTable* pBlockTable = NULL;
|
|
acdbCurDwg()->getBlockTable(pBlockTable, AcDb::kForRead);
|
|
if(!pBlockTable)
|
|
return;
|
|
if(Acad::eOk != pBlockTable->getAt(szBlkName, pRecord, AcDb::kForWrite)){
|
|
pBlockTable->close();
|
|
return;
|
|
}
|
|
pBlockTable->close();
|
|
if(!pRecord)
|
|
return;
|
|
AcDbBlockTableRecordIterator *pIterator;
|
|
pRecord->newIterator(pIterator);
|
|
AcDbObjectId objId1 = NULL;
|
|
AcDbObjectId objId2 = NULL;
|
|
AcDbObjectId objId3 = NULL;
|
|
AcDbObjectId objId4 = NULL;
|
|
|
|
if(!pIterator){
|
|
pRecord->close();
|
|
return;
|
|
}
|
|
|
|
|
|
for(pIterator->start(); !pIterator->done(); pIterator->step()){
|
|
AcDbEntity *pEnt = NULL;
|
|
pIterator->getEntity(pEnt, AcDb::kForWrite);
|
|
if(pEnt){
|
|
AcDbHatch *pHatch = NULL;
|
|
//群亚柱子是HATCH, 直接删除
|
|
if(pHatch = AcDbHatch::cast(pEnt))
|
|
pHatch->erase();
|
|
//上华3方柱子是SOLID, 理正方柱子是SOLID+4根线
|
|
AcDbSolid *pSolid = NULL;
|
|
if(_tcsicmp(szBlkName, _T("_FZH")) == 0){
|
|
if(pSolid = AcDbSolid::cast(pEnt)){
|
|
XPoint pt1, pt2, pt3, pt4;
|
|
pSolid->getPointAt(0, pt1);
|
|
pSolid->getPointAt(1, pt2);
|
|
pSolid->getPointAt(2, pt3);
|
|
pSolid->getPointAt(3, pt4);
|
|
AcDbLine *pL1 = new AcDbLine(pt1, pt2);
|
|
AcDbLine *pL2 = new AcDbLine(pt2, pt4);
|
|
AcDbLine *pL3 = new AcDbLine(pt3, pt4);
|
|
AcDbLine *pL4 = new AcDbLine(pt1, pt3);
|
|
pRecord->appendAcDbEntity(objId1, pL1);
|
|
pRecord->appendAcDbEntity(objId2, pL2);
|
|
pRecord->appendAcDbEntity(objId3, pL3);
|
|
pRecord->appendAcDbEntity(objId4, pL4);
|
|
pL1->close();
|
|
pL2->close();
|
|
pL3->close();
|
|
pL4->close();
|
|
pSolid->erase();
|
|
pEnt->close();
|
|
break;
|
|
}
|
|
}
|
|
//上华3圆柱子是PLINE, 理正圆柱子是图块"*U"
|
|
else if(_tcsicmp(szBlkName, _T("_YZH")) == 0){
|
|
AcDbBlockReference *pRef = NULL;
|
|
AcDbPolyline *pline = NULL;
|
|
if(pRef = AcDbBlockReference::cast(pEnt))
|
|
pRef->erase();
|
|
if(pline = AcDbPolyline::cast(pEnt)){
|
|
XPoint ptCir = pRecord->origin();
|
|
AcDbCircle *pCir = new AcDbCircle(ptCir, AcGeVector3d::kZAxis, 0.5);
|
|
pRecord->appendAcDbEntity(objId4, pCir);
|
|
pCir->close();
|
|
pline->erase();
|
|
pEnt->close();
|
|
break;
|
|
}
|
|
|
|
|
|
}
|
|
pEnt->close();
|
|
}
|
|
}
|
|
pRecord->close();
|
|
delete pIterator;
|
|
|
|
}
|
|
|
|
void Column2Null()
|
|
{
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, _T("*"), 2, _T("_FZH"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, _T("*"), 2, _T("_YZH"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_COLUMN"), 8, _T("*"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ss(SS_FREE);
|
|
ColumnBlk2Null(_T("_FZH"));
|
|
ColumnBlk2Null(_T("_YZH"));
|
|
DocSetIsSolidFill(FALSE);
|
|
DocSetIsLineWeight(FALSE);
|
|
ss.Get(_T("X"), NULL, NULL, rbMask);
|
|
UpdateGraphic(ss);
|
|
}
|
|
|
|
|
|
|
|
void DelWindowText()
|
|
{
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_OPENING") , -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_CORNER_WINDOW"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, LAY_WIN, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, LAY_FIRE_DOOR, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, LAY_FIRE_WIN, -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), 8, LAY_FIRE_JL, -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ss(SS_FREE);
|
|
PickSet ssFm(SS_FREE);
|
|
if(SelectEntities(_T("\n请选择需要删除编号的门窗:<退出>"), ss, rbMask) == RTNORM){
|
|
long len = ss.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity ent = ss[i];
|
|
if(ent.Is(_T("INSERT"))){
|
|
AcDbBlockReference *pBlockRef = NULL;// 定义块表指针
|
|
AcDbObjectId eId;
|
|
acdbGetObjectId(eId, ent);
|
|
acdbOpenObject(pBlockRef, eId, AcDb::kForRead);
|
|
AcDbObjectIterator *pIterator = NULL;
|
|
pIterator = pBlockRef->attributeIterator();
|
|
for(pIterator->start();!pIterator->done();pIterator->step()){
|
|
AcDbEntity *pEnt = NULL;
|
|
AcDbAttribute *pAtt = NULL;
|
|
AcDbObjectId att_id;
|
|
att_id = pIterator->objectId();
|
|
acdbOpenAcDbEntity(pEnt, att_id, AcDb::kForWrite);
|
|
pAtt = AcDbAttribute::cast(pEnt);
|
|
if(pAtt){
|
|
TCHAR *szText = pAtt->textString();
|
|
CString csName = szText;
|
|
delete szText;
|
|
if(csName.Find(_T("FM")) < 0 && csName.Find(_T("FC")) < 0 && csName.Find(_T("FJL")) < 0)
|
|
pAtt->setInvisible(!pAtt->isInvisible());
|
|
else
|
|
ssFm += ent;
|
|
}
|
|
pEnt->close();
|
|
}
|
|
delete pIterator;
|
|
pBlockRef->close();
|
|
}
|
|
else{
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbOpening, pOpening);
|
|
if(pOpening) {
|
|
CString csName;
|
|
csName = pOpening->GetLabel();
|
|
if(csName.Find(_T("FM")) < 0 && csName.Find(_T("FC")) < 0 && csName.Find(_T("FJL")) < 0)
|
|
pOpening->SetLabelVisible(false);
|
|
else
|
|
ssFm += ent;
|
|
|
|
}
|
|
OPENOBJ_END();
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbCornerWin, pOpening);
|
|
if(pOpening) {
|
|
CString csName;
|
|
csName = pOpening->GetLabel();
|
|
if(csName.Find(_T("FC")) < 0)
|
|
pOpening->SetHideLabel(TRUE);
|
|
else
|
|
ssFm += ent;
|
|
}
|
|
OPENOBJ_END();
|
|
}
|
|
}
|
|
long len2 = ssFm.Length();
|
|
if(len2 == 0)
|
|
return;
|
|
TCHAR chText[256];
|
|
ads_getstring(NULL, _T("\n发现有防火门窗,是否也同时删除门窗编号?<N>: "), chText);
|
|
if(_tcsicmp(chText, _T("Y")) == 0)
|
|
{
|
|
|
|
for(long i=0;i<len2;i++){
|
|
Entity ent = ssFm[i];
|
|
if(ent.Is(_T("INSERT"))){
|
|
AcDbBlockReference *pBlockRef = NULL;// 定义块表指针
|
|
AcDbObjectId eId;
|
|
acdbGetObjectId(eId, ent);
|
|
acdbOpenObject(pBlockRef, eId, AcDb::kForRead);
|
|
AcDbObjectIterator *pIterator = NULL;
|
|
pIterator = pBlockRef->attributeIterator();
|
|
for(pIterator->start();!pIterator->done();pIterator->step()){
|
|
AcDbEntity *pEnt = NULL;
|
|
AcDbAttribute *pAtt = NULL;
|
|
AcDbObjectId att_id;
|
|
att_id = pIterator->objectId();
|
|
acdbOpenAcDbEntity(pEnt, att_id, AcDb::kForWrite);
|
|
pAtt = AcDbAttribute::cast(pEnt);
|
|
if(pAtt){
|
|
pAtt->setInvisible(!pAtt->isInvisible());
|
|
}
|
|
pEnt->close();
|
|
}
|
|
delete pIterator;
|
|
pBlockRef->close();
|
|
}
|
|
else{
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbOpening, pOpening);
|
|
if(pOpening) {
|
|
pOpening->SetLabelVisible(false);
|
|
}
|
|
OPENOBJ_END();
|
|
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbCornerWin, pOpening);
|
|
if(pOpening) {
|
|
pOpening->SetHideLabel(TRUE);
|
|
}
|
|
OPENOBJ_END();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CLoadTchDlg dialog
|
|
|
|
void LoadTch()
|
|
{
|
|
CAcModuleResourceOverride vTemp;
|
|
SetLayer0UnLocked();
|
|
CLoadTchDlg dlg;
|
|
if(dlg.DoModal() != IDOK)
|
|
return;
|
|
|
|
PickSet ssAll(SS_FREE);
|
|
if(SelectEntities(_T("\n请选择建筑图范围<整张图>"), ssAll, RBList()) != RTNORM)
|
|
ssAll.Get(_T("X"), NULL, NULL, NULL);
|
|
|
|
UNDOB;
|
|
PickSet sswall(SS_FREE), ssReserve(SS_FREE), ssThick(SS_FREE);
|
|
long sslen = ssAll.Length();
|
|
for(long m=0;m<sslen;m++){
|
|
Entity entTmp = ssAll[m];
|
|
if(entTmp.Is(_T("HATCH"))){
|
|
AcDbObjectId eId;
|
|
AcDbHatch *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForRead);
|
|
if(pEnt){
|
|
if(pEnt->associative()){
|
|
if(pEnt->upgradeOpen()==Acad::eOk) {
|
|
pEnt->setAssociative(false);
|
|
pEnt->downgradeOpen();
|
|
}
|
|
}
|
|
pEnt->close();
|
|
}
|
|
}
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, LAY_TEXT) == 0)
|
|
ssReserve += entTmp;
|
|
else if(_tcsicmp(szLayer, _T("TCH_保留")) == 0 || _tcsicmp(szLayer, LAY_BALCONY) == 0)
|
|
ssReserve += entTmp;
|
|
if(_tcsicmp(szLayer, _T("PUB_WALL")) == 0){
|
|
ssThick += entTmp;
|
|
}
|
|
if(dlg.m_bColumn){
|
|
if(_tcsicmp(szLayer, LAY_COLU) == 0){
|
|
ssReserve += entTmp;
|
|
sswall += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bDote){
|
|
if(_tcsicmp(szLayer, LAY_AXIS) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bLvtry){
|
|
if(_tcsicmp(szLayer, LAY_SANIWARE) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bPubTitle){
|
|
if(_tcsicmp(szLayer, _T("PUB_TITLE")) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bSpace){
|
|
if(_tcsicmp(szLayer, LAY_SPACE) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bStair){
|
|
if(_tcsicmp(szLayer, LAY_STAIR) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bWall){
|
|
if(_tcsicmp(szLayer, LAY_WALL) == 0){
|
|
ssReserve += entTmp;
|
|
sswall += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bWindow){
|
|
if(_tcsicmp(szLayer, LAY_WIN) == 0){
|
|
ssReserve += entTmp;
|
|
if(entTmp.Is(_T("INSERT")))
|
|
SetBlkAttrText(entTmp, _T(""), _T("A"), 0.0, FALSE);
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bAxis){
|
|
if(_tcsicmp(szLayer, LAY_DIMAX) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bText){
|
|
if(_tcsicmp(szLayer, _T("PUB_TEXT")) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
if(dlg.m_bDim){//要PUB_DIM层的图元
|
|
if(_tcsicmp(szLayer, _T("PUB_DIM")) == 0){
|
|
ssReserve += entTmp;
|
|
continue;
|
|
}
|
|
}
|
|
// else{ //不要PUB_DIM层的图元, 删除所有尺寸标注, 保留符号标注
|
|
// if(_tcsicmp(szLayer, _T("PUB_DIM")) == 0 && !entTmp.Is(_T("DIMENSION")) && !entTmp.Is(_T("ATS_DIMENSION"))){
|
|
// ssReserve += entTmp;
|
|
// continue;
|
|
// }
|
|
// }
|
|
//保留其它图层
|
|
if(dlg.m_iMode == 1){
|
|
BOOL bOther = TRUE;
|
|
for(int j=0;j<dlg.m_lstDelLay.Length();j++){
|
|
CString csLayTmp = dlg.m_lstDelLay[j];
|
|
if(_tcsicmp(csLayTmp, szLayer) == 0){
|
|
bOther = FALSE;
|
|
break;
|
|
}
|
|
}
|
|
if(bOther)
|
|
ssReserve += entTmp;
|
|
}
|
|
|
|
}
|
|
if(dlg.m_bWallThick){
|
|
ssReserve -= ssThick;
|
|
}
|
|
ssAll -= ssReserve;
|
|
ssAll.Erase();
|
|
XPushVarStr clayer(_T("CLAYER"), _T("0"));
|
|
if(dlg.m_bWindow)
|
|
SetLayerOnOff(LAY_OPENING_DIM, FALSE);
|
|
if(dlg.m_bColumn && dlg.m_bColNull){
|
|
DocSetIsSolidFill(FALSE);
|
|
Column2Null();
|
|
}
|
|
if(dlg.m_bWallThick && dlg.m_bColumn){
|
|
DocSetIsLineWeight(FALSE);
|
|
UpdateGraphic(sswall);
|
|
}
|
|
// ads_command(RTSTR, _T(".PURGE"), RTSTR, _T("ALL"), RTSTR, _T(""), RTSTR, _T("N"), RTNONE);
|
|
UNDOE;
|
|
}
|
|
|
|
CLoadTchDlg::CLoadTchDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CLoadTchDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CLoadTchDlg)
|
|
m_bColumn = 1;
|
|
if (g_nProductId == 15 || g_nProductId == 5)
|
|
m_bDote = 1; // add by cq 2015-05-29 10:37:09 暖通专业 转条件图,默认值保留轴线
|
|
else
|
|
m_bDote = 0;
|
|
m_bLvtry = 1;
|
|
m_bPubTitle = 1;
|
|
m_bSpace = 1;
|
|
m_bStair = 1;
|
|
m_bWall = 1;
|
|
m_bWindow = 1;
|
|
m_bAxis = 1;
|
|
m_bAll = TRUE;
|
|
m_bDim = 0;
|
|
m_bText = 1;
|
|
m_iMode = 1;
|
|
m_bColNull = TRUE;
|
|
m_bWallThick = TRUE;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CLoadTchDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CLoadTchDlg)
|
|
DDX_Check(pDX, IDC_CHECK_COLUMN, m_bColumn);
|
|
DDX_Check(pDX, IDC_CHECK_DOTE, m_bDote);
|
|
DDX_Check(pDX, IDC_CHECK_LVTRY, m_bLvtry);
|
|
DDX_Check(pDX, IDC_CHECK_PUB_TITLE, m_bPubTitle);
|
|
DDX_Check(pDX, IDC_CHECK_SPACE, m_bSpace);
|
|
DDX_Check(pDX, IDC_CHECK_STAIR, m_bStair);
|
|
DDX_Check(pDX, IDC_CHECK_WALL, m_bWall);
|
|
DDX_Check(pDX, IDC_CHECK_WINDOW, m_bWindow);
|
|
DDX_Check(pDX, IDC_CHECK_AXIS, m_bAxis);
|
|
DDX_Check(pDX, IDC_CHECK_ALL, m_bAll);
|
|
DDX_Check(pDX, IDC_CHECK_DIM, m_bDim);
|
|
DDX_Check(pDX, IDC_CHECK_PUB_TEXT, m_bText);
|
|
DDX_Radio(pDX, IDC_RADIO_MODE1, m_iMode);
|
|
DDX_Check(pDX, IDC_CHECK_COL_NULL, m_bColNull);
|
|
DDX_Check(pDX, IDC_CHECK_THICK, m_bWallThick);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CLoadTchDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CLoadTchDlg)
|
|
ON_BN_CLICKED(IDC_BUTTON_WALL, OnButtonWall)
|
|
ON_BN_CLICKED(IDC_BUTTON_OPENING, OnButtonOpening)
|
|
ON_BN_CLICKED(IDC_BUTTON_COLUMN, OnButtonColumn)
|
|
ON_BN_CLICKED(IDC_BUTTON_STAIR, OnButtonStair)
|
|
ON_BN_CLICKED(IDC_BUTTON_PREVIEW, OnButtonPreview)
|
|
ON_BN_CLICKED(IDC_BUTTON_AXIS, OnButtonAxis)
|
|
ON_BN_CLICKED(IDC_BUTTON_TEXT, OnButtonText)
|
|
ON_BN_CLICKED(IDC_BUTTON_TCH_RESERVE, OnButtonTchReserve)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CLoadTchDlg message handlers
|
|
|
|
void CLoadTchDlg::HideDialog(BOOL Flag)
|
|
{
|
|
if (Flag) {
|
|
GetParent()->EnableWindow(TRUE);
|
|
GetParent()->SetFocus();
|
|
GetParent()->SetActiveWindow();
|
|
ShowWindow(SW_HIDE);
|
|
}
|
|
else {
|
|
GetParent()->EnableWindow(FALSE);
|
|
EnableWindow(TRUE);
|
|
SetActiveWindow();
|
|
ShowWindow(SW_SHOW);
|
|
}
|
|
}
|
|
|
|
extern void ChangeColor(PickSet &ss, int iCol);
|
|
extern int GetLayerColorByDwg(const TCHAR*szLayer);
|
|
|
|
void CLoadTchDlg::OnButtonWall()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_WALL"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LWPOLYLINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ARC"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
Entity entSel;
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, LAY_WALL) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的墙线(上华墙线已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
PickSet ss(SS_FREE);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
ss.Redraw(3);
|
|
ssNewWall += ss;
|
|
}
|
|
if(ret != RTCAN){
|
|
InitLayer(LAY_WALL);
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(LAY_WALL);
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
|
|
|
|
void CLoadTchDlg::OnButtonOpening()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_OPENING"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LWPOLYLINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ELLIPSE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ARC"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, LAY_WIN) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的门窗(上华门窗已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
PickSet ss(SS_FREE);
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
sswall += ss;
|
|
ssNewWall += ss;
|
|
ss.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(InitLayer(LAY_WIN)); // cet 2017.8.8 modify 门窗图层没有创建时,转换失败
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
void CLoadTchDlg::OnButtonColumn()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_COLUMN"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LWPOLYLINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, LAY_COLU) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的柱子(上华柱子已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
PickSet ss(SS_FREE);
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
sswall += ss;
|
|
ssNewWall += ss;
|
|
ss.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
InitLayer(LAY_COLU);
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(LAY_COLU);
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
void CLoadTchDlg::OnButtonAxis()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_AXIS_LABEL"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_DIMENSION"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("DIMENSION"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("TEXT"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("CIRCLE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("INSERT"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, _T("AXIS")) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的轴标(上华轴标已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
PickSet ss(SS_FREE);
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
sswall += ss;
|
|
ssNewWall += ss;
|
|
ss.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
InitLayer(_T("AXIS"));
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(_T("AXIS"));
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
void CLoadTchDlg::OnButtonText()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_TEXT"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_MTEXT"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("MTEXT"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("TEXT"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, _T("PUB_TEXT")) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的文字(上华文字已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
PickSet ss(SS_FREE);
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
sswall += ss;
|
|
ssNewWall += ss;
|
|
ss.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
InitLayer(_T("PUB_TEXT"));
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(_T("PUB_TEXT"));
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
void CLoadTchDlg::OnButtonTchReserve() //建筑保留
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask(RTDXF0, _T("*"), 8, _T("TCH_保留"), NULL);
|
|
|
|
PickSet sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
sswall.Get(_T("X"), NULL, NULL, rbMask);
|
|
sswall.Redraw(3);
|
|
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要保留的图元(上华建筑保留图元已被虚显, ESC取消已修改操作):<确定>"), entSel, RBList());
|
|
if(ret != RTNORM)
|
|
continue;
|
|
sswall += entSel;
|
|
ssNewWall += entSel;
|
|
entSel.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
InitLayer(_T("TCH_保留"));
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(_T("TCH_保留"));
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
|
|
void CLoadTchDlg::OnButtonStair()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
RBList rbMask = ads_buildlist( -4, _T("<or"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_LINESTAIR"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_ARCSTAIR"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("ATS_RECTSTAIR"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LWPOLYLINE"), -4, _T("and>"),
|
|
-4, _T("<and"), RTDXF0, _T("LINE"), -4, _T("and>"),
|
|
-4, _T("or>"), NULL);
|
|
PickSet ssAll(SS_FREE), sswall(SS_FREE), ssNewWall(SS_FREE);
|
|
ssAll.Get(_T("X"), NULL, NULL, rbMask);
|
|
long len = ssAll.Length();
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, _T("STAIR")) == 0){
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
sswall.Redraw(3);
|
|
Entity entSel;
|
|
int ret = RTNORM;
|
|
while(ret == RTNORM){
|
|
ret = SelectEntity(_T("\n请选择需要转化为上华识别的楼梯(上华楼梯已被虚显, ESC取消已修改操作):<确定>"), entSel, rbMask);
|
|
if(ret != RTNORM)
|
|
continue;
|
|
PickSet ss(SS_FREE);
|
|
if(m_bAll){
|
|
TCHAR szSelLayer[256];
|
|
entSel.GetData(8, szSelLayer);
|
|
for(long i=0;i<len;i++){
|
|
Entity entTmp = ssAll[i];
|
|
TCHAR szTmpLayer[256];
|
|
entTmp.GetData(8, szTmpLayer);
|
|
if(_tcsicmp(szTmpLayer, szSelLayer) == 0){
|
|
ss += entTmp;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
ss += entSel;
|
|
// break;
|
|
}
|
|
sswall += ss;
|
|
ssNewWall += ss;
|
|
ss.Redraw(3);
|
|
}
|
|
|
|
if(ret != RTCAN){
|
|
InitLayer(_T("STAIR"));
|
|
long sslen = ssNewWall.Length();
|
|
for(long j=0;j<sslen;j++){
|
|
Entity entTmp = ssNewWall[j];
|
|
AcDbObjectId eId;
|
|
AcDbEntity *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
pEnt->setLayer(_T("STAIR"));
|
|
pEnt->close();
|
|
}
|
|
}
|
|
}
|
|
sswall.Redraw(4);
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
|
|
|
|
void CLoadTchDlg::OnButtonPreview()
|
|
{
|
|
UpdateData(TRUE);
|
|
UpdaeDelLayers();
|
|
HideDialog(TRUE);
|
|
PickSet ssAll(SS_FREE);
|
|
if(SelectEntities(_T("\n请选择建筑图范围<整张图>"), ssAll, RBList()) != RTNORM)
|
|
ssAll.Get(_T("X"), NULL, NULL, NULL);
|
|
|
|
PickSet sswall(SS_FREE), ssReserve(SS_FREE), ssThick(SS_FREE);
|
|
long sslen = ssAll.Length();
|
|
for(long m=0;m<sslen;m++){
|
|
Entity entTmp = ssAll[m];
|
|
if(entTmp.Is(_T("HATCH"))){
|
|
AcDbObjectId eId;
|
|
AcDbHatch *pEnt = NULL;
|
|
acdbGetObjectId(eId, entTmp);
|
|
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
|
|
if(pEnt){
|
|
if(pEnt->associative()){
|
|
pEnt->setAssociative(false);
|
|
}
|
|
pEnt->close();
|
|
}
|
|
}
|
|
TCHAR szLayer[256];
|
|
entTmp.GetData(8, szLayer);
|
|
if(_tcsicmp(szLayer, LAY_TEXT) == 0)
|
|
ssReserve += entTmp;
|
|
else if(_tcsicmp(szLayer, _T("TCH_保留")) == 0 || _tcsicmp(szLayer, LAY_BALCONY) == 0)
|
|
ssReserve += entTmp;
|
|
if(_tcsicmp(szLayer, _T("PUB_WALL")) == 0)
|
|
ssThick += entTmp;
|
|
if(m_bColumn){
|
|
if(_tcsicmp(szLayer, LAY_COLU) == 0){
|
|
ssReserve += entTmp;
|
|
sswall += entTmp;
|
|
}
|
|
}
|
|
if(m_bDote){
|
|
if(_tcsicmp(szLayer, LAY_AXIS) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bLvtry){
|
|
if(_tcsicmp(szLayer, LAY_SANIWARE) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bPubTitle){
|
|
if(_tcsicmp(szLayer, _T("PUB_TITLE")) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bSpace){
|
|
if(_tcsicmp(szLayer, LAY_SPACE) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bStair){
|
|
if(_tcsicmp(szLayer, LAY_STAIR) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bWall){
|
|
if(_tcsicmp(szLayer, LAY_WALL) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bWindow){
|
|
if(_tcsicmp(szLayer, LAY_WIN) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bAxis){
|
|
if(_tcsicmp(szLayer, LAY_DIMAX) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bText){
|
|
if(_tcsicmp(szLayer, _T("PUB_TEXT")) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
if(m_bDim){//要PUB_DIM层的图元
|
|
if(_tcsicmp(szLayer, _T("PUB_DIM")) == 0)
|
|
ssReserve += entTmp;
|
|
}
|
|
// else{ //不要PUB_DIM层的图元, 删除所有尺寸标注, 保留符号标注
|
|
// if(_tcsicmp(szLayer, _T("PUB_DIM")) == 0 && !entTmp.Is(_T("DIMENSION")) && !entTmp.Is(_T("ATS_DIMENSION")))
|
|
// ssReserve += entTmp;
|
|
// }
|
|
//保留其它图层
|
|
if(m_iMode == 1){
|
|
BOOL bOther = TRUE;
|
|
for(int j=0;j<m_lstDelLay.Length();j++){
|
|
CString csLayTmp = m_lstDelLay[j];
|
|
if(_tcsicmp(csLayTmp, szLayer) == 0){
|
|
bOther = FALSE;
|
|
break;
|
|
}
|
|
}
|
|
if(bOther)
|
|
ssReserve += entTmp;
|
|
}
|
|
}
|
|
if(m_bWallThick){
|
|
ssReserve -= ssThick;
|
|
}
|
|
ssAll -= ssReserve;
|
|
|
|
MakeVisible(ssAll, false);
|
|
ads_getstring(0, _T("\n按右键或回车返回对话框。"), XString());
|
|
MakeVisible(ssAll, true);
|
|
ads_getstring(0, _T("\n按右键或回车返回对话框。"), XString());
|
|
|
|
HideDialog(FALSE);
|
|
}
|
|
|
|
|
|
void CLoadTchDlg::OnCancel()
|
|
{
|
|
CDialog::OnCancel();
|
|
}
|
|
|
|
BOOL CLoadTchDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
return TRUE;
|
|
}
|
|
|
|
void CLoadTchDlg::OnOK()
|
|
{
|
|
UpdateData(TRUE);
|
|
UpdaeDelLayers();
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CLoadTchDlg::UpdaeDelLayers()
|
|
{
|
|
m_lstDelLay.Reset();
|
|
if(!m_bColumn){
|
|
m_lstDelLay.Append(tstrnew(LAY_COLU));
|
|
}
|
|
if(!m_bDote){
|
|
m_lstDelLay.Append(tstrnew(LAY_AXIS));
|
|
}
|
|
if(!m_bLvtry){
|
|
m_lstDelLay.Append(tstrnew(LAY_SANIWARE));
|
|
}
|
|
if(!m_bPubTitle){
|
|
m_lstDelLay.Append(tstrnew(_T("PUB_TITLE")));
|
|
}
|
|
if(!m_bSpace){
|
|
m_lstDelLay.Append(tstrnew(LAY_SPACE));
|
|
}
|
|
if(!m_bStair){
|
|
m_lstDelLay.Append(tstrnew(LAY_STAIR));
|
|
}
|
|
if(!m_bWall){
|
|
m_lstDelLay.Append(tstrnew(LAY_WALL));
|
|
}
|
|
if(!m_bWindow){
|
|
m_lstDelLay.Append(tstrnew(LAY_WIN));
|
|
}
|
|
if(!m_bAxis){
|
|
m_lstDelLay.Append(tstrnew(LAY_DIMAX));
|
|
}
|
|
if(!m_bText){
|
|
m_lstDelLay.Append(tstrnew(_T("PUB_TEXT")));
|
|
}
|
|
if(!m_bDim){//要PUB_DIM层的图元
|
|
m_lstDelLay.Append(tstrnew(_T("PUB_DIM")));
|
|
}
|
|
}
|