关于这个问题,其实rs.TrimBrep()函数的核心代码是调用Brep.Trim()方法实现的。在Brep.Trim方法下说明了保留物体与切割物体法线方向相反的保留。
如果你非要用这个方法的话也是可以的。在rhinocommon中是可以反转封闭实体的法线,这里我为了方便看就单独拿一个python电池写了一下。
#需要右键把brep的参数类型设置为Brep
import Rhino.Geometry as rg
if (brep.IsSolid and brep.SolidOrientation == rg.BrepSolidOrientation.Outward):
brep.Flip()
a = brep
这里我简单用rhinocommon实现一下。
#需要右键把brep和cutBrep的参数类型设置为Brep
import Rhino.Geometry as rg
#如果是封闭实体,并且发线向外就反转一下。
if (cutBrep.IsSolid and cutBrep.SolidOrientation == rg.BrepSolidOrientation.Outward):
cutBrep.Flip()
a = brep.Trim(cutBrep,0.01)
TrimBrep.gh (11.2 KB)