首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoCAD:从托管在Palettset的*.dwg ListBox中拖放*.dwg文件

AutoCAD:从托管在Palettset的*.dwg ListBox中拖放*.dwg文件
EN

Stack Overflow用户
提问于 2012-06-30 09:03:51
回答 1查看 766关注 0票数 0

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

我读过关于使用Jig的拖放块的文章,我尝试了一些示例代码,但是使用了内置的循环类。

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

我真的很困惑..。

有人能指点我吗?非常感谢你的回复..。

谢谢一堆..。

法鲁克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-04 11:13:48

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

最后,我决定调用AutoCAD的INSERT命令,而不是编写自己的代码。这是其他人的密码。

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

代码语言:javascript
复制
[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将获得命令字符串,但将等待用户输入。

希望这对某人有好处。

向法鲁克问好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11272880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档