高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】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!
|