通过参考这部分https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/238154/c-modify-booleancut-nodeid,代码大部分剪切都已正确实现,但遇到一个如下方上传的文件里的情况,即使尝试了手动,也无法正常切分所选实体。
请老师看下是不是文件的实体有啥特别的原因。文件较大,因此用百度网盘另存。
链接:pan.baidu.com/.../1FH0rSSvARW59xgf1-h_fYA 提取码:fkju
翻译
搜索
复制
线离体太远了(Z方向,从前视图可以看出来),参与运算的元素,总体范围不能超过实体的工作范围,对于参数化实体来说,应该是这个范围的一半。
谢谢郭工提示,我马上试下。
我更新了下切割线的标高,使其距离实体不会太远,约12m,但问题依旧。请见文件链接:pan.baidu.com/.../1PENyfagcT6LPhZRWKR2ysQ 提取码:al1g
距离还是有点远,再往上移一下,尽量离被Cut的元素近一些。
不成,显然不是这个原因,仅这一个实体是这样。我把线弄到实体下不超过1m,问题依旧。链接:pan.baidu.com/.../19ZvCc_D3zyxLDKrvJoYVcw 提取码:t395
因为其他正常实体都能被0标高的CurveVector正常切分的。
另外
Modify.BooleanCut(ref compEntity, cutterCurveVec, Modify.CutDirectionMode.Both, Modify.CutDepthMode.All, 0, invertIn, norm, 0);
cutterCurveVec在0标高invertIn分别在False与True下才分别能切出前后的结果,如果线不在0m,线之后的就会切分失败!