OpenCascade判断曲面类型(转)
在读取STEP、IGES等格式的文件所表示的B-rep模型后,若想进行进一步的处理或计算,首先需要能正确识别出其中的实体和曲面。下面给出判断模型中曲面类型的示例:
for (TopExp_Explorer anExpSF(shape, TopAbs_FACE); anExpSF.More(); anExpSF.Next()) { const TopoDS_Shape& aFace = anExpSF.Current(); faceNumber++; TopoDS_Face face = TopoDS::Face(aFace); BRepAdaptor_Surface BS(face, Standard_True); GeomAdaptor_Surface AdpSurf = BS.Surface(); if (AdpSurf.GetType() == GeomAbs_Cylinder) { // Cylinder face found } else if (AdpSurf.GetType() == GeomAbs_Plane) { // Plane face found } else if (AdpSurf.GetType() == GeomAbs_Sphere) { // Sphere face found } }
支持的类型有:
GeomAbs_Plane , GeomAbs_Cylinder , GeomAbs_Cone , GeomAbs_Sphere ,
GeomAbs_Torus , GeomAbs_BezierSurface , GeomAbs_BSplineSurface , GeomAbs_SurfaceOfRevolution ,
GeomAbs_SurfaceOfExtrusion , GeomAbs_OffsetSurface , GeomAbs_OtherSurface
官方文档:
https://dev.opencascade.org/doc/refman/html/_geom_abs___surface_type_8hxx.html
参考资料:
http://www.cppblog.com/mythma/archive/2008/05/29/51527.html
转自:OpenCascade判断曲面类型 - 幸福的闪电 - 博客园 (cnblogs.com)
标签:
opencascade
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!