Why didn’t I get a solid when I used the following code to create a face and then pushed and pulled it ? Version of Sketch Up is 2020.
pm = Geom::PolygonMesh.new
a=Geom::Point3d.new(0, 0, 0)
b=Geom::Point3d.new(10, 0, 0)
c=Geom::Point3d.new(10, -10, 0)
d=Geom::Point3d.new(0, -10, 0)
e=Geom::Point3d.new(3, -3, 0)
f=Geom::Point3d.new(6, -3, 0)
g=Geom::Point3d.new(6, -6, 0)
h=Geom::Point3d.new( 3, -6, 0)
pm.add_point(a) # 1
pm.add_point(b) # 2
pm.add_point(c) # 3
pm.add_point(d) # 4
pm.add_point(e) # 5
pm.add_point(f) # 6
pm.add_point(g) # 7
pm.add_point(h) # 8
pm.add_polygon(1, 2, 3, 4, 1, 5, 8, 7, 6, 5, 1)
element_group.entities.fill_from_mesh(pm, Geom::PolygonMesh::AUTO_SOFTEN|Geom::PolygonMesh::SMOOTH_SOFT_EDGES)
face = element_group.entities.grep(Sketchup::Face).first
face.reverse! if face.normal.z < 0 ;
face.pushpull(10)