非模態視窗有乙個好處,就是可以一直停留在程式之前,然後持續完成操作。但是在revit二次開發中,非模態視窗也有幾個注意事項。
1、需要在文件關閉的時候,把非模態視窗也關閉掉,不然會導致文件關閉,視窗還在這樣奇怪的bug。
2、非模態的視窗的事件需要在iexternalcommand裡註冊。
3、每個操作必須在外部事件裡進行。
以下**關注後兩個注意事項,第乙個用上document事件即可解決。
首先在iexternalcommand註冊事件。
public class command : iexternalcommand
catch (exception e)
}}
然後寫乙個通用的外部事件。
public class executeeventhandler : iexternaleventhandler
public executeeventhandler(string name)
catch}}
public string getname()
}
接下來,通過控制項來實現建立構件。
public partial class modelessview : window
private void creatline_click(object sender, routedeventargs e)
});_externalevent.raise();} }
private void creatline2_click(object sender, routedeventargs e)
});_externalevent.raise();}}
}
這就是乙個簡單的非模態視窗實現的辦法。
對revit二次開發和dyanmo程式設計這塊感興趣**qq**流:660319009 Revit二次開發 初學
前言 由於工作需要,近期開始學習revit二次開發知識。學習的同時將學習過程與小夥伴們一起分享,希望後來的小夥伴在看到我的學習筆記的時候有所幫助。說明由於revit的版本在不斷更新中,所以我在學習revit的時候選擇了從revit自帶的幫助檔案開始學習,不同版本的revit,就看相應的help檔案。...
Revit二次開發 Revit擴充套件儲存資料
revit二次開發過程中,需要將相關資訊儲存到rvt檔案中,再次開啟rvt的時候,可以通過讀取這些資訊,知道當前構件的基本狀態,或者將乙個特殊的資訊儲存到rvt檔案中,從revit2012開始引入了擴充套件儲存這個新技術,就是可以把一些資料儲存在revit中的某乙個物件上。且這個儲存操作,只能通過程...
Revit二次開發 分割族
如有不明白,請qq254033230詢問。其實在revit裡是不存在分割族的概念。對於基於線形的族,截面沿線都是一樣,要想達到分割的狀態,只需要把族基於線的那條線變短,然後再在分割點複製乙個新的族即可。過程是先獲得線的均分點,然後把族的線縮短,接著再複製族,即可變成均分的效果。主要方法見 priva...