关于封闭的brep在TrimBrep中的用法

关于这个问题,其实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)

1 个赞