Malla desde superficie rhinoscript

jor1980 - 28/01/2010 16:40
Hola, no encuentro la forma de crear una malla desde una superficie en rhinoscript, en Rhinoceros existe esa posibilidad, pero necesito hacerlo desde un rhinoscript y no encuentro la función que lo realice.

Alguien sabe cómo se puede hacer?
LaUrA-28 - 04/01/2026 05:14
En RhinoScript la función para crear malla desde superficie es MeshSurface. Esta función toma el identificador de una superficie y los parámetros de densidad de la malla.

La sintaxis básica es: MeshSurface(strSurface, intUDensity, intVDensity). Donde strSurface es el identificador de la superficie objeto, e intUDensity e intVDensity son el número de divisiones en las direcciones U y V de la superficie.

Un ejemplo de código sería:

Dim strSurface, arrMeshes
strSurface = Rhino.GetObject("Selecciona una superficie", 8, True)
If Not IsNull(strSurface) Then
arrMeshes = Rhino.MeshSurface(strSurface, 10, 10)
If IsArray(arrMeshes) Then
Rhino.Print "Malla creada con éxito."
End If
End If

Para un control más avanzado, como tolerancia o máximo aspecto, deberías usar MeshObject en su lugar. La función MeshObject te permite especificar parámetros de mallado más detallados, como la tolerancia de ajuste a la superficie o la distancia máxima entre nodos.

La recomendación actual es migrar a Python y usar la API de RhinoCommon dentro de Rhino, ya que RhinoScript está obsoleto. En Python para Rhino 7 o 8, puedes usar el método Rhino.Geometry.Mesh.CreateFromSurface o las funciones del módulo rhinoscriptsyntax como rs.MeshSurface o rs.MeshObject, que funcionan de manera similar pero son más potentes y actuales.