- UID
- 4442
- 积分
- 155
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-4-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Acad::ErrorStatus ZhouPolyDB1::drawDim(const ZhouPolyDB1* elevDim,
AcGiWorldDraw * worldDraw,
AcGiViewportDraw* vportDraw)
{
AcGePoint2d p1[5];
AcGePoint2d p2;
double DD1;
//NUM 1 外围
AcDbPolyline *PolyLine=new AcDbPolyline(5);
if(m_StartPoint[X]>m_EndPoint[X])
{
DD1=m_EndPoint[X];
m_EndPoint[X]=m_StartPoint[X];
m_StartPoint[X]=DD1;
}
if(m_StartPoint[Y]>m_EndPoint[Y])
{
DD1=m_EndPoint[Y];
m_EndPoint[Y]=m_StartPoint[Y];
m_StartPoint[Y]=DD1;
}
p2.set(m_StartPoint.x,m_StartPoint.y);
p1[0]=p2;
p2.set(m_EndPoint.x,m_StartPoint.y);
p1[1]=p2;
p1[2].set(m_EndPoint.x,m_EndPoint.y);
p2.set(m_StartPoint.x,m_EndPoint.y);
p1[3]=p2;
p1[4]=p1[0];
PolyLine->addVertexAt(0,p1[0]);
PolyLine->addVertexAt(1,p1[1]);
PolyLine->addVertexAt(2,p1[2]);
PolyLine->addVertexAt(3,p1[3]);
PolyLine->addVertexAt(4,p1[4]);
/////////////////////////
Adesk::Boolean BBB;
BBB=worldDraw->geometry().pline(*PolyLine);
if(BBB==Adesk::kFalse)
MessageBox(NULL,"YES","YES",1);
else
MessageBox(NULL,"NO","NO",1);
return Acad::eOk;
//内围
AcDbVoidPtrArray PArray;
PolyLine->getOffsetCurves(20,PArray);
AcDbPolyline *PolyLine1;
PolyLine1=(AcDbPolyline *)PArray[0];
worldDraw->geometry().pline(*PolyLine1);
delete PolyLine;
}
程序运行出错
发现BBB==Adesk::kFalse,说明是正确的,但后面就出错了,我想PolyLine应该用delete,不知对不对? |
|