几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】problems with class derived from odgigeometrysimplifier and (http://www.dimcax.com/hust/showthread.php?t=18213)

yang686526 2009-05-06 11:50 PM

【转帖】problems with class derived from odgigeometrysimplifier and
 
problems with class derived from odgigeometrysimplifier and
problems with class derived from odgigeometrysimplifier and transformations
hello!
i looked at the odvectorizeex example and i took the exgssimpledevice class to my application as a base. when i use this class i can open the drawing and see its primitives for example polylines via exgssimpledevice:olylineproc().
but now i'm facing problems with drawing that has blocks and block references that have different rotation, scale and base points because then for example the polyline coordinates seem to be wrong. how can i take into account the block's transformation with these polyline primitives. i know in my code the current active blockreference.
here is peace of the code :
void exgssimpledevice:olylineproc(odint32 nbpoints, const odgepoint3d *pvertexlist, const odgevector3d *pnormal, const odgevector3d *pextrusion, odint32 lbasesubentmarker)
{
for(int i=0; i<nbpoints; i++)
{
odgepoint3d p = pvertexlist[i];
//p.transformby(blkref_matrix);
//the point i get here have invalid value if the current entity belongs
//to block that has different scaling rotation and base point than the
//default, i have tried to transform this point with current blockreferen
//ce's matrix (the block's base point has been taken into account) but
//it doesn't seem to help
}
}
what should i do to get the correct coordinates for polyline primitives or is there another way to do it?
hi,
i don't see any problem (maybe i or you missed something).
all primitives in odvectorizeex are being transformed with all necessary (screen <- projection <- viewing <- model) matrices to get them in screen cs. what do you mean "coordinates seem to be wrong" ?


所有的时间均为北京时间。 现在的时间是 04:59 PM.