FME支援.x檔案格式
原文釋出時間:2014/12/5 10:06:43
作者:小C
眾所周知,FME具有強大的格式轉換功能,無論是二維的,還是三維的資料格式。現在我們來看看,FME支援的.x這種三維檔案格式,FME讀模組和寫模組都支援這種格式。
.X檔案格式是DirectX(Direct eXtension)的一種檔案格式。DirectX是由微軟公司建立的多媒體程式設計介面,由C++程式語言實現,遵循COM。以X為副檔名的檔案是微軟定義的檔案格式,用來存放3D模型.X檔案有文字和二進位制兩種儲存形式。.X檔案內部結構如下:Frame定義框架容器,用來裝Mesh物件。可以包含多個Mesh物件,也可以包含子框架。
下面是用FME生成的一個.X檔案,我們先用FME Data Inspector開啟該檔案:
上圖顯示了該三維模型的幾何物件圖形要素以及屬性資訊,下面我們來進一步觀察其幾何物件特性資訊。該模型是由3D IFMEMesh幾何物件組成的,節點池由8個節點組成,8個節點法向:
12個mesh部分組成,每個部分的前面外觀用顏色顯示,其值如下:
現在我們用文字的方式開啟該檔案格式:
xof 0303txt 0032
template Vector {
<3d82ab5e-62da-11cf-ab39-0020af71e433>
FLOAT x;
FLOAT y;
FLOAT z;
}
template MeshFace {
<3d82ab5f-62da-11cf-ab39-0020af71e433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}
template Mesh{
<3d82ab44-62da-11cf-ab39-0020af71e433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}
template MeshNormals {
<f6f23f43-7686-11cf-8f52-0040333594a3>
DWORD nNormals;
array Vector normals[nNormals];
DWORD nFaceNormals;
array MeshFace faceNormals[nFaceNormals];
}
template ColorRGBA {
<35ff44e0-6c7c-11cf-8f52-0040333594a3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}
template ColorRGB{
<d3e16e81-7835-11cf-8f52-0040333594a3>
FLOAT red;
FLOAT green;
FLOAT blue;
}
template Material {
<3d82ab4d-62da-11cf-ab39-0020af71e433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}
template MeshMaterialList {
<f6f23f42-7686-11cf-8f52-0040333594a3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material <3d82ab4d-62da-11cf-ab39-0020af71e433>]
}
Mesh {
8;
36621192.000000;424.299988;3117173.75;,
36621516.000000;424.299988;3116752.00;,
36621812.000000;469.33627;3117001.00;,
36620888.000000;424.299988;3116935.25;,
36621192.000000;427.299988;3117173.75;,
36621812.000000;472.33627;3117001.00;,
36621516.000000;427.299988;3116752.00;,
36620888.000000;427.299988;3116935.25;;
12;
3;0,1,2;,
3;0,3,1;,
3;2,4,0;,
3;2,5,4;,
3;1,6,2;,
3;2,6,5;,
3;3,7,1;,
3;1,7,6;,
3;0,7,3;,
3;0,4,7;,
3;4,6,7;,
3;4,5,6;;
MeshNormals {
8;
-0.143195;-0.621969;0.769838;,
0.189088;-0.637996;-0.746463;,
0.844171;-0.502361;0.187105;,
-0.819048;-0.551516;-0.158082;,
-0.164025;0.614018;0.772061;,
0.782009;0.600960;0.165255;,
0.138553;0.588690;-0.796396;,
-0.819051;0.551515;-0.158071;;
12;
3;0,1,2;,
3;0,3,1;,
3;2,4,0;,
3;2,5,4;,
3;1,6,2;,
3;2,6,5;,
3;3,7,1;,
3;1,7,6;,
3;0,7,3;,
3;0,4,7;,
3;4,6,7;,
3;4,5,6;;
}
MeshMaterialList {
1;
12;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;
Material {
0.333333;1.000000;1.000000;1.000000;;
1.000000;
1.000000;1.000000;1.000000;;
0.000000;0.000000;0.000000;;
}
}
}
從上面這個資料我們就可以更清楚的認識到.x這種格式的內部結構:
Mesh 物件
定義一個Mesh物件。
共有9個部分組成:
1、包含的頂點數;
2、頂點列表,一個頂點包含三個浮點值;
3、面數 ;
4、面的頂點索引列表,每個麵包含三個頂點;
5、MeshFaceWraps結構,暫時無用 ;
6、MeshTextureCoords紋理座標,可選 ;
7、MeshNormals法向,可選;
8、MeshVertexColors頂點顏色,預設為白色;
9、MeshMaterialList材質,不提供的話預設為白色 。
若對文章有疑問,可傳送郵件至[email protected]提問或討論。
相關推薦
FME支援.x檔案格式
原文釋出時間:2014/12/5 10:06:43 作者:小C 眾所周知,FME具有強大的格式轉換功能,無論是二維的,還是三維的資料格式。現在我們來看看,FME支援的.x這種三維檔案格式,FME讀模組和寫模組都支援這種格式。 .X檔案格式是DirectX(Direct
tika1.16支援的檔案格式
Full list of Supported Formats org.apache.tika.parser.apple.AppleSingleFileParser application/applefile org.apache.tika.p
Snapde電子表格支援的檔案格式
Snapde,一個專門為編輯超大型資料量CSV檔案而設計的單機版電子表格軟體;它執行的速度非常快,反應非常靈敏。那麼它支援哪些檔案格式呢? 1、CSV檔案格式,是一種以逗號分隔列、以回車分隔行的文字檔案 2、txt檔案格式,那種種以特殊符號分隔列(Snapde能自動識別:
Hive之——Hive支援的檔案格式與壓縮演算法(1.2.1)
概述只要是配置了正確的檔案型別和壓縮型別(比如Textfile+Gzip、SequenceFile+Snappy等),Hive都可以按預期讀取並解析資料,提供SQL功能。SequenceFile本身的結構已經設計了內容進行壓縮。所以對於SequenceFile檔案的壓縮,並不
GDI+ 支援的圖片檔案格式
您可以使用許多標準格式將點陣圖儲存在磁碟檔案中。GDI+ 支援以下各種圖片檔案格式。 o 點陣圖 (BMP) 點陣圖是 Windows 用來儲存裝置無關和與應用程式無關的圖片的標準格式。檔案頭決定了指定的點陣圖檔案的每個畫素
如何新增或者取消對於某種媒體檔案格式的支援
一、新增某些格式 以rmvb格式為例,由於lisence問題,將一個rmvb格式視訊檔案拷貝到手機的SD卡上,該檔案無法顯示為視訊檔案;若貴司有預裝第三方apk來支援播放該格式視訊,可以按照下面的方法,新增對rmvb格式的支援。 在frameworks\base\media\java\and
linux支援ntfs檔案系統格式!!!
由於Linux系統預設是不支援NTFS檔案系統的,因此,我們基本不能在Linux系統中掛載NTFS檔案系統型別的硬碟或行動硬碟。 為此,最主要的問題是如何使Linux系統支援NTFS檔案系統。 一般情況下,在Linux系統中,我們並不需要手動安裝某些驅動,因為,大多數驅動
linux c elf檔案格式操作之sstrip原始碼(支援cygwin編譯)
202年的strip.c 支援linux 32位系統的elf32 /* sstrip: Copyright (C) 1999-2001 by Brian Raiter, under the GNU * General Public License. No warrant
Android 支援的 media 檔案格式--MediaFile
1,若你很想清楚的瞭解究竟Android media支援哪些格式,你可以看android的原始碼:androidframeworksasemediajavaandroidmedia中的MediaFile: Java程式碼 static { //Audio
Spark2.X讀取多種檔案格式資料
Spark2.0+的檔案讀取轉載自:點選開啟連結 https://blog.csdn.net/next__one/article/details/78840908Spark可以讀取多種格式檔案,csv,json,parque。因此對應就有很多函式與之對應。在Spark2.0
支援檔案格式HDR, OpenEXR, 檔案格式轉換
一個在linux 下使用的強大圖形工具 在 Ubuntu 上挺好使。 幾個例子 1. 看當前檔案下的所有hdr檔案 pfsv *.hdr 2. 把所有HDR轉換成OpenEXR for img in *.hdr; do pfsin ${img} | pfso
二進位制檔案格式裝載支援
/* * This structure defines the functions that are used to load the binary formats that * linux accepts. */ struct linux_binfmt { st
springboot搭建檔案預覽解決方案,支援目前主流格式office檔案,txt檔案,png,jpg等圖片以及壓縮檔案的線上預覽功能
前言 這些天在做一個檔案預覽的功能,由於之前沒有這方面的經驗,因此在市面上找了一些這方面的資料,發現目前市面上主流的檔案預覽服務是由幾家廠商提供的,做的比較好的有如永中軟體,officeweb365等,不過你們都懂得,是要收費的,所以即便做的再好,我也只能觀望觀望,然後也百
matlab如何匯入csv檔案及matlab支援的資料格式,相應函式
使用csvread函式讀取M = csvread('filename')M = csvread('filename', row, col)M = csvread('filename', row, col, range) 輸出用:csvwrite('filename',M)c
hive:資料型別及檔案格式
Hive的資料型別 Hive 提供了基本資料型別和複雜資料型別 1.1 原始資料型別 整型 TINYINT — 微整型,只佔用1個位元組,只能儲存0-255的整數。 SMALLINT– 小整型,佔用2個位元組,儲存範圍–327
linux基礎3-磁碟和檔案系統相關 LINUX支援哪些檔案系統 linux下磁碟分割槽詳解 圖文(fdisk;mkfs)
一 dumpe2fs : 在Linux使用過程中,我們如果要了解檔案系統的配置情況,可以使用dumpe2fs檢視ext2/ext3/ext4格式的檔案系統資訊。 命令格式: dumpe2fs [選項] 裝置 常用選項: -h 僅列出超級塊中的資訊
ini檔案格式
ini檔案定義 https://en.wikipedia.org/wiki/INI_file The INI file format is an informal standard for configuration files for some platforms or software. INI
MATLAB對ply檔案格式的讀取和顯示
轉自:https://blog.csdn.net/lafengxiaoyu/article/details/60574150 在網上搜索這個題目可以找到一些類似的文章,其來源大致都是http://people.sc.fsu.edu/~jburkardt/m_src/ply_io/ply_io.h
如何利用winrar製作自解壓,自動執行檔案格式的壓縮包
操作提前:電腦安裝WinRAR軟體。 將用來製作的資料放在資料夾內,然後用Ctrl+A全選該資料夾下的檔案。 單擊滑鼠右鍵,然後選擇“新增到壓縮檔案”選項。 在開啟的對話方塊“常規”選項卡中,單擊“壓縮方式”下拉框選擇合適的壓縮方式,並將壓縮選項下的“建立自解壓格式壓縮檔案”選項勾選,這時候會發現“
3d列印模型為什麼檔案格式必須是stl和stp的?
https://www.sohu.com/a/197115674_425589 3D列印需要有3D立體圖,3D立體圖有很多格式,不同的軟體做出來的格式是不同的。比如常見的3D列印格式有:STL、STP、IGS、OBJ、BREP、MAX、3DM、3DS、X_T、SKP、SLDPR