明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1434|回复: 2

三维实体的内存问题??

[复制链接]
发表于 2005-1-20 11:18:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-1-22 13:20:08 编辑

用Solid1->createBox(1000,1000,1000);则delete Solid1可以很干净地释放内存
而用Solid1->ExtrudeAlongPath(Rgn,Curve);则delete Solid1只释放了一部分内存,该如何做?

============代码如下============
if (AcDbRegion::createFromCurves(SegArr,RgnArr)!=Acad::eOk)
{ for (i=0;i<SegArr.length();i++) delete (AcRxObject*)SegArr;
for (i=0;i<RgnArr.length();i++) delete (AcRxObject*)RgnArr;
return(NULL);
}

Rgn=(AcDbRegion*)RgnArr[0];
Solid1=new AcDb3dSolid;
Solid1->ExtrudeAlongPath(Rgn,Curve); //............这一句是不是有内存泄漏
//Solid1->CreateBox(1000,1000,1000); //............这一句不存在泄漏
delete Solid1;
for (i=0;i<SegArr.length();i++) delete (AcRxObject*)SegArr;
for (i=0;i<RgnArr.length();i++) delete (AcRxObject*)RgnArr;
发表于 2005-1-21 18:12:00 | 显示全部楼层
Unfortunately, there is no way to force this memory to be freed.
For solids, the underlying geometric data object is controlled by the
ASM (formerly ACIS) which does its own memory management regardless of
AcDbDatabase residency.
 楼主| 发表于 2005-1-22 13:19:00 | 显示全部楼层
用以下函数也不能解决内存问题
acdbModelerStart();
acdbModelerEnd();
acdbAcisDeleteModelerBulletins();
不知各位高手还有什么高见??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 08:47 , Processed in 0.236229 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表