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