本帖最后由 作者 于 2007-3-17 12:23:02 编辑
有许多不相连的任意线段 目标:通过点击每条线段,来得到每条线段两端点的坐标。最好能区分线段的StartPoint和EndPoint 如何实现这一目标? 我现在的代码如下(): float xco1, yco1, xco2, yco2; //xco1,yco1是直线起点的x,y坐标;xco2,yco2是直线终点的x,y坐标 int LineNumCount=0; ads_name entres; ads_point ptres; acedGetInt("Please input the line number:",&LineNumCount); //输入待选取的直线总数 for(int i=0;i<LineNumCount;i++) { if(acedEntSel("\nPlease select a line:",entres,ptres)==RTNORM) { acutPrintf("\nPicking is OK!"); AcDbObjectId Id1; acdbGetObjectId(Id1, entres); //获得对象的ID acutPrintf("\nGetObjectId is OK!"); AcDbObject *pObj; acdbOpenAcDbObject(pObj, Id1, AcDb::kForRead, false); //根据ID打开对象,pObj指向对象的地址 isKindOf(AcDbLine::desc()); //这句语法对吗?要这么写吗? //后面该怎么写??? } else { acutPrintf("\nPicking failed!"); } } 写到isKindOf函数,后面就写不下去了。 因为编译时编译器提示错误C2065: "isKindOf()" : 未声明的标识符。 另外,我在objectARX2004的arxdoc.chm中搜索AcDbLine::desc(),没有搜到相关内容。 各位达人能否给一小段实现pick单根线段获得端点坐标的ARX代码让我借鉴一下
我现在就卡在这里了,请大家帮个忙,不胜感激 |