lw02nju 发表于 2006-5-19 21:33:00

在arx中自定义实体遇到的问题

我在arx中自定义了一个类,但在加到数据库的时候发生错误,想问一下是否需要什么注册的操作?是否只能在dbx中写啊?谢谢
头文件
class EObject:public AcDbEntity
{
protected:
char *m_name;
Adesk::Int32 m_ID;
char *m_location;
AcGePoint3d m_center;
public:
EObject();
virtual ~EObject(){}
virtual Adesk::Boolean worldDraw (AcGiWorldDraw *mode);
virtual Acad::ErrorStatus getGeomExtents(AcDbExtents & extents);
virtual Acad::ErrorStatus transformBy(const AcGeFastTransform& xform);
virtual Acad::ErrorStatus getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt);
virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const;
virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset);
cpp文件


lw02nju 发表于 2006-5-19 21:35:00

EObject::EObject()
{
m_ID = -1;
m_location = m_name = NULL;
m_center = AcGePoint3d::kOrigin;
acutPrintf("1eee\n");
}
Adesk::Boolean EObject::worldDraw(AcGiWorldDraw *mode)
{
return (Adesk::kTrue) ;
}
Acad::ErrorStatus EObject::getGeomExtents(AcDbExtents & extents)
{
return Acad::eOk;
}
Acad::ErrorStatus EObject::transformBy(const AcGeFastTransform& xform)
{
   assertWriteEnabled(Adesk::kFalse, Adesk::kFalse);
   return Acad::eNotApplicable;
}
Acad::ErrorStatus EObject::getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt)
{
assertReadEnabled();
Acad::ErrorStatus es = Acad::eOk;
return es;
}
Acad::ErrorStatus EObject::getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const
{
return Acad::eNotImplemented;
}
   
Acad::ErrorStatus EObject::moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset)
{
return Acad::eNotImplemented;
}
页: [1]
查看完整版本: 在arx中自定义实体遇到的问题