高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】can not create small dimensions
can not create small dimensions
can not create small dimensions
when we are trying to export a dimension under 101 mm or 4' the application crashes during the following function
inline void release()
{
if (m_pobject)
{
((t*)m_pobject)->release(); //crashes on the release, it is the dimension object
m_pobject = null;
}
}
we are actually catching an exceptions here.
here is the code which i am using to create the dimension.
oddbdimstyletablerecordptr pdimstyletablerecord;
pdimstyletablerecord =current_state_.dimstyle_id_.safeopenobject(oddb:: kforread);
oddbblocktablerecordptr precord;
precord = current_state_.current_block_id_.safeopenobject(od db::kforwrite);
oddbrotateddimensionptr pdimension;
pdimension = oddbrotateddimension::createobject();
precord->appendoddbentity( pdimension );
pdimension->setdatabasedefaults( m_ptroddatabase );
pdimension->setdimlinepoint( dimline_pt_0 );
pdimension->setxline1point( extline_pt_0 );
pdimension->setxline2point( extline_pt_1 );
pdimension->usedefaulttextposition();
any thoughts as to why a dimension larger then the above sizes will output.
thank you in advance.
the values of the points causing crash would be helpful.
btw, is it crash or c++ exception?
most probably the reason in not the actual size of dimension but that some points coincide?
sergey slezkin
sure, the actual distances are smaller i was looking at the distance with scaling.
here are the good points :
dimline_pt_0 = (465.643, 627.592, 0)
extline_pt_0 = (465.643, 559.584, 0 )
extline_pt_1 = (469.614, 559.583, 0 )
here are the bad points. same dimension just a half inch closer with scale factor of 25.4.
dimline_pt_0 = (465.643, 627.592, 0)
extline_pt_0 = (465.643, 559.584, 0 )
extline_pt_1 = (469.118, 559.583, 0 )
we failed to reproduce it.
1. which dd version do you use?
2. could you make a piece of code which reproduce the problem in our writeex sample? maybe the crash depends on dimstyle values.
sergey slezkin
found the problem. we were setting dimasz to 0 when setting the dimstyle.
answers to questions:
1. we are currently working on version 1.12.04.
2. yes it did work fine in the write example.
|