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