2012-06-30 26 views
0

我在AutoCAD 2012中使用PalettSet託管我的.Net ListView控件.ListView項目的Tag屬性包含* .dwg文件的路徑。我想從ListView中拖動,同時使用Item.Tag屬性選擇dwg文件並將其放在AutoCAD繪圖區域上,我期待的結果將是繪圖將插入那裏就像我們通常拖動* .dwg文件並將其放在繪圖區上AutoCAD:從我的列表框中拖放* .dwg文件

我已閱讀使用Jig類的拖放塊,並嘗試了一些示例代碼,但使用了內置的Circle類。

我必須首先從DWG文件中讀取的塊,然後連接到鼠標和做拖放操作?

實際上,我迷茫......

是否有人可以指導我?會很感激您的答覆......

多謝....

法魯克

+0

哦,我沒有意識到這一點。我會那樣做的。 感謝您喚醒我:) –

回答

0

最後我解決了這個,但經過一段長時間的研究和代碼測試。我編寫的代碼(通過閱讀多個博客)將從* .dwg文件中將塊插入到當前的AutoCAD文檔中,但是後來我意識到許多塊包含屬性,有些可能需要在添加dwg時進行處理。

最後,我決定調用AutoCAD的INSERT命令,而不是寫自己的代碼。這是其他研究員的代碼。

請注意,我在這裏做它,而硬編碼的dwg文件名和路徑,而在我的實際應用中,DWG文件路徑將會從ListBox.Tag財產的示例讀取。

[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); 
} 

注:您應該保留「\ r」 +「\ n」(將作爲輸入或回車)與SendStringToExecute()方法,或AutoCAD將得到的字符串命令,但會等待用戶輸入。

希望這對於某人會有好處。

最好的問候 Farrukh