几何尺寸与公差论坛------致力于产品几何量公差标准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-05, 11:15 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】get extents for oddb3dsolid

get extents for oddb3dsolid
get extents for oddb3dsolid
hi,
i'm adding acis data from a file to a dwg object using the following code:
void add3dsolid(const char *filename,oddbdatabaseptr &database)
{
if(:dsystemservices()->accessfile(filename,oda::kfileread))
{
odrdfilebuf satfile(filename);
// create solid object
oddb3dsolidptr solid=oddb3dsolid::createobject();
solid->acisin(&satfile);
// add to modelspace
oddbblocktablerecordptr modelspace=
database->getmodelspaceid().safeopenobject(oddb::kforwrite) ;
modelspace->appendoddbentity(solid);
}
}
this works fine. but i need to know the bounding box of the added 3d solid. i tried the getgeomextents method on the oddb3dsolid, on the block table record, i stepped through all entities, but it does not work. either it crashes, or it just returns an invalid box.
does anybody know how to get the bounding box of a 3d solid?
thanks and best regards,
stefan waldner
last edited by stefan waldner; 13th january 2005 at 07:44 amfff">.
hi, ( ddt version? )
try next : create dwg file with simple solid ( like sphere ), load it to mfcapp, open modelspace, select acdb3dsolid, look at 3 last strings on the right panel. it is getgeomextents dump for object. is it ok?
right click on the acdb3dsolid in mfcapp, select save sat info to. select load from sat ( choose your sat file ), select set to entity and refresh info about acdb3dsolid... is it correct extents ?
try to get geomextent with getgeomextents method on the oddb3dsolid, is it ok ?
hi,
thanks for your reply.
i'm using the latest version 1.12.0.4, and it seems that the getgeomextents does not work for 3d solids based on acis input. with a simple block i had no problems, but a simple block as acis input did not deliver any result. i'm a little bit under pressure, because a customer is waiting for new functionality, so i had to find a workaround. i will do some more investigations next week and let you know.
thanks,
stefan waldner
please, email me file with acis block or attach it with forum message.
here it is. thanks for your help.
it's a dwg 2004 file with one acis solid embedded and some node points, which can be ignored.
attached files (4.7 kb, 6 views)

i have not any problem with your file. i need some additional information about.
( see my file )
attached images (62.2 kb, 15 views)

maybe the problem is, that i add the solid and directly after that i try to get the geomextents, without any save or load between the operations (see my code in the first post). maybe there is an update or refresh missing.
it are my code for testing your situation.
#include "odfilebuf.h"
#include "br\brbrep.h"
void cdwgview:neditacisconversion()
{
odchar* filename = "d:\\box.sat";
if(:dsystemservices()->accessfile(filename,oda::kfileread))
{
oddbdatabase* database = getdocument();
odrdfilebuf satfile(filename);
// create solid object
oddb3dsolidptr solid=oddb3dsolid::createobject();
odresult rrr = solid->acisin(&satfile);
// add to modelspace
oddbblocktablerecordptr modelspace=
database->getmodelspaceid().safeopenobject(oddb::kforwrite) ;
oddbobjectid id = modelspace->appendoddbentity(solid);
oddb3dsolidptr solid2 = id.safeopenobject();
odgeextents3d extents;
odresult res = solid2->getgeomextents(extents);
odbrbrep bbb;
solid2->brep(bbb);
bool b = bbb.isnull();
}
}
it works fine in mfcapp, but
if res == enullextents and bbb.isnull() return true, your app doesn't use modelergeometry.
if it true, check
odrx_declare_static_module_entry_point(modelermodu le);
odrx_define_static_application("modelergeometry", modelermodule)
is your app use ddt like lib or dll ?
last edited by sslezkin; 18th january 2005 at 04:16 amfff">.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】dwg extension in world coordinates yang686526 DirectDWG 0 2009-05-05 08:01 AM
【转帖】drawing extents changes after adding te yang686526 DirectDWG 0 2009-05-04 08:08 PM
【转帖】determining extents when creating entities yang686526 DirectDWG 0 2009-05-04 07:23 PM
【转帖】calculating extents draw yang686526 DirectDWG 0 2009-05-04 05:17 PM
【转帖】bad extents computing yang686526 DirectDWG 0 2009-05-04 04:35 PM


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


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