在AutoCAD软件中,可以使用以下方法获取图纸名称:
通过AcApDocument类
在AcApClasses中的AcApDocument类里,有一个fileName成员函数,可以用来获取当前图纸的文件名。
通过Application.DocumentManager
可以使用Application.DocumentManager.MdiActiveDocument.Name来获取当前活动图纸的名称。
通过系统变量
可以使用ZwApp.Application.GetSystemVariable("DWGNAME")来获取含有扩展名的图纸名,然后使用System.IO.Path.GetFileNameWithoutExtension()方法去除扩展名,得到纯图纸名称。
示例代码
```csharp
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using System.IO;
public class Get图纸名称
{
[CommandMethod("Get图纸名称")]
public void Run()
{
// 方法一:通过AcApDocument类
Document acDoc = Application.DocumentManager.MdiActiveDocument;
string drawingName1 = acDoc.FileName;
System.Diagnostics.Debug.WriteLine("方法一获取的图纸名称: " + drawingName1);
// 方法二:通过Application.DocumentManager
string drawingName2 = Application.DocumentManager.MdiActiveDocument.Name;
System.Diagnostics.Debug.WriteLine("方法二获取的图纸名称: " + drawingName2);
// 方法三:通过系统变量
string dwgName = ZwApp.Application.GetSystemVariable("DWGNAME");
string drawingName3 = Path.GetFileNameWithoutExtension(dwgName);
System.Diagnostics.Debug.WriteLine("方法三获取的图纸名称: " + drawingName3);
}
}
```
建议
方法一和方法二适用于大多数情况,因为它们直接获取当前活动图纸的名称。
方法三适用于需要获取任意图纸名称的情况,即使图纸不是当前活动文档。
根据具体需求选择合适的方法,可以有效地获取图纸名称。