有時候我們只需要讀取文檔信息,但是讀取信息過程中可能需要做一些特徵的壓縮,刪除等任何操作,很早前我還要去這些信息記錄,用代碼進行還原。
最近我遇到的就是要把A零件換成B零件進行干涉檢查,最後不需要保存零件。
我最近在查api的時候發現了一個函數:ReloadOrReplace,發現這個很好用。零件讀取之前保存一下,然後不論怎麼修改,只要不保存就行。最後用這個函數重新加載,文件就立馬還原了。
private void btnReload_Click(object sender, EventArgs e)
{
ISldWorks swApp = Utility.ConnectToSolidWorks();
var swModel = (ModelDoc2)swApp.ActiveDoc;
swModel = swApp.ActiveDoc;
//這個就是重新打開,最後一個參數是放不要放棄修改(我們不修改,所以爲true)
swModel.ReloadOrReplace(false, swModel.GetPathName(), true);
}