1. 程式人生 > >FME支援.x檔案格式

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