查看单个帖子
旧 2009-05-04, 06:17 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】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">.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)