I solved this inthis way:
> meshObjRefs = Rhino.DocObjects.RhinoObject.GetRenderMeshes(doc.Objects.GetObjectList(object_enumerator_settings), true, false); > if (null != meshObjRefs) > { > for (int i = 0; i < meshObjRefs.Length; i++) > { > Mesh mesh = meshObjRefs[i].Mesh(); > foreach (Rhino.Geometry.Point3f point in mesh.Vertices) > { > s.Append("v "); > s.Append(point.X.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Y.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Z.ToString(_allFloatDigits)); > s.Append(System.Environment.NewLine); > } > vertex = mesh.Vertices.Count; > foreach (Rhino.Geometry.Point2f point in mesh.TextureCoordinates) > { > s.Append("vt "); > s.Append(point.X.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Y.ToString(_allFloatDigits)); > s.Append(System.Environment.NewLine); > } > foreach (Rhino.Geometry.Vector3f point in mesh.Normals) > { > s.Append("vn "); > s.Append(point.X.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Y.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Z.ToString(_allFloatDigits)); > s.Append(System.Environment.NewLine); > } > foreach (Rhino.Geometry.MeshFace face in mesh.Faces) > { > A = face.A + shift; > B = face.B + shift; > C = face.C + shift; > s.Append("f "); > s.Append(A); > s.Append("/"); > s.Append(A); > s.Append("/"); > s.Append(A); > s.Append(" "); > s.Append(B); > s.Append("/"); > s.Append(B); > s.Append("/"); > s.Append(B); > s.Append(" "); > s.Append(C); > s.Append("/"); > s.Append(C); > s.Append("/"); > s.Append(C); > if (face.IsQuad) > { > D = face.D + shift; > s.Append(" "); > s.Append(D); > s.Append("/"); > s.Append(D); > s.Append("/"); > s.Append(D); > } > s.Append(System.Environment.NewLine); > } > foreach (Rhino.Geometry.Vector3f point in mesh.FaceNormals) > { > s.Append("#fn "); > s.Append(point.X.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Y.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Z.ToString(_allFloatDigits)); > s.Append(System.Environment.NewLine); > } > foreach (Rhino.Geometry.Point3d point in mesh.TopologyVertices) > { > s.Append("#tv "); > s.Append(point.X.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Y.ToString(_allFloatDigits)); > s.Append(" "); > s.Append(point.Z.ToString(_allFloatDigits)); > s.Append(System.Environment.NewLine); > } > shift += vertex; > } > }