FAV

FAV（ファブ、FAbricatable Voxel）は、Additive Manufacturing、または3Dプリンティングとも呼ばれる積層造形プロセスのための3Dデータフォーマットである。デジタルな計算処理と、フィジカルな物質の組成をつなげることに威力を発揮する。
概要.
従来の3Dデータフォーマットのようにメッシュ（ポリゴン）で3次元モデルの表面のみを記述するのではなく、立方体や球体など3次元の基本要素であるボクセルで3次元モデルを表現している。各ボクセルには、RGBやCMYKなどの色情報、ABS樹脂やナイロンなどの材料情報など、様々な属性を定義できる。また、お互いの接続強度など、ボクセル同士の関係性を管理することができる。FAVにより、硬い材料や軟らかい材料など複数の材料の分布を細かくデザインする、複雑に入り組んだ内部構造を自由にデザインするなど、高い表現力を持つ立体物を作ることが可能となる。
特徴.
コンセプト.
FAVは、fabricatable voxelの略である。FAVフォーマットで記載された3Dモデルデータは、fabricatableである、つまりものづくりに利用するために最適化された情報として格納されていることを示している。ものづくりに利用することができる最適化された情報とは、以下のようなことを示す。
3Dモデルデータにより高い表現力を発揮し、ものづくりに活かすことで、これまで作ることができなかったものを考え、作ることができ、3Dモデルデータを介したコミュニケーションの促進にも寄与する。特に、これまで分かれていた、画像処理、医療用のMRI/CTスキャンデータ、複合材料の混合による工業製品といった3つの分野を横断し、相互の境界を超えた新しいアプリケーションを生み出すことに役立つ。
3Dモデルの外側/内側を問わず、デザイナーが思った通りに・隅々まで・徹底的に・精緻にデザインできること、それをデータとして保存できることを担保している。FAVフォーマットは、これらを兼ね備えた3Dモデルデータである。
効果.
ボクセルを用いて3次元的な形状を定義することができるため、種類の違うボクセルを組み合わせたり、ボクセルの有り無しを組み合わせたりすることで、微細構造、内包構造、繰り返し構造などの様々な構造を表現することができる。ボクセルという基本要素の積み上げで3次元的な物体を定義することで、以下のようなメリットを得ることができる。
構造.
環境条件.
座標系.
FAVフォーマットで扱われる座標系は、積層面をXY平面とし、積層高さ方向をZ軸プラス方向であるとする、右手座標系で記述される。3Dプリンターなどの製造装置のワークエリアを考えた時、 装置の原点から見て製造する高さがZ軸、幅がX軸、奥行きがY軸となるように向きを合わせ、3Dモデルデータが収まるように配置することが推奨される。
座標の単位.
FAVフォーマット内で使用される座標値1は、実世界上の1mmとして記述される。アプリケーションによって、インチや他の単位に変換して使用してもよい。ただしその場合でも、FAVフォーマットに保存する際は、座標値1が実世界上の1mmになるようにしなければならない。環境やアプリケーションによって、同じFAVファイルが違う寸法で解析されることを避けなければならない。
フォーマット.
FAVフォーマットはXMLで記述されており、どのようなコンピュータでも一般的に読み書きできる。FAVフォーマット内の要素、並びに属性のラベルは、すべて小文字で記載する。複数の単語からなるラベルは、単語同士がunderlineで接続されて記載する。
FAVフォーマットの各種要素は、以下のようなツリー構造を持つ。
 FAVフォーマットのRoot要素である。FAVフォーマットに則って定義された3Dモデルデータは、という要素から開始される。FAVフォーマットで定義され、管理されるデータはすべて以下に格納される。
