一、本节课程
C++ ARX二次开发-BREP库
二、本节要讲解的知识点
通过两个命令来演示BREP库的使用:获取圆柱体中圆柱面的特征参数;获取任何三维实体的边的采样曲线。
三、具体内容
1、思路:组合体(Complex)、壳(Shell)、面(Face)、边(Edge)和顶点(Vertex)都是BREP的常用对象。BREP访问组合体、壳、面、边、顶点,使用遍历的方法,可以通过子实体访问到某一个具体的对象。
2、实现:
(1)建立了一个新的项目,并且需要引用BREP库的LIB,INC目录,在附加依赖项里面链接对应的库。
(2)添加两个命令:
ACED_ARXCOMMAND_ENTRY_AUTO(CBrepTestApp, yunyouMyGroup, GetCylinderInfo, GetCylinderInfo, ACRX_CMD_MODAL, NULL) ACED_ARXCOMMAND_ENTRY_AUTO(CBrepTestApp, yunyouMyGroup, GetBoundayCurves, GetBoundayCurves, ACRX_CMD_MODAL, NULL) |
static void yunyouMyGroupGetCylinderInfo () {
AcDbEntity *pEnt=NULL; AcGePoint3d pickPoint; if (CSelectUtil::PromptSelctEnts(TEXT("\n选择三维实体:"),AcDb3dSolid::desc(),pEnt,pickPoint)) { //建立一个BREP对象 AcBrBrep brepEnt; brepEnt.set(*pEnt);
//创建一个面的遍历器 AcBr::ErrorStatus returnValue=AcBr::eOk; AcBrBrepFaceTraverser brepFaceTrav; returnValue=brepFaceTrav.setBrep |