明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3333|回复: 1

[ARX]关于自定义实体显示三维图形,不知是方法不对还是代码有问题!

[复制链接]
发表于 2006-9-1 12:37:00 | 显示全部楼层 |阅读模式

请教大家一下,在自定义实体中,显示三维图形,该怎么做?我的代码如下,是代码有问题还是实现方法不对?
下面这个函数在自定义实体的worldDraw(AcGiWorldDraw* mode)中调用

//显示梁
void MGUnit::ShowBeam(AcGiWorldDraw* mode)
{
 // 创建一个圆对对象,以此生成面域
 AcGeVector3d vec = m_EndPoint - m_StartPoint;
 AcDbCircle *pCirc = new AcDbCircle(m_StartPoint, vec.normal(), 0.1);

 // 生成面域
 AcDbVoidPtrArray arrayCirc, arrayRegions;
 arrayCirc.append((void*)pCirc);
 AcDbRegion::createFromCurves(arrayCirc, arrayRegions);
 AcDbRegion *pRegion = AcDbRegion::cast((AcRxObject*)arrayRegions[0]);

 // 拉伸面域
 AcDb3dSolid *p3dSolid = new AcDb3dSolid;
 if (Acad::eOk == p3dSolid->extrude(pRegion, vec.length(), 0))
 {
  p3dSolid->worldDraw(mode);
 }
 delete p3dSolid;
 delete pCirc;
 delete pRegion;
}

能够生成并显示三维实体,但只要进行任何操作(如单击一下或移动鼠标),就会弹出提示:
AutoCAD错误中断
内部错误:!U:\global\src\coreacad\CORESRC\scandr.cpp@773:eAtMaxReaders

根本就没做什么打开操作,怎么提示eAtMaxReaders错误呢???

发表于 2010-11-26 14:05:00 | 显示全部楼层
你不应该delete p3dSolid;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:32 , Processed in 0.191575 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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