FAVフォーマットのXMLの例.
<?xml version="1.0" encoding="utf-8"?>
<fav version="1.1">
 <metadata>
 <id>bc4affb5-9a53-4de7-9f27-721ef27e8f34</id>
 <title><![CDATA[FAV Ver1.1 Sample File]]></title>
 <author><![CDATA[Fuji Xerox & Keio SFC]]></author>
 <license><![CDATA[CC BY]]></license>
 <note><![CDATA[This is a sample file in FAV format ver1.1.]]></note>
 </metadata>
 <palette>
 <geometry id="1" name="NormalCube">
 <shape>cube</shape>
 <scale>
 <x>1</x>
 <y>1</y>
 <z>1</z>
 </scale>
 </geometry>
 <geometry id="2" name="Plate">
 <shape>cube</shape>
 <scale>
 <x>1</x>
 <y>1</y>
 <z>0.25</z>
 </scale>
 </geometry>
 <geometry id="3" name="Diamond">
 <shape>user̲defined</shape>
 <reference><![CDATA[Diamond.stl]]></reference>
 <scale>
 <x>0.98</x>
 <y>0.98</y>
 <z>-1.05</z>
 </scale>
 </geometry>
 <material id="1" name="SoftMat1">
 <material̲name><![CDATA[Some-soft-materials]]></material̲name>
 </material>
 <material id="2" name="HardMat1">
 <product̲info>
 <manufacturer><![CDATA[ABC Materials Co.]]></manufacturer>
 <product̲name><![CDATA[ULTRA-HARD/007]]></product̲name>
 <url><![CDATA]></url>
 </product̲info>
 <product̲info>
 <manufacturer><![CDATA[ABC Materials Co.]]></manufacturer>
 <product̲name><![CDATA[ULTRA-HARD/006a]]></product̲name>
 <url><![CDATA]></url>
 </product̲info>
 <standard̲name><![CDATA[JIS K6899-1 ABS]]>
 </standard̲name>
 </material>
 </palette>
 <voxel id="1" name="soft̲cube">
 <geometry̲info><id>1</id></geometry̲info>
 <material̲info><id>1</id></material̲info>
 </voxel>
 <voxel id="2" name="hard̲cube">
 <geometry̲info><id>1</id></geometry̲info>
 <material̲info><id>1</id><ratio>0.15</ratio></material̲info>
 <material̲info><id>2</id><ratio>0.85</ratio></material̲info>
 <application̲note><![CDATA[HM-H01:Hybrid Hard Material Number 01]]></application̲note>
 <application̲note><![CDATA[FabAppAttr : application note]]></application̲note>
 </voxel>
 <object id="1" name="SampleObject">
 <metadata>
 <id>cafed8bd-3bd9-4d7a-a67d-2df635d2d8f8</id>
 <title><![CDATA[]]></title>
 <author><![CDATA[Mr. Sample Creator]]></author>
 <license><![CDATA[No rights reserved]]></license>
 </metadata>
 <grid>
 <origin>
 <x>28.5</x>
 <y>-30</y>
 <z>0</z>
 </origin>
 <unit>
 <x>1</x>
 <y>1</y>
 <z>1</z>
 </unit>
 <dimension>
 <x>7</x>
 <y>7</y>
 <z>7</z>
 </dimension>
 </grid>
 <structure>
 <voxel̲map bit̲per̲voxel="8" compression="none">
 <layer><![CDATA[01010000000000010100000000000101000000000001010100000000000101010000000000010101010100000001010101]]></layer>
 <layer><![CDATA[01010000000000010100000000000101000000000001010100000000000101010000000000010101010100000001010101]]></layer>
 <layer><![CDATA[01010000000000010100000000000101010000000000010101000000000101010100000000010101010100000000010101]]></layer>
 <layer><![CDATA[01010100000000010101000000000001010100000000010101010000000001010101010000000101010100000000010101]]></layer>
 <layer><![CDATA[00010101000000000101010000000001010101000000000101010101000001010101010000000001010100000000000000]]></layer>
 <layer><![CDATA[00010101010100000001010101010000010101010100000001010101000000000101010000000000000100000000000000]]></layer>
 <layer><![CDATA[00000001010101000000010101010000000101010100000000010101000000000000000000000000000000000000000000]]></layer>
 </voxel̲map>
 <color̲map color̲mode="RGB" compression="none" >
 <layer><![CDATA[8300258100277600329100176400457c002d5e004a5c004c5000595600523300753700713000782f007a3100771800900f00991f00891c008c1300960c009c]]></layer>
 <layer><![CDATA[8200269700117400348e001a6300466800405b004e5900505500535500534000684200663b006d2c007c2400842d007a1700911f00891e008b140094100098]]></layer>
 <layer><![CDATA[8900209a000e8500237f002a8100277b002d6c003c7700315800515a004e5300554900604200673d006b39007038007027008123008630007927008119008f19008f]]></layer>
 <layer><![CDATA[9300159800109b000e8100278000288100277f00297200367000397500336e003b6f003a58005159004f3e006a4100684100674100673d006b2d007c2200862000892c007c2100881f0089]]></layer>
 <layer><![CDATA[99000f9700119a000e9200169200168a001e7500337300347000386b003d72003562004759004f6300465b004e6100475d004b55005342006639006f4300662a007e270081]]></layer>
 <layer><![CDATA[9000189000188a001e9700129600128f001988001f8c001c7b002d7a002e8700218600237700316f00396d003c5c004c6f003a6d003c5800505a004e5300554f005939006f]]></layer>
 </color̲map>
 <link̲map bit̲per̲link="8" neighbors="6" compression="none">
 <layer><![CDATA[00000064c8ff00000000c8ff00000064c8ff00000000c8ff00c80064c8ff00c80000c8ff00c8006400ff00c80064c8ff00006400c8ff00c8006400ff00c86464c8ff00006400c8ff00c8006400ff00c86464c8ff00006464c8ff00006464c8ff00006400c8ff00c8006400ff00c8646400ff00c8646400ff00c8640000ff]]></layer>
 <layer><![CDATA[00000064c8ff00000000c8ff00000064c8ff00000000c8ff00c80064c8ff00c80000c8ff00c80064000000c80064c8ff00006400c8ff00c8006400ff00c86464c8ff00006400c8ff00c8006400ff00c86464c8ff00006464c8ff00006464c8ff00006400c8ff00c80064000000c8646400ff00c8646400ff00c8640000ff]]></layer>
 <layer><![CDATA[ff000064c8ffff000000c8ffff000064c8ffff000000c8ffffc800640000ffc80064c8ff00006400c8ffffc80064c8ffffc86464c8ff00006400c8ffffc800640000ffc86464c8ffffc86464c8ff00006400c8ffffc800640000ffc8646400ffffc86464c8ffff006464c8ffff006400c8ffffc8006400ff50ffc8646400ffffc8640000ff]]></layer>
 <layer><![CDATA[ff000064c800ff000064c8ff00006400c8ffff0000640000ff000064c8ff00006400c8ffffc80064c8ffffc86464c8ff00006400c8ffffc800640000ffc86464c8ffffc86464c8ff00006400c8ffffc8006400ffffc86464c8ffffc86464c8ff00006464c8ff00006400c8ffffc800640000ffc86464c8ffffc86464c8ffffc86400c8ffffc800640000ffc864640000ffc864000000]]></layer>
 <layer><![CDATA[ff000064c8ffff006464c8ff00006400c8ffff000064c800ff006464c8ff00006400c8ffffc800640000ffc86464c8ffffc86464c8ff00006400c8ffffc80064c800ffc86464c8ffffc86464c8ff00006464c8ff00006400c8ffffc800640000ffc864640000ffc86464c8ffffc86464c8ffffc86400c8ffffc800640000ffc864640000ffc8640000ff]]></layer>
 <layer><![CDATA[ff0000640000ff006464c800ff006464c8ff00006464c8ff00006400c8ffff000064c800ff006464c8ff00006464c8ff00006464c8ff00006400c8ffffc800640000ffc86464c8ffffc86464c8ff00c86464c8ff00c86400c8ffffc800640000ffc86464c8ffffc86464c8ffffc86400c8ffffc800640000ffc864640000ffc86400c800ffc800000000]]></layer>
 <layer><![CDATA[ff000064c800ff006464c800ff006464c80000006400c800ff000064c800ff006464c800ff006464c800ff006400c800ffc800640000ffc86464c800ffc86464c800ffc86400c800ffc800640000ffc864640000ffc864000000]]></layer>
 </link̲map>
 <user̲defined̲map value̲type="float" compression="none">
 <reference><![CDATA[ExternalAttributes.favmap]]></reference>
 <metadata>
 <id>fa23e6c1-e52e-4591-b354-e4cfa382571a</id>
 <title><![CDATA[StressHeatmap]]></title>
 <author><![CDATA[Fuji Xerox & Keio SFC]]></author>
 <license><![CDATA[CC BY]]></license>
 <note><![CDATA[This file is FAVMAP format on ver1.1.]]></note>
 </metadata>
 </user̲defined̲map>
 </structure>
 </object>
</fav>