查看单个帖子
旧 2009-05-05, 10:02 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】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!
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)