二、本节课程
C++ ARX二次开发-创建三维实体
二、本节要讲解的知识点
1、arx提供的三类创建三维实体的方法:创建标准形状的实体、拉伸面域创建实体、旋转面域创建实体的例子。
2、布尔运算的使用例子。
三、具体内容
1、思路:AcDb3dSolid类,提供一个不包含任何参数的构造函数,用来创建一个“空”的实体,在构建对象AcDb3dSolid之后,要使用其成员函数来完成实体的创建。
(1)长方体:createBox函数用于创建长方体的,定义:
virtual Acad::ErrorStatus createBox( double xLen, double yLen, double zLen ); |
创建的是一个中心位于世界坐标系原点的长方体,长、宽和高分别平行于X、Y和Z轴。
(2)圆锥体:
virtual Acad::ErrorStatus createFrustum( double height, double xRadius, double yRadius, double topXRadius );//创建平截头体
|
Height表示平截头体的高度,xRadius表示底面在X轴方向的半径,yRadius表示底面在y轴方向的半径,topXRadius表示顶面在X轴方向的半径。要创建圆锥体的话,topXRadius=0,xRadius=yRadius。
(3)拉伸面域来创建实体
virtual Acad::ErrorStatus extrudeAlongPath( const AcDbRegion* region, const AcDbCurve* path, double taperAngle = 0.0 ); |
(4)旋转面域来创建实体
virtual Acad::ErrorStatus revolve( const AcDbRegion* region, const AcGePoint3d& axisPoint, const AcGeVector3d& axisDir, |