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

yang686526 2009-05-07 05:30 PM

【转帖】ucsfollow-problem
 
ucsfollow-problem
ucsfollow-problem
in our application writefile will throw oderror (error code is 114 揘ot initialize yet? if model space coordinate system (ucsxdir and ucsydir) is different from paper space viewport-object coordinate system (not overall viewport) and viewport setucsperviewport is true and ucsfollowmode is on. everything works if i 搕urn off?ucsfollowmode or coordinate systems are same.
dwgdirect version is 2.1.0.
regards,
jarno
last edited by jpa; 10th october 2006 at 10:25 amfff">.
hi,
please, give us short code (to call in odamfcapp) or instructions how to reproduce the problem.
in our system following code is enough to produce the problem (if viewports ucsfollowmode is on and ucs is different from model space ucs):
oddbviewportptr pdwgviewport;
cdbviewport* pviewport = (cdbviewport*)pobject;
pdwgviewport = oddbviewport::createobject();
?set some other properties, like viewcenter, viewtarget etc. ?br />
point3d org(pviewport->m_ucsorg);
point3d xdir(pviewport->m_ucsxdir);
point3d ydir(pviewport->m_ucsydir);
pdwgviewport->setelevation(pviewport->m_ucselevation);
pdwgviewport->setucs(odgepoint3d(org.x, org.y, org.z),
odgevector3d(xdir.x, xdir.y, xdir.z),
odgevector3d(ydir.x, ydir.y, ydir.z));
pdwgviewport->setucsperviewport(true);
if (pviewport->ucsfollow())
pdwgviewport->setucsfollowmodeon();
else
pdwgviewport->setucsfollowmodeoff();
pblock->appendoddbentity(pdwgviewport);
this is the code where i convert our viewport-object to oddbdatabase viewport-object.
i try to reproduce problem with odwriteex 杄xample by modifying dbfiller::addpsviewport 杕ethod (setucsfollowmodeon and setucs(odgepoint3d(100, 100, 50), odgevector3d(0, 1, 0), odgevector3d(-1, 0, 0)) ) but everything work right without any errors.
i think the problem is in our code, but i don抰 know where, maybe something are not initialized correctly? error occurs only release build, debug work without problems.
i can't reproduce it either.
i guess, when you will reproduce it in odwriteex or odamfcapp you will know what the problem is.


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