dry 发表于 2003-12-26 14:29:00

如何得到一条线的两个坐标

请教大侠 如何用ARX得到一条线的两个坐标
谢谢了

victory 发表于 2003-12-26 15:38:00

void GetPoints(void)
{
        double dpt;
        long entname;
        if(acedEntSel("\nSpecify a Line:",entname,dpt)!=RTNORM)
                return;

        AcDbObjectId EntID;
        acdbGetObjectId(EntID,entname);

        AcDbObject *pObj=NULL;
        if(acdbOpenObject(pObj,EntID,AcDb::kForRead)!=Acad::eOk)
                return;
        if(pObj->isKindOf(AcDbLine::desc())!=TRUE)
        {
                pObj->close();
                return;
        }
        pObj->close();

        AcDbLine *pLine=NULL;
        if(acdbOpenObject(pLine,EntID,AcDb::kForRead)!=Acad::eOk)
                return;
        AcGePoint3d agStart,agEnd;
        agStart=pLine->startPoint();
        agEnd=pLine->endPoint();
        pLine->close();

        acutPrintf("\nStart Point (%.3f,%.3f)",agStart.x,agStart.y);
        acutPrintf("\nEnd Point (%.3f,%.3f)",agEnd.x,agEnd.y);
}

dry 发表于 2003-12-26 17:01:00

非常 感谢 有机会要想你多学习呀
页: [1]
查看完整版本: 如何得到一条线的两个坐标