WPF与3D 模型(一)把Solidworks里的模型导入进WPF程序
簡(jiǎn)單研究了一下WPF導(dǎo)入3D模型的方法,了解到大概有以下這幾種:
- 用Helix工具箱在程序碼里面導(dǎo)入STL或者OBJ模型
- 用Helix工具箱在xaml碼里粘貼xaml模型代碼
- 不用Helix工具箱在xaml碼里直接粘貼xaml模型代碼
(題外話:Helix tool box是一個(gè).Net 3D模型算法庫(kù),主創(chuàng)人員似乎相當(dāng)懶,相關(guān)文檔至今都沒(méi)寫(xiě)幾頁(yè)。咱只能自己摸索怎么用)
方法一的好處是,由于我們是一個(gè)個(gè)零件導(dǎo)入進(jìn)WPF程序,因此單個(gè)零件可以單獨(dú)控制。不好的地方是如果不是寫(xiě)在xmal里,GUI界面不能實(shí)時(shí)顯示模型(必須要運(yùn)行程序才能看到),對(duì)于導(dǎo)入多個(gè)模型并且定制各個(gè)模型的外觀需要一個(gè)個(gè)設(shè)置,麻煩點(diǎn)。
方法二的好處是你的CAD模型在CAD程序里長(zhǎng)什么樣,導(dǎo)入進(jìn)WPF就什么樣,不需要另外配置外觀。另外編程的時(shí)候GUI界面實(shí)時(shí)顯示模型,不需要運(yùn)行程序就能看到模型的樣子。
方法三的與方法二類(lèi)似,只不過(guò)沒(méi)有Helix工具箱里的功能。
我們這里先講方法三,流程很簡(jiǎn)單
開(kāi)始
1.準(zhǔn)備3D模型
我這里在solidworks里面畫(huà)了個(gè)坐標(biāo)系,藍(lán)色表示Z軸,綠色表示Y軸,紅色表示X軸
2.另存為xaml格式
記事本打開(kāi)我們保存的xaml文件
這長(zhǎng)長(zhǎng)的一串就是我們的3D模型的代碼了
3.粘貼進(jìn)WPF程序
打開(kāi)Visual Studio,新建WPF application,我們得到一個(gè)空的模板
把剛剛的xaml代碼復(fù)制粘貼進(jìn)<Grid></Grid>中間(第一行沒(méi)用,只復(fù)制第一行后面的就可以)然后Boom的一下模型就出來(lái)了。沒(méi)怎么動(dòng)腦子就成功了。
WPF是通過(guò)一個(gè)內(nèi)置的相機(jī)來(lái)模擬我們觀察的位置和方向。因此我們不難發(fā)現(xiàn),這里的模型似乎離相機(jī)太近了。我們嘗試著拉遠(yuǎn)看看。
我們刪掉第12行并加上如下代碼
我這里換了相機(jī)的類(lèi)型,想知道兩種相機(jī)的區(qū)別看這里
根據(jù)你模型的大小調(diào)整相機(jī)的位置,并確保相機(jī)看的方向指向你的模型。改完之后我的模型變成下面這樣子。
大小似乎合適了。不妨再改一下Position里的參數(shù),我們剛剛定義的是藍(lán)色軸是Z軸,紅色是X軸,綠色是Y軸。現(xiàn)在我們把相機(jī)代碼改成
模型往后移了,也就是說(shuō)相機(jī)確實(shí)往Z軸正方向移動(dòng)了。
再試下X和Y,發(fā)現(xiàn)WPF里面定義的方向和Solidworks里面是一致的。
總結(jié)
以上是生活随笔為你收集整理的WPF与3D 模型(一)把Solidworks里的模型导入进WPF程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阿里云的短信服务acsClient+ja
- 下一篇: .Net Core 阿里云短信服务Dem