海南省零售户电商网站,轻量级WordPress,大连零基础网站建设教学电话,网址制作网站最近在写一个判断圆孔深度和通盲状态的功能#xff0c;发现PK_BODY_pick_topols射线函数可以设置到射线垂直距离#xff0c;相当于一个圆柱空间#xff0c;但在测试发现#xff0c;R7的孔#xff0c;设置#xff1a;
max_edge_dist 0.007; max_vertices 0.007;
结果测…最近在写一个判断圆孔深度和通盲状态的功能发现PK_BODY_pick_topols射线函数可以设置到射线垂直距离相当于一个圆柱空间但在测试发现R7的孔设置
max_edge_dist 0.007; max_vertices 0.007;
结果测试发现返回值中小于7mm通过设置pick_approx PK_pick_approximate_no_c也没有起作用。
在尝试调整离散曲线并设置曲线弦长之后结果越来越接近7mm但如果将公差调整非常小测试结果又恢复到默认值。
如果是直线边测试结果准确对于曲线边界需要公差设置而且必须在合理范围内的公差。
以上是我的测试记录遇到问题的可以参考。如果有哪个参数可以直接设置还望留言指正。 /*获取圆柱空间内面、体对象*/ //初始化射线区域PK_BODY_pick_topols_o_t rayOptions;PK_BODY_pick_topols_o_m(rayOptions);rayOptions.max_faces 1;rayOptions.max_edges 1;rayOptions.max_vertices 1;rayOptions.method PK_BODY_pick_radial_c;rayOptions.is_curve_chord_tol PK_LOGICAL_true;rayOptions.curve_chord_tol 0.00001 * 0.001;rayOptions.pick_approx PK_pick_approximate_no_c;rayOptions.max_edge_dist radius * 0.001;rayOptions.max_vertices radius * 0.001;rayOptions.near_plane PK_LOGICAL_true;rayOptions.near_point.coord[0] topCenterPt[0] * 0.001;rayOptions.near_point.coord[1] topCenterPt[1] * 0.001;rayOptions.near_point.coord[2] topCenterPt[2] * 0.001;rayOptions.far_plane PK_LOGICAL_true;rayOptions.far_point.coord[0] (topCenterPt[0] refDir[0] * depth ) * 0.001;rayOptions.far_point.coord[1] (topCenterPt[1] refDir[1] * depth ) * 0.001;rayOptions.far_point.coord[2] (topCenterPt[2] refDir[2] * depth ) * 0.001;//PK_AXIS1_sf_t rayAxis;rayAxis.location.coord[0] topCenterPt[0] * 0.001;rayAxis.location.coord[1] topCenterPt[1] * 0.001;rayAxis.location.coord[2] topCenterPt[2] * 0.001;rayAxis.axis.coord[0] refDir[0];rayAxis.axis.coord[1] refDir[1];rayAxis.axis.coord[2] refDir[2];//PK_BODY_pick_topols_r_t pickedInfor;PK_PART_t bodies[1] { t_pkObject };//PK_BODY_pick_topols(1, bodies, PK_ENTITY_null, rayAxis,rayOptions, pickedInfor);