Hi @dale
How do I get the functionality of DivideAlongCreases command from RhinoCommon or rhinoscriptsyntax?
Hi @dale
How do I get the functionality of DivideAlongCreases command from RhinoCommon or rhinoscriptsyntax?
Hi @eirannejad,
Something like this should work:
#! python 3
import Rhino
import scriptcontext as sc
import System
def DivideAlongCreases():
# Divides surfaces at tangent locations
split_at_kinks = True
# Divides surfaces at kinks
split_at_tangents = True
obj_type = Rhino.DocObjects.ObjectType.Surface | Rhino.DocObjects.ObjectType.PolysrfFilter
rc, obj_ref = Rhino.Input.RhinoGet.GetOneObject("Select surfaces or polysurfaces to divide along creases", False, obj_type)
if rc != Rhino.Commands.Result.Success:
return
brep = obj_ref.Brep()
if brep is None:
return
brep_copy = brep.DuplicateBrep()
face_count = brep_copy.Faces.Count
if split_at_kinks:
brep_copy.Faces.SplitKinkyFaces(System.Math.PI / 180.0, False)
if split_at_tangents:
brep_copy.Faces.SplitFacesAtTangents()
if brep_copy.Faces.Count != face_count:
brep_copy.Compact()
sc.doc.Objects.AddBrep(brep_copy, None, None, False, False)
sc.doc.Views.Redraw()
if __name__ == "__main__":
DivideAlongCreases()
DivideAlongCreases.py (1.0 KB)
– Dale