0

我在 AutoCAD 2012 中使用 PalettSet 托管我的 .Net ListView 控件。ListView 项的 Tag 属性包含 *.dwg 文件的路径。我想从 ListView 中拖动,同时使用 Item.Tag 属性选择 dwg 文件并将其放在 AutoCAD 绘图区域中,我希望结果是绘图将插入那里,就像我们通常拖动 *.dwg 文件和将其放在绘图区域

我已经阅读了有关使用 Jig 类的拖放块的信息,并且我尝试了一些示例代码,但使用了内置的 Circle 类。

我是否必须先从 dwg 文件中读取块,然后附加到鼠标并进行拖放操作?

我其实很迷茫...

有人可以指导我吗?非常感谢您的回复...

谢谢一堆....

法鲁克

4

1 回答 1

0

最后我解决了这个问题,但经过长时间的研究和代码测试。我编写了代码(通过阅读多个博客),将 *.dwg 文件中的块插入到当前的 AutoCAD 文档中,但后来我意识到许多块包含属性,并且在添加 dwg 时可能需要处理一些块。

所以最后,我决定调用 AutoCAD 的 INSERT 命令,而不是编写自己的代码。这是其他研究员的代码。

请注意,这里我将其作为硬编码 dwg 文件名和路径的示例,而在我的实际应用程序中,将从 ListBox.Tag 属性中读取 DWG 文件路径。

[CommandMethod("InsertDWG")]
static public void SendCmd()
{
    string DWGFile = @"D:\sym\1047.DWG";
    string InsertCmd = @"_.-INSERT " + DWGFile + '\r' + '\n';
    Document doc = Application.DocumentManager.MdiActiveDocument;
    doc.SendStringToExecute(InsertCmd, true, false, false);
}

注意:您应该使用 SendStringToExecute() 方法保留 '\r' + '\n' (将充当 Enter 或回车),否则 AutoCAD 将获取命令字符串,但将等待用户输入。

希望这对某人有益。

最好的问候法鲁克

于 2012-07-04T11:13:48.613 回答