Следующие функции обычно перегружаются при наследовании класса пользователя от AcDbEntity. Действительно ли Вы перегружаете эти функции, зависит от заказных функциональных возможностей, которые ваш класс поддерживает.
virtual void
viewportDraw(AcGiViewportDraw* mode);
virtual void
list() const;
virtual Acad::ErrorStatus
intersectWith(
const AcDbEntity* ent,
AcDb::Intersect intType,
AcGePoint3dArray& points,
int thisGsMarker = 0,
int otherGsMarker = 0) const;
virtual Acad::ErrorStatus
intersectWith(
const AcDbEntity* ent,
AcDb::Intersect intType,
const AcGePlane& projPlane,
AcGePoint3dArray& points,
int thisGsMarker = 0,
int otherGsMarker = 0) const;
virtual Acad::ErrorStatus
getOsnapPoints(
AcDb::OsnapMode osnapMode,
int gsSelectionMark,
const AcGePoint3d& pickPoint,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus
getStretchPoints( AcGePoint3dArray&) const;
virtual Acad::ErrorStatus
moveStretchPointsAt(
const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus
explode( AcDbVoidPtrArray& entitySet) const;
virtual Acad::ErrorStatus
getSubentPathsAtGsMarker(
AcDb::SubentType type,
int gsMark,
const AcGePoint3d& pickPoint,
const AcGeMatrix3d& viewXform,
int& numPaths,
AcDbFullSubentPath* & subentPaths,
int numInserts = 0,
AcDbObjectId* entAndInsertStack = NULL) const;
virtual Acad::ErrorStatus
applyPartialUndo(
AcDbDwgFiler* undoFiler,
AcRxClass* classObj);
virtual void
subSetDatabaseDefaults( AcDbDatabase* pDb);
virtual void
saveAs( AcGiWorldDraw* mode, AcDb::SaveType st);