微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试使用类BRepLProp_CLProps

如何解决尝试使用类BRepLProp_CLProps

我有一个“圆柱面”,它以一定角度与“圆锥面”相交,从而产生TopoDS_Edge;如下图所示。生成的边缘被涂成白色。对于此操作,我使用了“ BRepAlgoAPI_Section()”类。

enter image description here

此后,我成功使用GCPnts_UniformAbscissa()找出了该边缘上等距的点,如下图所示:

enter image description here

现在,我想在这些点的每一个上找到法线向量,但是我遇到了错误,因此我使用以下代码

hatch_curve = BRepAdaptor_Curve(TopoDS_Edge)
properties = BRepLProp_CLProps( hatch_curve,BRepLProp_Curvetool.FirstParameter(hatch_curve),3,0.005)

我对最后一个参数'Resolution'有点困惑,但它的值为0.005

normal = gp_Dir()
properties.normal(normal)

运行上述功能时,出现以下错误

LProp_CLProps::normal(...):Curvature is null or infinity
wrapper details:

symname: BRepLProp_CLProps_normal
wrapname: _wrap_BRepLProp_CLProps_normal 
fulldecl: void BRepLProp_CLProps::normal(gp_Dir &)

因此,我使用以下方法检查了曲率:

properties.Curvature()

曲率是0.0

所以我对于如何找到该共同边缘的法线感到困惑?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。