C# cad 活动文档
时间: 2023-11-01 12:53:54 浏览: 307
在C#中,要获取CAD的活动文档,可以使用以下代码:
```csharp
Document doc = Application.DocumentManager.MdiActiveDocument;
```
其中,`Application`是CAD应用程序对象,`DocumentManager`是文档管理器对象,`MdiActiveDocument`是当前活动文档对象。通过这个代码,你可以获取到当前CAD的活动文档。\[2\]
#### 引用[.reference_title]
- *1* *2* *3* [C#进行CAD二次开发学习笔记-01](https://blog.csdn.net/weixin_41606473/article/details/127304107)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
c# cad打开文档
您可以使用以下代码来打开一个CAD文档:
```csharp
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
namespace MyCommands
{
public class MyCommandsClass
{
[CommandMethod("OpenCADDocument")]
public void OpenCADDocument()
{
// 获取当前文档编辑器
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
// 提示用户选择要打开的文件
PromptOpenFileOptions opt = new PromptOpenFileOptions("选择要打开的CAD文件");
opt.Filter = "CAD文件 (*.dwg)|*.dwg";
PromptFileNameResult res = ed.GetFileNameForOpen(opt);
if (res.Status != PromptStatus.OK) return;
// 打开文件并将其添加到文档管理器中
Database db = new Database(false, true);
db.ReadDwgFile(res.StringResult, System.IO.FileShare.ReadWrite, true, "");
doc.Database = db;
doc.SendStringToExecute("_zoom _all ", true, false, false);
}
}
}
```
请注意,您需要添加对 `Autodesk.AutoCAD.ApplicationServices`、`Autodesk.AutoCAD.DatabaseServices`、`Autodesk.AutoCAD.EditorInput` 和 `Autodesk.AutoCAD.Runtime` 命名空间的引用。
c# cad切换到当前活动文档
在C#中,如果你正在使用CAD(计算机辅助设计)软件,比如AutoCAD或SolidWorks等,通常会有一个集成开发环境(IDE)允许与API交互。当你想要切换到当前活动文档,这通常涉及到操作文档对象模型(Document Object Model,DOM),而不是直接的UI操作。
例如,如果你使用Autodesk.NET SDK,你可以这样做:
```csharp
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
// 获取应用程序服务
var acadApp = Application.DocumentManager.MdiActiveDocument.Application;
// 检查是否已有活动文档
if (acadApp.ActiveDocument != null)
{
// 切换到活动文档
acadApp.ActiveDocument.Windows[0].Activate();
}
else
{
Console.WriteLine("没有活动文档");
}
```
这段代码首先获取到`ApplicationServices`中的`MdiActiveDocument`,也就是当前活动的图纸,然后激活对应的`DatabaseService`窗口。如果没有任何活动文档,程序会显示相应的提示。
阅读全文