[求助]请教ARX高手
本帖最后由 作者 于 2002-12-20 10:46:12 编辑以前一直用ADS,刚刚学习ARX,有一个问题求教各位高手:
已知ads_name,可以得到其AcDbObjectId和AcDbEntity,通过pEnt->isA()->name()也知道是AcDbPolyline,我也知道AcDbPolyline::getPointAt(unsigned int, AcGePoint3d& pt)函数可以得到点,但我如何才能将ads_name与AcDbPolyline关联上?急盼。。。
Use AcDbPolyline Class Query Function
使用AcDbPloyline类的查询函数:Acad::ErrorStatus AcDbPolyline::getPointAt(unsigned int index, AcGePoint2d& pt) const;
或者
Acad::ErrorStatus AcDbPolyline::getPointAt(unsigned int index, AcGePoint3d& pt) const;
ARX帮助中有详细说明。
[再求助]
本帖最后由 作者 于 2002-12-20 10:52:15 编辑多谢斑竹指点:
我也知道AcDbPolyline::getPointAt(unsigned int, AcGePoint3d& pt)函数可以得到点,但我如何才能将ads_name与AcDbPolyline关联上?急盼。。。
这样
假设你已得到了AcDbEntity类的指针pEnt以下代码对你可能有用:AcDbPloyline *pPLine;
if(pEnt->isKindOf(AcDbPolyline::desc()) /*一般来说,这一句不要省略,它检查pEnt指针是否为AcDbPoloyline类型*/
{
pPLine=AcDbPloyline::cast(pEnt);/* 所有AcDb实体类都派生自AcRxObject类,cast()函数是AcRxObject类的成员函数,这样调用将返回AcDbPolyline类指针,当然若pEnt不是AcDbPloyline类的,cast()函数返回NULL*/
//这样就可以针对pPLine调用AcDbPloyline类的成员函数了
//......
}
thinks
多谢斑竹:我明白了。查了半天help,也找到过这几个函数,就是不会组合着用。以后还望斑竹多指点。
页:
[1]