Files

153 lines
3.2 KiB
C++
Raw Permalink Normal View History

2026-10-04 00:04:20 +08:00
#include "stdafx.h"
2026-09-28 15:28:50 +08:00
#include "AecDbAutoStair.h"
#include "AecDbXDrawPointer.h"
Adesk::UInt32 AecDbAutoStair::kCurrentVersionNumber = 1;
ACRX_DXF_DEFINE_MEMBERS (AecDbAutoStair, AecDbBaseStair,
AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,
AcDbProxyEntity::kNoOperation | AcDbProxyEntity::kDisableProxyWarning,
AEC_DBAUTOSTAIR,
"AecDbAutoStair"
"|Product Desc: shanghua earthworm app obj"
"|Company: shanghua inc"
"|WEB Address: www.shanghuasoft.com")
AecDbAutoStair::AecDbAutoStair(void)
{
}
AecDbAutoStair::~AecDbAutoStair(void)
{
}
Acad::ErrorStatus AecDbAutoStair::dwgInFields(AcDbDwgFiler* pFiler)
{
AssertWriteEnabled();
//----- Read parent class information first.
Acad::ErrorStatus es = AecDbBaseStair::dwgInFields (pFiler) ;
if ( es != Acad::eOk )
return (es) ;
//----- Object version number needs to be read first
Adesk::UInt32 version =0 ;
if ( (es =pFiler->readUInt32 (&version)) != Acad::eOk )
return (es) ;
if ( version > AecDbAutoStair::kCurrentVersionNumber )
return (Acad::eMakeMeProxy);
return pFiler->filerStatus();
}
Acad::ErrorStatus AecDbAutoStair::dwgOutFields(AcDbDwgFiler* pFiler) const
{
assertReadEnabled();
//----- Save parent class information first.
Acad::ErrorStatus es = AecDbBaseStair::dwgOutFields (pFiler) ;
if ( es != Acad::eOk )
return (es) ;
//----- Object version number needs to be saved first
if ( (es =pFiler->writeUInt32 (AecDbAutoStair::kCurrentVersionNumber)) != Acad::eOk )
return (es) ;
return pFiler->filerStatus();
}
Acad::ErrorStatus AecDbAutoStair::dxfInFields(AcDbDxfFiler* pFiler)
{
return Acad::eOk;
}
Acad::ErrorStatus AecDbAutoStair::dxfOutFields(AcDbDxfFiler* pFiler) const
{
return Acad::eOk;
}
void AecDbAutoStair::subList() const
{
assertReadEnabled();
2026-10-04 00:04:20 +08:00
acutPrintf(_T("\n双分转角楼梯"));
2026-09-28 15:28:50 +08:00
AecDbBaseStair::subList();
}
Acad::ErrorStatus AecDbAutoStair::Draw2d(AcGiDraw &dc) const
{
assertReadEnabled();
if ( dc.IsDragging() )
{
//return Acad::eOk;
}
2026-10-04 00:04:20 +08:00
//图层
2026-09-28 15:28:50 +08:00
AcDbObjectId idLay = dc.GetLayerId();
dc.SetLayer(layerId());
int nCrBk = dc.GetColor();
int nColor = nCrBk;
if ( m_mapSpecXData.GetAt(_T("COLOR"),nColor) )
{
dc.SetColor(nColor);
}
if ( Draw2DBuffers(dc))
{
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
AecDbXDrawPointer aecDbXDraw(this,_T("AecDbAutoStairDraw"));
aecDbXDraw.Draw2d(dc);
AcDbVoidPtrArray arEntPtrs;
dc.Get2dBuffer(arEntPtrs);
Add2DBuffer(arEntPtrs);
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
Acad::ErrorStatus AecDbAutoStair::Draw3d(AcGiDraw &dc) const
{
assertReadEnabled();
if ( dc.IsDragging() )
{
//return Acad::eOk;
}
2026-10-04 00:04:20 +08:00
//图层
2026-09-28 15:28:50 +08:00
AcDbObjectId idLay = dc.GetLayerId();
dc.SetLayer(layerId());
int nCrBk = dc.GetColor();
int nColor = nCrBk;
if ( m_mapSpecXData.GetAt(_T("COLOR"),nColor) )
{
dc.SetColor(nColor);
}
if ( Draw3DBuffers(dc))
{
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
AecDbXDrawPointer aecDbXDraw(this,_T("AecDbAutoStairDraw"));
aecDbXDraw.Draw3d(dc);
AcDbVoidPtrArray arEntPtrs;
dc.Get3dBuffer(arEntPtrs);
Add3DBuffer(arEntPtrs);
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}