几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】how to get the text type from dimension tolerance9oddbdimens (http://www.dimcax.com/hust/showthread.php?t=16698)

yang686526 2009-05-06 02:48 PM

【转帖】how to get the text type from dimension tolerance9oddbdimens
 
how to get the text type from dimension tolerance(oddbdimens
how to get the text type from dimension tolerance(oddbdimension)?
how to get the text type from dimension tolerance(oddbdimension)?
because many fone of text don't support in the different operation systems,i must give the specified text type useable for most users.

dimension tolerance can be turned on/off using dimtol dimension variable.
the values of low and high tolerances can be get/set up using dimtm and dimtp dimension variables.
dimension text, limits and tolerances are put into single mtext entity. the style for this mtext can be get/set using dimtxsty dimension variable.
sincerely yours,
george udov
how to change font style from txt style of dimension tolerance?
or text height?

you can do it in manner like this:
code:
oddbtextstyletablerecordptr pmytextstyle = oddbtextstyletablerecord::createobject();
pmytextstyle->setdatabasedefaults(pdb);
// set necessary properties to pmytextstyle here
// ...
pmytextstyle->settextsize(myfavouritesize);
pmytextstyle->setfont(...);
// appending new text style to textstyletable and setting it up for dimension
pdim->setdimtxsty(
pdb->gettextstyletableid().openobject(oddb::kforwrite)->
add(pmytextstyle)
);
sincerely yours,
george udov
thanks
but,
for example:
%%c100 +0.1^-01
how to get the parameters as +0.1 or -0.1 from diameter dimension indication?

code:
pdim->dimtm();
pdim->dimtp();
sincerely yours,
george udov
is there other methods to set the text string as upper deviation or lower deviation?
because pdim->dimtp function set lower diviation as -0.1,display --0.1(two minus) in drawing.

isn't this solution?
code:
if(mydimtp < 0)
pdim->setdimtp(-mydimtp);
else
pdim->setdimtp(mydimtp);
sincerely yours,
george udov
oddbtextstyletablerecordptr pmytextstyle = oddbtextstyletablerecord::createobject();
pmytextstyle->setdatabasedefaults(pdb);
>i copied this code to vc6.0, but display the error named "setdatabasedefaults is not a member of oddbtextstyletablerecord as well as oddbdimstyletablerecord.
why?
how to add this customed text style to database?
setdatabasedefaults() is oddbentity method.
oddbtextstyletablerecord is not derived from oddbentity.
text style can be added to the database by oddbsymboltable::add() :
ptextstyletableptr->add(pmytextstyle);
sergey slezkin
how to use the function as odgicontextfordatabase::textextentsbox() for the width of mtext?
isn't this solution?
code:
if(mydimtp < 0)
pdim->setdimtp(-mydimtp);
else
pdim->setdimtp(mydimtp);
sorry,still incorrect.
pad->setdimlim(false);
pad->setdimtol(true);
when the lower deviation or upper deviation is nagative, display two minus in drawing of autocad used the above limit deviation style for dimension indication.
last edited by susheng; 26th september 2005 at 04:03 amfff">.


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