yfy2003 发表于 2004-10-29 16:06:00

[求助]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();
}

zfbj 发表于 2004-10-30 10:01:00

pPline指针的定义修改为


AcDbPolyline *pPline;


即可。

yfy2003 发表于 2004-10-30 10:15:00

成功了!我还真是粗心!感谢张版!
页: [1]
查看完整版本: [求助]intersectWith求交点的问题