- UID
- 306818
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-8-11
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
请教大家一下,在自定义实体中,显示三维图形,该怎么做?我的代码如下,是代码有问题还是实现方法不对?
下面这个函数在自定义实体的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错误呢??? |
|