RhinoCommon API
MeshCreateFromBrep Method (Brep, MeshingParameters) |
Constructs a mesh from a brep.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0

public static Mesh[] CreateFromBrep( Brep brep, MeshingParameters meshingParameters )
Public Shared Function CreateFromBrep ( brep As Brep, meshingParameters As MeshingParameters ) As Mesh()
Parameters
- brep
- Type: Rhino.GeometryBrep
Brep to approximate. - meshingParameters
- Type: Rhino.GeometryMeshingParameters
Parameters to use during meshing.
Return Value
Type: MeshAn array of meshes.

using Rhino; using Rhino.Commands; using Rhino.Input; using Rhino.Geometry; using Rhino.DocObjects; namespace examples_cs { public class CreateMeshFromBrepCommand : Command { public override string EnglishName { get { return "csCreateMeshFromBrep"; } } protected override Result RunCommand(RhinoDoc doc, RunMode mode) { ObjRef obj_ref; var rc = RhinoGet.GetOneObject("Select surface or polysurface to mesh", true, ObjectType.Surface | ObjectType.PolysrfFilter, out obj_ref); if (rc != Result.Success) return rc; var brep = obj_ref.Brep(); if (null == brep) return Result.Failure; // you could choose anyone of these for example var jagged_and_faster = MeshingParameters.Coarse; var smooth_and_slower = MeshingParameters.Smooth; var default_mesh_params = MeshingParameters.Default; var minimal = MeshingParameters.Minimal; var meshes = Mesh.CreateFromBrep(brep, smooth_and_slower); if (meshes == null || meshes.Length == 0) return Result.Failure; var brep_mesh = new Mesh(); foreach (var mesh in meshes) brep_mesh.Append(mesh); doc.Objects.AddMesh(brep_mesh); doc.Views.Redraw(); return Result.Success; } } }
Imports Rhino Imports Rhino.Commands Imports Rhino.Geometry Imports Rhino.DocObjects Namespace examples_vb Public Class CreateMeshFromBrepCommand Inherits Command Public Overrides ReadOnly Property EnglishName() As String Get Return "vbCreateMeshFromBrep" End Get End Property Protected Overrides Function RunCommand(doc As RhinoDoc, mode As RunMode) As Result Dim objRef As ObjRef = Nothing Dim rc = Rhino.Input.RhinoGet.GetOneObject("Select surface or polysurface to mesh", True, ObjectType.Surface Or ObjectType.PolysrfFilter, objRef) If rc <> Result.Success Then Return rc End If Dim brep = objRef.Brep() If brep Is Nothing Then Return Result.Failure End If ' you could choose any one of these for example Dim jaggedAndFaster = MeshingParameters.Coarse Dim smoothAndSlower = MeshingParameters.Smooth Dim defaultMeshParams = MeshingParameters.Default Dim minimal = MeshingParameters.Minimal Dim meshes = Mesh.CreateFromBrep(brep, smoothAndSlower) If meshes Is Nothing OrElse meshes.Length = 0 Then Return Result.Failure End If Dim brepmesh = New Mesh() For Each facemesh As Mesh In meshes brepmesh.Append(facemesh) Next doc.Objects.AddMesh(brepmesh) doc.Views.Redraw() Return Result.Success End Function End Class End Namespace
Python
import Rhino from Rhino.Geometry import * from Rhino.Input import RhinoGet from Rhino.Commands import Result from Rhino.DocObjects import ObjectType import rhinoscriptsyntax as rs from scriptcontext import doc def RunCommand(): rc, objRef = RhinoGet.GetOneObject("Select surface or polysurface to mesh", True, ObjectType.Surface | ObjectType.PolysrfFilter) if rc <> Result.Success: return rc brep = objRef.Brep() if None == brep: return Result.Failure jaggedAndFaster = MeshingParameters.Coarse smoothAndSlower = MeshingParameters.Smooth defaultMeshParams = MeshingParameters.Default minimal = MeshingParameters.Minimal meshes = Mesh.CreateFromBrep(brep, smoothAndSlower) if meshes == None or meshes.Length == 0: return Result.Failure brepMesh = Mesh() for mesh in meshes: brepMesh.Append(mesh) doc.Objects.AddMesh(brepMesh) doc.Views.Redraw() if __name__ == "__main__": RunCommand()
