How to split files using shell script?

solid top
facet normal 0    1    0
outer loop
vertex 0    1    0
vertex 1    1    1
vertex 1    1     0
endloop
endfacet
facet normal 0    1    0
outer loop
vertex 0    1    0
vertex 0    1    1
vertex 1    1     1
endloop
endfacet
endsolid top
solid bottom
facet normal 0    -1    0
outer loop
vertex 0    0    1
vertex 0    0    0
vertex 1    0     0
endloop
endfacet
facet normal 0    -1    0
outer loop
vertex 0    0    1
vertex 1    0    0
vertex 1    0     1
endloop
endfacet
endsolid bottom

Hi All,

Hope everyone enjoying weekend. I need little help.
Above is the file format. I want to split it into two stl files namely top.stl bottom.stl. How can I do it?
Also, There is no limit for number of solid regions. shell script should work for any number of solids.

Regards,
linuxUser_

Give us the expected output files

Thanks for the reply :). There are my expected files.
top.stl

solid top 
facet normal 0    1    0 
outer loop 
vertex 0    1    0 
vertex 1    1    1 
vertex 1    1     0 
endloop 
endfacet 
facet normal 0    1    0 
outer loop 
vertex 0    1    0 
vertex 0    1    1 
vertex 1    1     1 
endloop 
endfacet 
endsolid top

bottom.stl

solid bottom 
facet normal 0    -1    0 
outer loop 
vertex 0    0    1 
vertex 0    0    0 
vertex 1    0     0 
endloop 
endfacet 
facet normal 0    -1    0 
outer loop 
vertex 0    0    1 
vertex 1    0    0 
vertex 1    0     1 
endloop 
endfacet 
endsolid bottom

Regards,
linuxUser_

---------- Post updated at 11:29 AM ---------- Previous update was at 11:27 AM ----------

Oops no. Something went wrong.

format should be same as above pasted in question.

awk '
$1~/solid/ {out=$2".stl"}
{print > out}
' file