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

yang686526 2009-05-05 10:02 AM

【转帖】exception when creating dimension
 
exception when creating dimension
exception when creating dimension
most of my dimension entities seem to be creating just fine, but this rather small one (2/16 of an inch) causes an exception when i call the "release()".
anyone have any idea how i can prevent this?
m_pcurrentdim = oddbaligneddimension::createobject();
oddbblocktablerecordptr pcurrspace = m_idcurrentspace.safeopenobject(oddb::kforwrite);
assert(!pcurrspace.isnull());
pcurrspace->appendoddbentity(m_pcurrentdim);
m_pcurrentdim->setdatabasedefaults(m_pdb);
m_pcurrentdim->setcolor(m_currentcolor);
m_pcurrentdim->setlayer(m_idcurrentlayer, false);
//init arrow size to 0
m_pcurrentdim->setdimasz(0.0);
//line location
m_pcurrentdim->setdimlinepoint(odgepoint3d(-0.09999485, 71.205001, 0.0));
//text
m_pcurrentdim->setdimensiontext("0\"2");
m_pcurrentdim->usesettextposition();
m_pcurrentdim->settextposition(odgepoint3d(-0.0499974, 71.205001, 0.0));
m_pcurrentdim->settextrotation(1.570796);
m_pcurrentdim->setdimtxt(0.4);
//dim points and finish up
m_pcurrentdim->setxline1point(odgepoint3d(-0.09999485, 67.6258, 0.0));
m_pcurrentdim->setxline2point(odgepoint3d(0.0, 67.6258, 0.0));
m_pcurrentdim.release();
m_pcurrentdim = null;
jack warner
systems architect
alpine engineered products, inc.
your problem is caused by bug in dd's
recomputedimensionblock(). it crashes for aligned dimension if dimasz is 0.
you can avoid it if:
- do not set dimasz to zero
or
- call pdimension->recordgraphicsmodified(false) after you set all properties to dimension. dimension block will not be generated in such case. autocad can live with it. it will generate the block after file is loaded.
sergey slezkin
thanks...
that would have been a hard one to find, as most of my dimensions with no arrows were working. the results after setting recordgraphicsmodified off seem to be loading into autocad lt 2002 and intellicad v4 ok, so i should be fine until the bug is fixed. thanks for the quick response!


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