在上一講中,我們實現了自動載入族,并介紹了基于標高創建族實例的方法。這一講,我們將利用 WPF 創建簡單的界面,通過點擊按鈕選擇元素,在控件里顯示元素的信息。
什么是WPF
WPF (WindowsPresentation Foundation,Windows 演示基礎)是一個用于 Windows 圖形顯示的系統,是針對 .net 設計的,提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作,同時相較于 Winform 提供了全新的多媒體交互用戶圖形界面。
有Winform,為啥用WPF
WPF 相較于 Winform 顯著的特點就是可以用 XAML 語言進行設計界面的工作,程序人員與美工人員明確分工,美工人員可以使用 Expression Studio 中套裝工具可視化的設計界面。然后交給程序開發組中的 XAML 就可以。讓程序人員直接套用到開發環境,不需要想頁面怎么切了。
WPF 最重要的特色,是對矢量圖的超強支持 。兼容支持 2D 繪圖,比如矩形、自定義路徑,位圖等。文字顯示的增強,XPS 和消鋸齒。三維強大的支持。包括 3D 控件及事件,與 2D 及視頻合并打造更立 體效果。漸變、使用高精確的(ARGB)顏色,支持浮點類型的像素坐標。這些對 GDI+ 遠遠不及的。
靈活、易擴展的動畫機制!.Net Framework 3.0 類庫提供了強大的基類,只需繼承就可以實現自定義程序使用繪制。接口設計非常直觀,完全面向對象的對象模型。使用對象描述語言 XAML。使用開發工具的可視化編輯。
您可以使用任何一種 .Net 編程語言(C#,VB NET等開發語言)進行開發。XAML 主要針對界面的可視化控件描述,成生進會分析成 .cs 或 .vb 文件,并最后將編譯為 CLR 中間運行語言。
利用WPF進行Revit二次開發的注意事項
當你新建 WPF 項之后,需要修改兩處,將 UserControl1 改為 Window,修改位置如圖:
第一處
第二處
下面將創建簡單的 WPF 界面,添加一個 Label 控件,一個 Textbox 控件和一個 Button 控件,位置及控件信息如圖:
這時,底部會出現如下 XAML 代碼
當然也可以通過編寫 XAML 代碼,實現對控件的添加修改。
我們要通過 WPF 實現什么功能呢
很簡單,點擊選擇元素按鈕,在 Revit 中選擇一個元素,Textbox 中將顯示元素的名稱,很基礎但是很有趣的一個實現 Revit 與 WPF 界面交互的小案例。
別急,這就呈上代碼
UserControl1.xaml.CS 類中的代碼
Class1 類中添加的代碼
運行結果:
運行程序,Revit 文檔如下圖
出現 WPF 制作的界面
單擊選擇元素按鈕,選擇 Revit 中樹,樹的名字將顯示在 Textbox 控件中。如圖:
這時簡單的利用 WPF 進行 Revit 二次開發的小案例就完成了。
Revit的傻瓜渲染,圖像細膩,操作簡單。所以一直受到不少設計師的喜愛。但同時也會在細節上出現一點小問題,例如最近就有一個設計師問我,為什么?Revit渲染出來的圖會有色差,顏色偏黃偏暖。我讓他在渲染完成后調節曝光,但他說調節曝光對圖片質量有影響。于是,我就著手于渲染設置問題。在使用Revit渲...
Revit中制作體量形體的綜合運用。1.新建公制體量,使用直線工具,繪制形體的輪廓,使用直線中的半橢圓與樣條曲線,繪制成如圖所示的形狀。