fix 修正自定义设备拖拽时的效率问题 #53

Merged
gjm merged 1 commits from home-lenovo-legion-r9000/修正自定义设备拖拽效率 AGit into main 2026-10-25 11:43:24 +08:00
@@ -3030,32 +3030,30 @@ Acad::ErrorStatus AecDbEwEquipment::Draw3d(AcGiDraw &dc) const
DrawInfArrow(dc);
if (!dc.IsDragging())//解开后崩溃
if (Has3DBuffer())
{
if (Has3DBuffer())
{
AcDbEntity* pEnt = NULL;
const AcDbVoidPtrArray &ar3D = Get3DBuffer();
for (int i = 0;i < ar3D.length();i++)
AcDbEntity *pEnt = NULL;
const AcDbVoidPtrArray &ar3D = Get3DBuffer();
for (int i = 0; i < ar3D.length(); i++)
{
pEnt = (AcDbEntity *)ar3D.at(i);
if (IsActive())
{
pEnt = (AcDbEntity*)ar3D.at(i);
if ( IsActive() )
{
BackupColorIndex(pEnt);
pEnt->setColorIndex(nColor);
}
else
{
SetBackupColorIndex(pEnt);
}
dc.DrawEntity(*pEnt);
BackupColorIndex(pEnt);
pEnt->setColorIndex(nColor);
}
else
{
SetBackupColorIndex(pEnt);
}
dc.DrawEntity(*pEnt);
}
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
Draw3dSolid(&dc, nColor);
dc.SetColor(nColor);