AutoCAD:从我在Palettset托管的列表框中拖放*.dwg文件



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

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

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

我其实很困惑...

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

谢谢一堆....

法鲁克

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

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

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

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

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

希望这对某人有益。

此致敬意法鲁克

相关内容

  • 没有找到相关文章

最新更新