✓ Accepted answer
No, there is no way to procedurally create a MeshPart or access the vertex data of existing Meshes. Studio's terrain generator does not directly generate mesh geometry either, it fills in a 3D voxel grid with materials and occupancy values, and the actual mesh is generated on the fly at runtime by the game's rendering engine, and with distance-based LoD. Different terrain materials use different algorithms for the geometry the generate.
Using the Union to combine Roblox base parts results in a UnionOperation object which is like a MeshPart, but with a couple of key differences:
Unions always have box-mapped UVs, based on the orientation of the first part selected when unioning 1 or more parts. The only control you have over UV mapping is by orienting the first-selected part relative to the rest of the parts, and this UV mapping only determines the orientation of the box-mapping projection, you have no real control over scale of the UVs themselves (though Texture Instances provide UV offsets and multipliers)
Unions do not have a TextureID property, they can only be texture using built-in materials or by adding Texture and/or Decal Instances as children.
Unions can be undone (usually) because they store metadata about the parts they were constructed from.
The internal meshId of a UnionOperation is not exposed and available for use with SpecialMesh/FileMesh/CharacterMesh instances.
A UnionOperation has the same collision and render fidelity options as an imported MeshPart.
2 comments
you can create terrain thru scripts, you can create custom unions thru scripts, but you can't move vertices and faces like you would do in blender.
I don't need to manipulate vertices, but to create a mesh from scratch with vertice and triangle data.