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

yang686526 2009-05-06 10:49 PM

【转帖】problem in setting block scale
 
problem in setting block scale
problem in setting block scale
hi all,
i am using dwgdirect 2.3.0 dll version.
when we insert a block with block insertion units (insunits) astronomical units (1.74091843728581e-13), light years (2.684839e-18) and parsecs (8.231586e-19) and save the drawing, drawing is not saving. setscalefactors () function is throwing exception of invalid points.
while block insertion, first we multiply scale with the current drawing insertion unit and then set the scale. when we use above insertion units and insert a block and save the drawing, a exception of invalid points come from setscalefactors () function though insertion scale are not zero(but very less order of 1.0e-20).
dwgdirect is using precision value 1.e-10. so when we use above insertion scales, it is treated as zero.
i need to change the precision value used in setscalefactors() function.
i have also tried by modified tolerance value(1.0e-22) in oddefs.h but dd binary dlls compiled with tolerance value (1.0e-10) throws exception.
is there any process by which i can change the precision value globally.
autocad considers as valid scale which components comply the condition:
fabs(s) > 1.e-15 && fabs(s) < 1.e99
it's possible to set the the scale to 1.e-20 in autocad and save the dwg file but autocad's audit reports it as error.
also autocad gives message about error on opening such file.
dwgdirect uses not 1.e-10 for checking scale factors but the check above.
sergey slezkin


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