I am trying to extrude mesh faces to a point. It is possible with surfaces, but not with meshes.
My another idea is to subdivide faces and move the middle vertices.
I tried to subdivide mesh faces, but I didn´t manage to do it from corners to the middle. In Wawebird there are many different subdivision methods, but not the way I need it.
Explode the mesh
Take face normals
Use it normal to move center point or whatever point you want on the face
Reconstruct 3 new face with 4 points (3 from the face) and the new from the “extrusion”
As you didn’t upload any script it is hard to know where you are (input) and what for is the output
Mesh is a complete world, and there is also some specific for the mesh in Rhinocommon. It takes a bit time. The main part are Vertex and connectivity (faces). There are many tricks, dead end, new functionality (in R6 R7) that generates bugs that were not there in R5 … The main utility of mesh is that it carries topology (connection between points, edges, faces) that is very useful for many domains/subjects.
A mesh is a mini database (kinda a Brep) of 3 types: Vertices (points), Edges(lines) and Faces (tri/quads). For Vertices … well … here’s the LOL part: there’s Vertices on a per Face basis (called Vertices) and Vertices on a per mesh basis (called Topology Vertices). Their indexing differs but there’s exposed RC Methods from/to. This LOL thingy means that the N of Vertices MAY be bigger than the N of Topology Vertices meaning that a Topology Vertex MAY point to more than one Vertex.
All the above are related in the so called connectivity trees (of type integer). With regard Vertices these deal with TopologyVertices. These may co-relate (by index) apples to apples (like Vertices to Vertices) or apples to bananas (like Faces to Vertices). A conn tree is something where the last index of the path is the index of the parent (in some V, E, F List/DataTree) and branch items are the indices of the childs (in the same V. E, F Lists/DataTrees).
Since we have 3 types the possible conn Trees are 9 (but some are used more than others).
Plus there’s other type of info “directly” available (derived from the conn Trees) like naked Vertices, islands (disjoined Meshes) etc.
A valid Mesh is the thing where each Edge is connected with max 2 faces (meaningg that every Edge connected with one Face is a naked Edge). A naked Vertex is the one that belongs to a naked Edge.