几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】odgiworldgeometrydumpercirculararc help (http://www.dimcax.com/hust/showthread.php?t=17715)

yang686526 2009-05-06 08:51 PM

【转帖】odgiworldgeometrydumpercirculararc help
 
odgiworldgeometrydumper::circulararc help
odgiworldgeometrydumper::circulararc help
this is probably a dumb question, but here goes anyways.
i am trying to override this method in the read example:
odgiworldgeometrydumper::circulararc(const odgepoint3d& center,
double radius,
const odgevector3d& normal,
const odgevector3d& startvector,
double sweepangle,
odgiarctype arctype)
what i want it to do is to dump all the points that make up the arc. can someone tell me how to go about using the given input args to getting teh generated polyline points?
thanks
steve
you can use odgecircarc3d class and its getsamplepoints() methods.
sergey slezkin
i looked at that method, but didn't think i had the required inputs for it. the only constructor i see that takes two vevotrs also required a start and end angle which i don't have.
code:
void xxx::circulararcproc(const odgepoint3d& center,
double radius,
const odgevector3d& normal,
const odgevector3d& startvector,
double sweepangle,
odgiarctype arctype,
const odgevector3d* pextrusion)
{
double dev = deviation(kodgimaxdevforcircle, center);
if (odnonzero(radius, dev))
{
odgecircarc3d circarc(center, normal, startvector.normal(), radius, 0., sweepangle);
odgeinterval interval;
circarc.getinterval(interval);
odgepoint3darray points;
circarc.getsamplepoints(interval.lowerbound(), interval.upperbound(), dev, points);
.....
sergey slezkin


所有的时间均为北京时间。 现在的时间是 11:50 AM.