Seslie,
You can create surface from Collection be calling method CreateRegularHeightFieldSurface(string name, SpatialLatticeInfo lattice);
To create property as RegularHeightFieldSurface.CreateProperty(Template template);
Then you can access to nodes of surface and property by I and J indexes. X and Y for surface will be generated automatically from lattice.
Point2[] world = …
var surf = c.CreateRegularHeightFieldSurface(name, oldSurf.SpatialLattice, PetrelProject.PrimaryProject.CoordinateReferenceSystem));
SurfaceProperty prop = surf.CreateProperty(PetrelProject.WellKnownTemplates.PetrophysicalGroup.Pressure);
prop.Name = " Pressure ";
var sizeIj = surf.SpatialLattice.OriginalLattice.Arrays.SizeIJ;
for (int i = 0; i < sizeIj.I; i++)
{
for (int j = 0; j < sizeIj.J; j++)
{
surf[i, j] = …;
prop[i, j] = …;
}
}