dwgInFields (AcDbDwgFiler *pFiler); dwgOutFields(AcDbDwgFiler *pFiler) const; dxfInFields (AcDbDxfFiler *pFiler); dxfOutFields(AcDbDxfFiler *pFiler) const; // 必须重载的函数,实现一个自定义实体的基本功能 worldDraw(AcGiWorldDraw *mode); getGeomExtents(AcDbExtents & extents); (const AcGeMatrix3d & xform); getTransformedCopy(const AcGeMatrix3d &xform,AcDbEntity *&pEnt); (AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes, cDbIntArray & geomIds) const; moveGripPointsAt(const AcDbIntArray &indices, const AcGeVector3d &offset);
奇怪的是:该重载的我都重载了,但是都没有写实际的代码,只是在worldDraw中写了一些代码,想在CAD显示显示就够了,可是现在连显示都没有。而且,调试设断点,程序也没执行过去,不知道是什么原因,各位建议建议啊。 Adesk::Boolean CWall::worldDraw(AcGiWorldDraw *mode) { assertReadEnabled(); // TODO: implement this function. if(mode->regenAbort()) return Adesk::kTrue; AcGePoint3d point[2]; if(mode!=NULL) { mode->subEntityTraits().setColor(5); point[0].set(100.0,200.0,0.0); point[1].set(200.0,300.0,0.0); mode->geometry().polyline(2,point); } return Adesk::kTrue; } |