using System.IO;
|
|
namespace PdmSwPlugin.Common.Util
|
{
|
/// <summary>
|
/// 专门处理工程图的文件名的类
|
/// </summary>
|
public static class EngineeringDrawingFile
|
{
|
/// <summary>
|
/// 根据一个模型文件的全路径名得到其 2D 工程图的全路径名
|
/// 只有零件才会有工程图,装配体是没有的
|
/// 本方法不检查工程图文件是否存在
|
/// 特别更新:装配体也有可能有工程图
|
/// </summary>
|
/// <param name="sldFileName">模型文件的全路径名</param>
|
/// <returns>模型文件 2D 工程图的全路径名</returns>
|
public static string Get2DFileName(string sldFileName)
|
{
|
if (string.IsNullOrEmpty(sldFileName))
|
{
|
return null;
|
}
|
|
string originalExt = Path.GetExtension(sldFileName);
|
if (string.Compare(originalExt, FileExtentionChecker.DrawingExtentionInLowerCase, true) == 0)
|
{
|
// 如果本身就是工程图就直接返回
|
return sldFileName;
|
}
|
else if (string.Compare(originalExt, FileExtentionChecker.PartExtentionInLowerCase, true) == 0 ||
|
string.Compare(originalExt, FileExtentionChecker.AssemblyExtentionInLowerCase, true) == 0)
|
{
|
return sldFileName.Replace(originalExt, FileExtentionChecker.DrawingExtentionInLowerCase);
|
}
|
else
|
{
|
return string.Empty;
|
}
|
}
|
|
/// <summary>
|
/// 根据一个模型文件的全路径名得到其 2D 工程图的全路径名,文件必须存在
|
/// 只有零件才会有工程图,装配体是没有的
|
/// 特别更新:装配体也有可能有工程图
|
/// </summary>
|
/// <param name="sldFileName">模型文件的全路径名</param>
|
/// <returns>模型文件 2D 工程图的全路径名,如果文件不存在会返回空</returns>
|
public static string Get2DFileNameIfExisting(string sldFileName)
|
{
|
string drawingFileName = Get2DFileName(sldFileName);
|
if (string.IsNullOrEmpty(drawingFileName) || !File.Exists(drawingFileName))
|
return string.Empty;
|
else
|
return drawingFileName; // 如果该文件确实存在才返回
|
}
|
}
|
}
|