The article in the link below is about creating Shape file with C#, but it should also apply to VB.NET:
http://www.justkez.com/creating-a-shapefile-from-c-net-what-are-the-options/As you can see, build your own tool from scratch, based on shape file specification could be huge work, most developer would use third party tools/components available. Since you are posting in AutoCAD discussion forum, if you use AUtoCAD Map/Civil3D, you have already had good third party tool available for free: AutoCAD Map import/export tool, which can import/export geometries from/to shape file, and it comes with .NET API.