几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » DirectDWG
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-05-06, 08:18 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】oddbtextgetgeomextents

oddbtext::getgeomextents
oddbtext::getgeomextents
we are trying to get the extents of a text whitch begin or end with blank spaces.
is there a method or a function that can give us the extents of a text included blank space ?
we try oddbtext::getgeomextents and oddbtext::getboundingpoints none of them return the text extents included blank spaces.
note: with a ttf blank spaces are included in the extents, but with the standard they aren't
the behavior of oddbtext::getgeomextents method is the same acad (include ttf). now oddbtext entity hasn't function for getting extents of a text included leading and trailing blank space.
--
best regards,
sergey zaitcev
thank for your answer sergey and sorry, you are wright oddbtext::getgeomextents method is the same as acad.
i didn't try in autocad.
i made a mistake, i was thinking of an other function, this function is acgitextstyle::extents.
with this function we can have the width and the height of a text even if it include leading and trailing blank space.
in dwgdirect odgitextstyle::extents doesn't exist.
will you try to add it ?
now you try to use in your programm the next code.
code:
#include "dbtext.h"
#include "gi/gitextstyle.h"
#include "dbtextstyletablerecord.h"
#include "gi/gicontextfordbdatabase.h"
void calctextextents(oddbtextptr text)
{
odgitextstyle gistyle;
gifromdbtextstyle(text->textstyle(), gistyle);
gistyle.settextsize(text->height());
gistyle.setxscale(text->widthfactor());
gistyle.setobliquingangle(text->oblique());
odstaticrxobject<odgicontextfordbdatabase> gicontext;
gicontext.setdatabase(text->database());
odgepoint3d _min, _max, lastpos;
// extents with leading/trailing space

gicontext.textextentsbox(gistyle, text->textstring(), -1, kodgiincludepenups /*| kodgirawtext*/, _min, _max, &lastpos);
// oda_trace2("min x %f, y %f \n", _min.x, _min.y );
// oda_trace2("max x %f, y %f \n", _max.x, _max.y );
// extents without leading/trailing space
gicontext.textextentsbox(gistyle, text->textstring(), -1, 0, _min, _max, &lastpos);
// oda_trace2("min x %f, y %f \n", _min.x, _min.y );
// oda_trace2("max x %f, y %f \n", _max.x, _max.y );
}
--
best regards,
sergey zaitcev
thank you sergey, this will really help me !
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 07:59 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多