我在AutoCAD 2012中使用PalettSet托管我的.Net ListView控件.ListView项的Tag属性包含* .dwg文件的路径。我想从ListView中拖动,同时使用Item.Tag属性选择dwg文件并将其放在AutoCAD绘图区域上,我希望结果将是绘图将插入那里就像我们通常一样拖动* .dwg文件并将其放在绘图区域
我已经阅读了使用Jig Class的拖放块,我尝试了一些示例代码,但使用了内置的Circle类。
我是否必须首先从dwg文件中读取块然后附加到鼠标并执行拖放操作?
我其实很困惑......
有人可以指导我吗?非常感谢您的回复...
非常感谢......
法鲁克
答案 0 :(得分: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'(将充当回车或回车),否则AutoCAD会获取命令字符串,但会等待用于用户输入。
希望这对某人有益。
祝你好运 法鲁克