... that is implemented by DxfReader and DwgReader so that one might write the following:
IReader reader = null;
string type = Path.GetExtension(fn).ToLower();
if (type.Equals(".dwg"))
{
reader = new DwgReader(fn);
}
else if (type.Equals(".dxf"))
{
reader = new DxfReader(fn);
}
if (reader == null)
return;
reader.Progress += new WW.Cad.Base.ProgressEventHandler(reader_progress);
DxfModel model = reader.Read();
.
.
My apologies if you have already considered and abandoned this idea.