Can I set the individual UV coordinates of a mesh from inside a python script?

Looking for a more verbose UV solution to handling the individual mesh vertices.

for all intents and purposes, some pseudocode might look like the below. I just can’t quite understand how to manipulate the UV attribute… If that is indeed how you would go about it:

mesh = importMesh
rows = 10
columns = 10

meshUVcoOrd = []

for i in range(rows-1):
for j in range(columns-1):

    meshUVcoOrd.append(Point2d(i/rows,j/columns))

mesh.setUVcoords(meshUVcoOrd)

@dchristev,

below creates a new array of uv-coordinates based on the mesh vertex xy position and assigns them:

import Rhino
import scriptcontext
import rhinoscriptsyntax as rs
import System

def DoSomething():
    
    mesh_id = rs.GetObject("Mesh", 32, True, False)
    if not mesh_id: return
    
    m_obj = rs.coercerhinoobject(mesh_id, True, True)
    count = m_obj.Geometry.Vertices.Count
    uv_tx = System.Array.CreateInstance(Rhino.Geometry.Point2f, count)
    
    for i, vertex in enumerate(m_obj.Geometry.Vertices):
        uv_tx[i] = Rhino.Geometry.Point2f(vertex.X, vertex.Y)
        
    m_obj.Geometry.TextureCoordinates.SetTextureCoordinates(uv_tx)
    m_obj.CommitChanges()

    scriptcontext.doc.Views.Redraw()

DoSomething()

_
c.

Excellent! Thanks @clement!!