OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Select PointFiles to import";
ofd.CheckFileExists = true;
ofd.Multiselect = true;
if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
return;
dynamic prefs = Autodesk.AutoCAD.ApplicationServices.Application.Preferences;
dynamic files = prefs.Files;
string qnew = files.QNewTemplateFile;
foreach (string file in ofd.FileNames)
{
string path = Path.GetDirectoryName(file);
string filename = Path.GetFileNameWithoutExtension(file);
string newname = path + "\" + filename + ".dwg";
using (Database db = new Database(false, true))
{
db.ReadDwgFile(qnew, FileOpenMode.OpenForReadAndWriteNoShare, false, "");
using (Transaction tr = db.TransactionManager.StartTransaction())
{
CivilDocument civdoc = CivilDocument.GetCivilDocument(db);
ObjectId styleId = civdoc.Styles.SurfaceStyles["TDG - Border Only"];
ObjectId surfId = TinSurface.Create(db, filename);
TinSurface surf = (TinSurface)surfId.GetObject(OpenMode.ForWrite);
PointFileFormatCollection ptFileFormats = PointFileFormatCollection.GetPointFileFormats(db);
PointFileFormat ptFormat = ptFileFormats["PNEZD (comma delimited)"];
surf.StyleId = styleId;
surf.PointFilesDefinition.AddPointFile(file, ptFormat);
tr.Commit();
}
db.SaveAs(newname, DwgVersion.Current);
}
}