日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF与3D 模型(一)把Solidworks里的模型导入进WPF程序

發布時間:2024/3/13 asp.net 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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工具箱里的功能。

我們這里先講方法三,流程很簡單

  • 準備3D模型
  • 另存為xaml格式
  • 粘貼進WPF程序
  • 開始
    1.準備3D模型
    我這里在solidworks里面畫了個坐標系,藍色表示Z軸,綠色表示Y軸,紅色表示X軸

    2.另存為xaml格式

    記事本打開我們保存的xaml文件

    這長長的一串就是我們的3D模型的代碼了
    3.粘貼進WPF程序
    打開Visual Studio,新建WPF application,我們得到一個空的模板

    把剛剛的xaml代碼復制粘貼進<Grid></Grid>中間(第一行沒用,只復制第一行后面的就可以)然后Boom的一下模型就出來了。沒怎么動腦子就成功了。

    WPF是通過一個內置的相機來模擬我們觀察的位置和方向。因此我們不難發現,這里的模型似乎離相機太近了。我們嘗試著拉遠看看。
    我們刪掉第12行并加上如下代碼

    <PerspectiveCamera Position="0.2,0.2,0.2" LookDirection="-1,-1,-1"></PerspectiveCamera>

    我這里換了相機的類型,想知道兩種相機的區別看這里
    根據你模型的大小調整相機的位置,并確保相機看的方向指向你的模型。改完之后我的模型變成下面這樣子。

    大小似乎合適了。不妨再改一下Position里的參數,我們剛剛定義的是藍色軸是Z軸,紅色是X軸,綠色是Y軸。現在我們把相機代碼改成

    <PerspectiveCamera Position="0.2,0.2,0.3" LookDirection="-1,-1,-1"></PerspectiveCamera>


    模型往后移了,也就是說相機確實往Z軸正方向移動了。
    再試下X和Y,發現WPF里面定義的方向和Solidworks里面是一致的。

    總結

    以上是生活随笔為你收集整理的WPF与3D 模型(一)把Solidworks里的模型导入进WPF程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。