Тема: getStartPoint()

как паимать startPoint и endPoint линии и arc.
кагда пишу так:

    ads_name Object1 ;
    ads_point pt1 ;
    if ( acedEntSel ("\nSelect First Object: ", Object1, pt1) != RTNORM )
        return ;
    ads_name Object2 ;
    ads_point pt2 ;
    if ( acedEntSel ("\nSelect Second Object: ", Object2, pt2) != RTNORM )
        return ;
    
    AcDbObjectId id1 ;
    acdbGetObjectId (id1, Object1) ;
    AcDbObjectId id2 ;
    acdbGetObjectId (id2, Object2) ;
    
    
    AcDbEntity *pEnt1;
    acdbOpenAcDbEntity(pEnt1, id1, AcDb::kForRead);
    
    
    AcDbEntity *pEnt2;
    acdbOpenAcDbEntity(pEnt2, id2, AcDb::kForRead);
               pLine1->getStartPoint();
випадает ашибка:
error C2039: 'getStartPoint' : is not a member of 'AcDbEntity'

PLEASE HELP....................

Re: getStartPoint()

> Lexo
Может я что-то не заметил, но по-моему
не
pLine1->getStartPoint();
а
pEnt1->getStartPoint();
или
pEnt2->getStartPoint();

Re: getStartPoint()

Ну так компилятор прав на все 100%. Ты открываешь pEnt1 - объект типа AcDbEntity, а запрашиваешь точки у pLine1 - вообще неизвестно что это, хотя, возможно, это тоже AcDbEntity. Тебе же надо открывать AcDbLine и AcDbArc - судя по первой строке твоего сообщения. Для этого удобный пользоватся шаблонной функцией acdbOpenObject.

Re: getStartPoint()

[rus]spasiba za pomash
u mina vso paluchilas, mojet kamunibut i panadabidsa etat kod:[/rus]

ads_name Object1 ;
 ads_point pt1 ;
 if ( acedEntSel ("\nSelect First Object: ", Object1, pt1) != RTNORM )
  return ;
 
 ads_name Object2 ;
 ads_point pt2 ;
 if ( acedEntSel ("\nSelect Second Object: ", Object2, pt2) != RTNORM )
  return ;
 
 
 
 AcDbObjectId id1 ;
 acdbGetObjectId (id1, Object1) ;
 
 AcDbObjectId id2 ;
 acdbGetObjectId (id2, Object2) ;
 
 
 
 AcDbCurve *pEnt1;
 acdbOpenObject(pEnt1, id1, AcDb::kForRead);
 ВЩСЧХВ ЧЭИВ ЖДЕЗЫ,г МСЗВИ: acdbOpenacdbEntity 
 
 AcDbCurve *pEnt2;
 acdbOpenObject(pEnt2, id2, AcDb::kForRead);
 
 AcGePoint3d st1;
 AcGePoint3d end1;
 AcGePoint3d st2;
 AcGePoint3d end2;
 
 pEnt1->getStartPoint(st1);
 pEnt1->getEndPoint(end1);
 pEnt2->getStartPoint(st2);
 pEnt2->getEndPoint(end2);
 
 
 if (st1==st2 | st1==end2 | end1==st2 | end1==end2)
  
 {
  acutPrintf("Objects Are Conected\n");
  pEnt1->close();
  pEnt2->close();
 }
 else
 
 {
  pEnt1->upgradeOpen();
  pEnt2->upgradeOpen();
  pEnt1->setColorIndex(1);
  pEnt2->setColorIndex(1);
 
  pEnt1->close();
  pEnt2->close();
 }