一键批量DWG_DXF文件互转——CAD c#插件实现(dwg转dxf dxf转dwg)
如下图,我们有大量的dwg格式文件需转为dxf格式文件,或大量dxf需要转dwg,可用cad插件一键实现。
使用方式:
第一步:
CAD命令行输入:netload ,加载此dll插件
第二步:
dwg转dxf:CAD命令行输入:dwg2dxf
dxf转dwg: CAD命令行输入:dxf2dwg
根据提示选择对应文件夹,即可一键完成格式转换。
附部分代码如下:
[CommandMethod("dxf2dwg")]
public static void Dxf2Dwg()
{
ConvertFiles("dxf", "dwg", (db, inputFile) => db.DxfIn(inputFile, null), (db, outputFile) => db.SaveAs(outputFile, DwgVersion.Current));
}
[CommandMethod("dwg2dxf")]
public static void Dwg2Dxf()
{
ConvertFiles("dwg", "dxf", (db, inputFile) => db.ReadDwgFile(inputFile, FileShare.Read, true, null), (db, outputFile) => db.DxfOut(outputFile, 15, true)); // 使用 AutoCAD 2018 DXF 格式
}
if (dlgResult != DialogResult.OK) return;
string dialogPathName = dialog.SelectedPath;
string[] fileNames = Directory.GetFiles(dialogPathName, $"*.{inputExtension}");
if (fileNames.Length == 0)
{
System.Windows.Forms.MessageBox.Show($"文件夹内没有{inputExtension}文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
int counter = 0;
string newFolderName = $"{outputExtension.ToUpper()}_{DateTime.Now:yyyyMMdd_HHmm}";
string newFolderPath = Path.Combine(dialogPathName, newFolderName);
if (!Directory.Exists(newFolderPath))
{
Directory.CreateDirectory(newFolderPath);
}
foreach (string fileName in fileNames)
{
string fullfilename = Path.Combine(newFolderPath, Path.GetFileNameWithoutExtension(fileName) + $".{outputExtension}");
}
插件作者↓↓↓