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

yang686526 2009-05-04 06:17 PM

【转帖】coordinate of a point on an arc
 
coordinate of a point on an arc
coordinate of a point on an arc
hello,
i have a problem to get the wcs-coordinate of a point on an arc
mostly following code works fine (getpointatparam returns "eok")
but sometime getpointatparam failed and return "emakemeproxyfff">" !?! what does this mean and how can i solve this problem?
code:
oddbarcptr ptrarc;
odresult result;
odgepoint3d point;
double angle;
double para;
angle = ptrarc->endangle() - ptrarc->startangle();
angle = sqrt(angle*angle);
para = ptrarc->startangle();
para += (angle / 5);
result = ptrarc->getpointatparam(para, point);
has somebody a idea?
jörg
last edited by joerg; 7th november 2005 at 10:17 amfff">.

when parameter that you pass to this function is not in parametric interval of the arc, getpointatparam returns einvalidinput. you probably mixed it with emakemeproxy.
sincerely yours,
george udov
thanks for reply. : )
i checked it again, but the return value is 1 (= emakemeproxy). thats sure!
if i go step by step through the arc, the problem appear sometimes between two valid return-points. what do you mean with "parametric interval " ? is there something like a resolution of arc-points that could be the reason for my problem?

emakemeproxy result is very strange. which dd version on which environment do you use?
please modify your code this way:
code:
oddbarcptr ptrarc;
odresult result;
odgepoint3d point;
double angle;
double para;
angle = ptrarc->endangle() - ptrarc->startangle();
angle -= floor(angle/oda2pi)*oda2pi;
para = ptrarc->startangle();
para += (angle / 5);
result = ptrarc->getpointatparam(para, point);
sincerely yours,
george udov

super!! now it works fine
it seemed to be a precision problem!
i use dwgdirect version 1.13.02 on ms visual c++ 6
thank you very much indeed!
last edited by joerg; 8th november 2005 at 03:00 amfff">.


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