I'm a pretty fair CAD guy with more than a casual amount of surface modeling experience. If someone developed shapes in a CAD program from published offsets it would be very difficult to know how theoretically perfect those surfaces actually are. All you would have are NURBS surfaces that might look pretty good, but if you use published offsets you will never really know how fair the surface really is (could you spot a 1/8" defect in an offset for a developed surface in a CAD program with a 24" monitor?).
Lots and lots of discussion on this topic in previous threads.
Can you spot an 1/8" defect by simply looking at an entire hull in a 24" monitor? Of course not.
Can you, in appropriate software such as Rhino, spot un-fairness in a surface which needs a 0.005 inch movement of a control point to correct by zooming in and using tools such as curvature combs, zebra patterns and "fluorescent tube" reflections? Absolutely, with practice.
By the way, what is your definition of a "theoretically perfect" surface?
Working backwards a person could model a pleasing shape and intersect it with planes that represent the stations to derive very close estimations of the offsets.
What I want to do is figure out how fair the developed surface based on a set of published offsets, really is, just out of curiosity (it isn't going to make a boat do magic tricks

).
Simplified version of my workflow in Rhino for a boat to be built using sheet materials:
- Import the published offsets. I use an Excel spreadsheet template and the process of data entry and importing into Rhino usually takes less than 30 minutes.
- Create curves for sheer, chine, rabbet, etc which go through the appropriate points. Check the curves and adjust/fair as needed. Frequently problem points are due to typos or similar. Fix those first, redo the curves, then fair the resulting curves if required.
- Create developable surfaces using DevSrf in Rhino which fit the faired curves. The curves almost always need to be extended past the ends of the boat to be able to create surfaces which cover the entire hull. Trim the resulting surfaces as needed. The curves may also need adjusting in order to create developable surfaces. Check the developable surfaces for fairness and agreement with the offsets. If there is a problem the defining curves are adjusted and new surfaces created. Iterate until the developable surfaces are satisfactory.
- Create inner or outer surfaces as offsets from the developable surfaces as needed.
- Create transom surfaces.
- Add keels/keelsons, stems, chines, rails, etc.
- Create planking by trimming the developable surfaces and transom surfaces using the keels/keelsons, stems, chines, rails, etc.
- Cut sections and create mold/frame shapes.
- Unroll planking surface to create shape of flattened shape of planking.