[求助]intersectWith求交点的问题
直线和多线段不能求交点,错误如下图,请问如何解决?AcDbObject *pObj;AcDbObject *pObj1;
AcDbObjectId eId;
AcDb2dPolyline *pPline;
AcDbLine *pLine;
AcGePoint3dArray point;//交点坐标
AcGePlane pj;//投影面
ads_point pt1;
ads_name ent,ent1;
Acad::ErrorStatus es = Acad::eOk ;acedEntSel("\n选择多线段:",ent,pt1);
acedEntSel("\n选择直线:",ent1,pt1);
acdbGetObjectId(eId,ent);
acdbOpenObject(pObj,eId, AcDb::kForRead);
if(pObj->isKindOf(AcDbPolyline::desc()))
{
pObj->close ();
acdbOpenObject(pPline,eId,AcDb::kForRead); acdbGetObjectId(eId,ent1);
acdbOpenObject(pObj1,eId, AcDb::kForRead);
if(pObj1->isKindOf(AcDbLine::desc()))
{
acdbOpenObject(pLine,eId,AcDb::kForRead);//得到实体直线
//延伸求交点坐标
if((es = pLine->intersectWith(pPline,AcDb::kExtendThis,pj,point)) == Acad::eOk)
{
//......
}
pLine->close();
}
pObj1->close();
pPline->close();
} pPline指针的定义修改为
AcDbPolyline *pPline;
即可。 成功了!我还真是粗心!感谢张版!
页:
[1]