FME在三維建模中的應用 從DWG到三維模型

2021-08-20 22:57:09 字數 1347 閱讀 2601

整理人:小新

原始資料

包含該建築6層樓的平面圖,每層樓的平面圖為乙個dwg檔案,每個dwg檔案中牆(wall)、窗戶(windows)分層儲存。

建模技術路線

讀取每個dwg檔案,分離每層樓的牆體(wall)和窗戶(window),進行拉伸。然後對每層樓還需建立乙個屋頂和屋底。然後進行材質貼圖。

模版工作流程

1、  每個底圖的樓層數儲存在檔名最末尾的數字中,因此需要暴露feature_base_name屬性,同時為了後續分布對牆和窗的圖層進行處理,還需要暴露feature_type屬性。

2、  計算每面牆紋理在u/v方向貼紋理的次數

3、  根據feature_base_name屬性提取每個要素所屬的樓層數

4、  將每個要素在z方向上平移到所在樓層(樓層高度單位50計算)

5、  將牆體和窗戶進行拉伸(extruder),拉伸的高度為樓層的高度。形成3d的牆和窗戶。

6、  新增牆的紋理,根據計算的次數進行貼圖

7、  對窗戶新增紋理。

8、  建立每個樓層的底面和頂面

9、  輸出儲存

fme模版截圖

模型效果

一共六層樓,我們還可以檢視每層樓的效果: 

總結

通過fme建立的三維模型,輸出儲存的時候主要以3d pdf格式為主,其他如3ds、direct x等格式在貼紋理的時候需要考慮面的法線方向,需要沿著法線正向進行紋理貼圖,才能正確顯示。我在嘗試將這個模板生成的三維模型儲存為3ds或direct x時,某些面的貼圖總是反向,目前還沒有找到合適的方法解決這個問題。如果做個這方面研究的朋友,歡迎交流。

硬表面建模 三維建模中硬表面建模

硬表面建模一般是指機械類 盔甲 工業模型等這類建模方式,建模的主要思路就是通過基本的幾何形體來擠壓 卡結構 卡邊 的方式製作,由於無論是3ds max還是maya模型經過平滑後都會有不少的收縮,這樣的收縮如果不經過卡邊的處理,就會對形狀造成非常大的影響,生物類建模中這樣的影響較小,而硬表面建模中這樣...

ArcGlobe開發 在三維場景中畫出幾何要素

在三維場景 中可以畫出幾何要素,其充當臨時圖層,在重新整理後會消失。一般用作臨時測試,或者有特別的用途。函式如下 public static void draw polyline iglobe pglobe,int rgbcolor,igeometry geometry pelement.geome...

平面和直線在三維空間的方程和應用。

平面在三維空間 平面方程 一般方程 ax by cz d 0 平面通過點m x1,y1,z1 及法向量 n a,b,c 的方程 a x x1 b y y1 c z z1 0 通過三個點p a,0,0 q 0,b,0 r 0,0,c 的方程 x a y b z c 1 a,b,c 0 直線在三維空間 ...