#ifndef _KT3DMODEL_H__ #define _KT3DMODEL_H__ #if _MSC_VER > 1000 #pragma once #endif class KT3DModel { public: KT3DModel(); virtual ~KT3DModel(); public: // 长方体 ptCen : 底中心点 vtX,vtY底面坐标系包括边长,vtZ 高度 static BOOL Cube(const AcGePoint3d& ptCen,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGeVector3d& vtZ,AcDbVoidPtrArray& arFacePtrs); // 圆柱 static BOOL Cylinder(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtDir,AcDbVoidPtrArray& arFacePtrs); static BOOL Cylinder(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dRad,AcDbVoidPtrArray& arFacePtrs); // 圆锥 static BOOL Cone(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtH,AcDbVoidPtrArray& arFacePtrs); // 弯头体 static BOOL Elbow(const AcGePoint3d& ptGe1,const AcGePoint3d& ptGe2,const AcGePoint3d& ptGe3,double dR,AcDbVoidPtrArray& arFacePtrs); // 弯头体 static BOOL Elbow(const AcDbArc* pArc,double dR,AcDbVoidPtrArray& arFacePtrs); // 管子 static BOOL Pipe(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtDir,AcDbVoidPtrArray& arFacePtrs); static BOOL Pipe(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dRad,AcDbVoidPtrArray& arFacePtrs); // 方管 static BOOL Duct(const AcGePoint3d& ptSta,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGeVector3d& vtZ,AcDbVoidPtrArray& arFacePtrs); // 偏心变径 static BOOL PipeEccRed(const AcGePoint3d& ptCen1,double dRad1,const AcGePoint3d& ptCen2,double dRad2,const AcGeVector3d& vtOffset,AcDbVoidPtrArray& arFacePtrs); // 变径 static BOOL PipeRed(const AcGePoint3d& ptFr,double dRad1,const AcGePoint3d& ptTo,double dRad2,AcDbVoidPtrArray& arFacePtrs); // 圆台 static BOOL ConeRed(const AcGePoint3d& ptFr,double dRad1,const AcGePoint3d& ptTo,double dRad2,AcDbVoidPtrArray& arFacePtrs); // 椭圆封头 static BOOL HemiSph(const AcGePoint3d& ptCen,double dRad,double dH,const AcGeVector3d& vtNorm,AcDbVoidPtrArray& arFacePtrs); // 方型台 static BOOL PyRam(const AcGePoint3d& ptSta,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGePoint3d& ptEnd,double dX2,double dY2,AcDbVoidPtrArray& arFacePtrs); // 容器 static BOOL Container(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dR,double dH,AcDbVoidPtrArray& arFacePtrs); // 封头 nPos 端位置 static BOOL Cap(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dR,double dH,AcDbVoidPtrArray& arFacePtrs); public: //分化率,边长数 static int m_nChordSegs; }; #endif //_KT3DMODEL_H__