AcDbSolid

 

AcDbSolid类是AutoCADSOLID实体的表示。SOLID实体是一个2D实体,而不是AcDb3dSolidAcDbBody类表示的3D实体。

注意:使用AcGixObjectDBX应用程序不产生与AutoCAD相同的bow-tie实体和宽线。关于更多信息,参见AcDbTrace

 

继承自

AcDbEntity

 

包含文件

dbents.h

 

参见

AcDbObject, AcDbTrace, AcGePoint3d, AcGeVector3d

 

成员

 

AcDbSolid建构器和析构器

AcDbSolid::~AcDbSolid 函数

~AcDbSolid();

析构器。

 

AcDbSolid::AcDbSolid 函数

AcDbSolid(

const AcGePoint3d& pt0,

const AcGePoint3d& pt1,

const AcGePoint3d& pt2);

pt0

输入实体的第一点(WCS中)

pt1

输入实体的第二点(WCS中)

pt2

输入实体的第三点(WCS中)

这个建构器使用pt0-pt2作为实体的三个点,然后使用pt2为作为第四个点。所有点必须为WCS坐标。法向矢量初始化为(0,0,1)且厚度初始化为0.0


AcDbSolid(

const AcGePoint3d& pt0,

const AcGePoint3d& pt1,

const AcGePoint3d& pt2,

const AcGePoint3d& pt3);

pt0

输入实体的第一点(WCS中)

pt1

输入实体的第二点(WCS中)

pt2

输入实体的第三点(WCS中)

pt3

输入实体的第四点(WCS中)

这个建构器使用pt0-pt3作为实体的四个点。所有点必须为WCS坐标。法向矢量初始化为(0,0,1)且厚度初始化为0.0


AcDbSolid();

默认建构器。初始化点0-3(0,0,0),法向矢量为(0,0,1),厚度为0.0

 

AcDbSolid编辑函数

AcDbSolid::setNormal 函数

Acad::ErrorStatus

setNormal(

const AcGeVector3d& normal);

normal

输入法向矢量

此函数设置normal 为包含实体的平面的法向矢量。normal不能为零长度。

法向矢量值对应DXF群组码210

如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput

 

AcDbSolid::setPointAt 函数

Acad::ErrorStatus

setPointAt(

Adesk::UInt16 idx,

const AcGePoint3d& pt);

idx

输入在实体中设置的点的索引(0-3)

pt

输入点值

此函数设置实体中的第index个点为pt。索引必须为0123pt必在WCS坐标中。

如果成功返回Acad::eOk。如果索引不在03之间则将返回Acad::eInvalidIndex

第一个点是DXF群组码10WCS对应点。

第二个点是DXF群组码11WCS对应点。

第三个点是DXF群组码12WCS对应点。

第四个点是DXF群组码13WCS对应点。

 

AcDbSolid::setThickness 函数

Acad::ErrorStatus

setThickness(

double thickness);

thickness

输入实体的厚度

此函数设置thickness 为实体的厚度。厚度为实体沿其法向矢量方向(也称为拉伸方向)的长度。

厚度值对应DXF群组码39

如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput

 

AcDbSolid其他函数

AcDbSolid::getClassID 函数

virtual Acad::ErrorStatus

getClassID(

CLSID* pClsid) const;

pClsid

未说明

Description to come

 

AcDbSolid::getTransformedCopy 函数

Acad::ErrorStatus

getTransformedCopy(

const AcGeMatrix3d& xform,

AcDbEntity*& pEnt) const;

xform

未说明

pEnt

未说明

Description to come

 

AcDbSolid::transformBy 函数

Acad::ErrorStatus

transformBy(

const AcGeMatrix3d& pXform);

pXform

未说明

Description to come

 

AcDbSolid查询函数

AcDbSolid::getPointAt 函数

Acad::ErrorStatus

getPointAt(

Adesk::UInt16 idx,

AcGePoint3d& pntRes) const;

idx

输入在实体中需要的点的索引(0-3)

pntRes

输出需要的点

此函数将实体中索引为idx的点存入pntRes中。索引必须为0123,根据需要的点(即,0为第一个点,1为第二个点,以此类推)而定。如果实体中只有三个角点,则索引为23的点将有相同的值。

如果成功返回Acad::eOk。如果索引不在03之间则将返回Acad::eInvalidIndex

第一个点是DXF群组码10WCS对应点。

第二个点是DXF群组码11WCS对应点。

第三个点是DXF群组码12WCS对应点。

第四个点是DXF群组码13WCS对应点。

 

AcDbSolid::normal 函数

AcGeVector3d

normal() const;

此函数返回包含实体的平面的单位法向矢量。

法向矢量值对应DXF群组码210

 

AcDbSolid::thickness 函数

double

thickness() const;

此函数取得实体的厚度。厚度为实体沿其法向矢量方向(也称为拉伸方向)的长度。

厚度值对应DXF群组码39