查看单个帖子
旧 2009-05-05, 10:16 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】exploding 3dpolylines

exploding 3dpolylines
exploding 3dpolylines
with dd 2.1.0 exploding 2dpolyline gives a set of lwpolylines
but
exploding a 3dpolyline returns a 3dpolyline.
here is the code i use :
//================================================== ===========================
void importer::convert3dpolylines(player pthelayer,oddbentityptr pent)
//================================================== ===========================
{
odresult odres;
odrxobjectptrarray pentityptrs;
bool bempty;
int inbelements,i;
odrxobjectptr pexplodedentity;
odres= pent->explodegeometry(pentityptrs);
bempty= pentityptrs.isempty();
if(!bempty)
{
inbelements= pentityptrs.length();
for(i=0; i< inbelements; i++)
{
pexplodedentity= pentityptrs[i]; // first
displayentityname((oddbentityptr) pexplodedentity);
convertentity(pexplodedentity,false,null,-1,false,null );
}
}
i would expect that exploding a 3dpolyline returns a set of 3d lines..
is this a kown issue ?
thanks
explodegeometry() calls entity's worlddraw() and makes db entities of geometry primitives called from worlddraw(). single polyline in cases of oddb3dpolyline.
in order to get lines from oddb3dpolyline you need to call explode() or explodetoblock().
sergey slezkin
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)