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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

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

發(fā)布時(shí)間:2024/3/13 asp.net 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF与3D 模型(一)把Solidworks里的模型导入进WPF程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(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)單

  • 準(zhǔn)備3D模型
  • 另存為xaml格式
  • 粘貼進(jìn)WPF程序
  • 開(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行并加上如下代碼

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

    我這里換了相機(jī)的類(lèi)型,想知道兩種相機(jī)的區(qū)別看這里
    根據(jù)你模型的大小調(diào)整相機(jī)的位置,并確保相機(jī)看的方向指向你的模型。改完之后我的模型變成下面這樣子。

    大小似乎合適了。不妨再改一下Position里的參數(shù),我們剛剛定義的是藍(lán)色軸是Z軸,紅色是X軸,綠色是Y軸。現(xiàn)在我們把相機(jī)代碼改成

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


    模型往后移了,也就是說(shuō)相機(jī)確實(shí)往Z軸正方向移動(dòng)了。
    再試下X和Y,發(fā)現(xiàn)WPF里面定義的方向和Solidworks里面是一致的。

    總結(jié)

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

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。