code: function(normal, point, length) {
              var plane = CSG.Plane.fromNormalAndPoint(normal, point);
              var onb = new CSG.OrthoNormalBasis(plane);
              var crosssect = this.sectionCut(onb);
              var midpiece = crosssect.extrudeInOrthonormalBasis(onb, length);
              var piece1 = this.cutByPlane(plane);
              var piece2 = this.cutByPlane(plane.flipped());
              var result = piece1.union([midpiece, piece2.translate(plane.normal.times(length))]);
              return result;
          }
docs: cut the solid at a plane, and stretch the cross-section found along plane normal