几何尺寸与公差论坛------致力于产品几何量公差标准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, 07:44 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】oddbfcf calculation of bounding box is incorrec

oddbfcf: calculation of bounding box is incorrect
oddbfcf: calculation of bounding box is incorrect
hello,
i am creating geometrical tolerances using the following function:
int addtolerance(double posx, double posy, double scale, char* tolerancetext, int blockid, int playerid) {
//get the ids of different objects
oddbobjectid layerid = pobjarr->at(playerid);
//get the blocktablerecord
oddbblocktablerecordptr bbtr = getblockobjectid(blockid);
oddbfcfptr ptol = oddbfcf::createobject();
oddbobjectid tolid = bbtr->appendoddbentity(ptol);
ptol->setdatabasedefaults(bbtr->database());
/************************************************** ********************/
/* set the properties */
/************************************************** ********************/
odstring odtolerancetext = stringhelper::utf8toodstring(tolerancetext);
ptol->setdatabasedefaults(pdb);
odgepoint3d point(posx,posy,0);
ptol->setlocation(point);
ptol->settext(odtolerancetext);
ptol->setdimscale(scale);
if (layerid) {
ptol->setlayer(layerid, false);
}
odgeextents3d extents;
ptol->getgeomextents(extents);
//draw the diagonal of the bounding box (minpoint to maxpoint)
oddblineptr pline = oddbline::createobject();
pline->setstartpoint(extents.minpoint());
pline->setendpoint(extents.maxpoint());
bbtr->appendoddbentity(pline);
//add it to the block, return the id
return pobjarr->append(tolid);
}
i pass the following strings for creating the different tolerances in the example dxf file (attached .dxf file).
- "{\\fgdt;b}%%v0.003%%vab" fff">(lowest tolerance on the drawing)
- "{\\fgdt;h}%%v0.003%%vbc
- "{\\fgdt;i}%%v0.003%%va
- "{\\fgdt;r}%%v0.003%%va"fff"> (highest tolerance on the drawing)
the diagonal of the bounding box is also drawn in the different geometrical tolerances (see attached .dxf file).
my question now: why is the bounding box longer than the geometrical tolerance box? i would expect that the bounding box is equal to the geometrical tolerance box. i need to know the length of the geometrical tolerance box.
cheers and thanks,
christoph
attached files
hello christoph,
i suppose there is problem with fonts file (one or both, isocp.shx and gdt.shx) which are used in rendering tolerance. are this fonts accessible in your application? possible build-in dwgdirect fonts are used during creating file and real fonts are used then you see drawing for example in acad.
best regards,
sergey z.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】message from modeless box, toggle layers yang686526 DirectDWG 0 2009-05-06 05:45 PM
【转帖】bounding box system coordinates yang686526 DirectDWG 0 2009-05-04 04:59 PM
【转帖】drawing view bounding bo yang686526 SolidWorks二次开发 0 2009-04-13 10:33 AM
【转帖】bounding box each parts yang686526 SolidWorks二次开发 0 2009-04-12 08:20 PM
VC中Combo Box控件使用大全 huangyhg vc编程 2 2009-03-22 10:45 PM


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


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