![]() |
【转帖】possible cw8 bug
possible cw8 bug
possible cw8 bug greetings, here is a bug i have discovered in dwgdirect for cw8 mac. occasionally, in the cw8 version odgeelliparc::startang() and odgeelliparc::endang() return values apparently shifted -90 degrees. this does not happen all the time, in fact, it seems to happen on some obscure random basis. this never happens on windows ( of course ). here is my code: void mydevice::elliparcproc ( const odgeelliparc3d& odgearc, const odgepoint3d* pendpointsoverrides, odgiarctype arctype, // = kodgiarcsimple, const odgevector3d* pextrusion // = 0 ) { odge::errorcondition flag = odge::kok; odgeelliparc3d* arc = null; arc = static_cast<odgeelliparc3d *>( odgearc.copy() ); arc->correctaxis(odgecontext::gtol, flag); odgigeometrysimplifier::elliparcproc( *arc, pendpointsoverrides, arctype, pextrusion ); } i have identified the problem to be the correctaxis() function. i need correctaxis() function because of the matrix i use in the myview::update() function. without the correctaxis() function mac tesselates correctly. again, this is not a problem on windows, only on mac. i have attached a dwg file in which this occurs. the long arc at the top of this drawing that makes up a part of the cylinder shown in the file is shifted -90 degrees in mac, but not in windows. all other arcs in this file come out the same on both platforms. most importantly: i use the very same code for both platforms!! hopefully someone can take a look at that. thanks robert lopez attached files the output i'm getting in our odvectorizeex sample on the mac, vs. the windows output is below. mac: begin elliparcproc, center38.910325, 637.289274, 0.000000) minr:4.500000, majr:4.500000 minaxis0.380200, -0.924904, 0.000000) majaxis-0.924904, -0.380200, 0.000000) n0.000000, 0.000000, 1.000000), sa:4.712389, ea:5.893172 win: begin elliparcproc, center38.910325, 637.289274, 0.000000) minr:4.500000, majr:4.500000 minaxis-0.924904, -0.380200, 0.000000) majaxis-0.380200, 0.924904, 0.000000) n0.000000, 0.000000, 1.000000), sa:0.000000, ea:1.180783 these 2 descriptions define the same curve even though the axes and angles are different, since the angles are measured from the major axis counter-clockwise. the simplified output for each of these curves in odvectorizeex was identical in my testing, and i did not see that the correctaxis function had any effect on this particular arc on the mac. |
所有的时间均为北京时间。 现在的时间是 01:17 AM. |