The primitive 4-4clyi.dat (4 fourths of a cylinder) is a basic open cylinder: Its outside is represented as (from stud4.dat): 1 16 0 -4 0 8 0 0 0 4 0 0 0 8 4-4cyli.dat Stud4.dat represents a ring that could fit a stud inside of it.
The outside of the base cylinder corresponds to: 1 16 0 3 0 -1 0 0 0 -1.25 0 0 0 1 stud4.dat We can break the part definition down to its components.
I won't try to describe the format in detail, but lines starting with 1 simply include another file that is translated, scaled, and rotated based on the included transformation matrix. I'd recommend parsing these parts rather than rolling you own models if you're going to be using many parts. LDraw provides freely accessibly models for nearly every part that Lego has produced. You can derive detailed part geometry using the LDraw parts library.