![]() |
【转帖】a problem of ordinate dimension when exploding
a problem of ordinate dimension when exploding
a problem of ordinate dimension when exploding hi, i have trouble exporting the ordinate dimensions with exploding them in dd1.11 update 1. in my application, when exploding, we only explode the block which is refered by a block reference in modelspace, but we will not explode the entities except references in the block recursively. here have two attachment files: exploded.dwg and unexploded.dwg. both of this two files are created by my application, and the exploded.dwg is the "explode " case. opening both of them in autocad2004, you can see that all the ordinate dimensions which look like a stagger in unexploded.dwg are different from those in exploded.dwg. and if you explode the unexploded.dwg file in autocad2004, there will no changes with these dimensions. what does cause this difference between dd and autocad when exploding? regards attached files if you explode unexploded.dwg in autocad2005, there will a little change. the major change between exploded.dwg and unexploded.dwg (that you noticed) is because of bug of dd's recomputedimblock functionality, that is already fixed in 1.12 pre-release code. upcoming 1.12 release will contain fix. sincerely yours, george udov quote: originally posted by george udov if you explode unexploded.dwg in autocad2005, there will a little change. the major change between exploded.dwg and unexploded.dwg (that you noticed) is because of bug of dd's recomputedimblock functionality, that is already fixed in 1.12 pre-release code. upcoming 1.12 release will contain fix. george, any idea when the dd 1.12 will be released? and how can i get ahold of the 1.12 pre-release code? thanks. -bill another case when exploding quote: originally posted by george udov if you explode unexploded.dwg in autocad2005, there will a little change. the major change between exploded.dwg and unexploded.dwg (that you noticed) is because of bug of dd's recomputedimblock functionality, that is already fixed in 1.12 pre-release code. upcoming 1.12 release will contain fix. hi george, thanks for your reply. here i have an another case which has exploding error both in autocad2004 and dd1.11.01. the attachment two files are the cases. both of this two files are created by my application. the unexplode1.dwg is the unexploded one, and the exploded1.dwg is exploded one in dd1.11.01. firstly, comparing the looks of the ordinate dimension in this two files in autocad2004, you can see that they are mostly different. then if you explode the unexplode1.dwg in auto2004, you can see the look of the ordinate dimension changes. my code is as follows: oddbordinatedimensionptr porddim = oddbordinatedimension::createobject(); porddim->setdimblockid( dimblockid ); porddim->setorigin(odgepoint3d(planept0[0],planept0[1],planept0[2])); // dxf10 porddim->setleaderendpoint(odgepoint3d(extline1end[0],extline1end[1],extline1end[2])); // dxf14 porddim->setdefiningpoint( odgepoint3d( extline1st[0],extline1st[1],extline1st[2] )); // dxf13 // rotation angle // text rotation // get textbox orientation //get the angle of rotation porddim->sethorizontalrotation( -dextrot ); switch(textorientation) { case tridimorienthorizontal: porddim->settextrotation( 0 ); break; case tridimorientvertical: porddim->settextrotation( pi/2.0 ); break; case tridimorientparallel: porddim->settextrotation( 0 ); break; default: porddim->settextrotation( 0 ); break; } porddim->setdimensiontext( textstr.getbuffer(textstr.getlength() +1) ); // set initial location of text ... porddim->usesettextposition( ); porddim->settextposition( odgepoint3d(textpt[0],textpt[1],textpt [2]) ); porddim->settextattachment(oddbmtext::kmiddlecenter ); if( !pdimstylerec.isnull() ) porddim->setdimensionstyle( pdimstylerec->objectid() ); porddim->setdimtmove( 0 ); porddim->setdimtofl( true ); porddim->setdimsd1( false ); porddim->setdimsd2( false ); porddim->setdimtoh( true ); porddim->setdimtix( false ); porddim->setdimatfit( 0 ); porddim->setlayer( layerid ); porddim->recordgraphicsmodified(false); pbtrm->appendoddbentity( porddim ); are some errors in these code? what does cause the change when exploding the unexploded.dwg in my first post in autocad2005? attached files (8.2 kb, 3 views) (7.7 kb, 6 views) hi enigma, unexploded1.dwg is exploded in 1.12 better then in 1.11. the common problem (of both dd and your recomputing ordinate dimension block routine) is slanted line. i was not able to fully understand how autocad computes it (maybe autocad contains a bug here). so slanted line in dd and in your files is approximate. this cause difference between original view of unexploded1.dwg and unexploded1.dwg, exploded by autocad. also this fact cause a little difference between original view of unexploded.dwg and unexploded.dwg, exploded by autocad. sincerely yours, george udov |
所有的时间均为北京时间。 现在的时间是 06:50 PM. |