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?
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?
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.