Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SceneKit自定义几何体_Ios_Objective C_Swift_Scenekit_Ifc - Fatal编程技术网

Ios SceneKit自定义几何体

Ios SceneKit自定义几何体,ios,objective-c,swift,scenekit,ifc,Ios,Objective C,Swift,Scenekit,Ifc,我知道SceneKit允许您创建某些基本形状,如长方体、球体等。我想知道您是否可以使用场景工具包创建复杂的几何体。我发现这个教程很有用。我以json格式导出了一些几何体。我想在SceneKit中使用它,但我有困难。在SceneKit中可以这样做吗?下面是我提取的一些几何图形的示例 { "id" : "2O2Fr$t4X7Zf8NOew3FNtn", "type" : "IFCWALLSTANDARDCASE", "geometry" : { "metadata" : { "

我知道
SceneKit
允许您创建某些基本形状,如长方体、球体等。我想知道您是否可以使用场景工具包创建复杂的几何体。我发现这个教程很有用。我以
json
格式导出了一些几何体。我想在SceneKit中使用它,但我有困难。在SceneKit中可以这样做吗?下面是我提取的一些几何图形的示例

{
  "id" : "2O2Fr$t4X7Zf8NOew3FNtn", 
  "type" : "IFCWALLSTANDARDCASE", 
  "geometry" : {
   "metadata" : { "formatVersion" : 3 }, 
    "materials": [],
    "vertices": [  8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 8.8,0.2085,3.1, 8.383,0.2085,2.52, 8.383,0.2085,0.1, 3.548,0.2085,2.52, 3.548,0.2085,0.1, 8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 3.4479692,-0.2085,0.0, 3.4479692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 2.6349692,-0.2085,0.0, 2.6349692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 0.0,-0.2085,0.0, 0.0,-0.2085,3.1, 8.8,0.2085,3.1, 0.0,0.2085,3.1, 0.0,-0.2085,3.1, 8.8,-0.2085,3.1, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 8.8,0.2085,0.0, 8.8,0.2085,3.1, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 2.6349692,-0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 0.0,-0.2085,3.1, 8.383,-0.2085,0.1, 3.548,-0.2085,0.1, 8.383,-0.2085,2.52, 3.548,-0.2085,2.52   ], 
    "normals":  [ 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0    ],
    "colors":   [ ],
    "uvs":    [ ],
    "faces": [  32, 8,7,0,8,7,0, 32, 8,0,9,8,0,9, 32, 7,8,10,7,8,10, 32, 10,2,3,10,2,3, 32, 2,10,11,2,10,11, 32, 11,9,1,11,9,1, 32, 7,10,6,7,10,6, 32, 10,3,6,10,3,6, 32, 3,4,5,3,4,5, 32, 6,3,5,6,3,5, 32, 9,0,1,9,0,1, 32, 11,1,2,11,1,2, 32, 14,12,15,14,12,15, 32, 13,12,14,13,12,14, 32, 18,16,17,18,16,17, 32, 18,17,19,18,17,19, 32, 22,20,21,22,20,21, 32, 22,21,23,22,21,23, 32, 26,24,25,26,24,25, 32, 26,25,27,26,25,27, 32, 29,31,30,29,31,30, 32, 29,28,31,29,28,31, 32, 33,32,34,33,32,34, 32, 35,33,34,35,33,34, 32, 38,39,37,38,39,37, 32, 39,36,37,39,36,37, 32, 41,40,42,41,40,42, 32, 43,41,42,43,41,42, 32, 46,44,45,46,44,45, 32, 46,45,47,46,45,47, 32, 50,48,49,50,48,49, 32, 50,49,51,50,49,51, 32, 55,52,53,55,52,53, 32, 54,52,55,54,52,55, 32, 58,56,57,58,56,57, 32, 58,57,59,58,57,59, 32, 67,60,62,67,60,62, 32, 62,63,71,62,63,71, 32, 67,62,71,67,62,71, 32, 62,60,61,62,60,61, 32, 71,63,69,71,63,69, 32, 67,71,66,67,71,66, 32, 66,71,70,66,71,70, 32, 69,64,68,69,64,68, 32, 70,68,65,70,68,65, 32, 66,70,65,66,70,65, 32, 69,63,64,69,63,64, 32, 68,64,65,68,64,65 ]
     }

  } ,{
  "id" : "2O2Fr$t4X7Zf8NOew3FKGS", 
  "type" : "IFCWALLSTANDARDCASE", 
  "geometry" : {
   "metadata" : { "formatVersion" : 3 }, 
    "materials": [],
    "vertices": [  3.583,0.062,0.0, 3.583,0.062,2.795, 6.661338E-16,0.062,0.0, 6.661338E-16,0.062,2.795, 6.661338E-16,0.062,0.0, 6.661338E-16,0.062,2.795, 6.661338E-16,-0.062,0.0, 6.661338E-16,-0.062,2.795, 6.661338E-16,-0.062,0.0, 6.661338E-16,-0.062,2.795, 3.583,-0.062,0.0, 3.583,-0.062,2.795, 3.583,-0.062,0.0, 3.583,-0.062,2.795, 3.583,0.062,0.0, 3.583,0.062,2.795, 3.583,0.062,0.0, 6.661338E-16,0.062,0.0, 6.661338E-16,-0.062,0.0, 3.583,-0.062,0.0, 3.583,0.062,2.795, 6.661338E-16,0.062,2.795, 6.661338E-16,-0.062,2.795, 3.583,-0.062,2.795   ], 
    "normals":  [ 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0    ],
    "colors":   [ ],
    "uvs":    [ ],
    "faces": [  32, 1,0,2,1,0,2, 32, 3,1,2,3,1,2, 32, 5,4,6,5,4,6, 32, 7,5,6,7,5,6, 32, 9,8,10,9,8,10, 32, 11,9,10,11,9,10, 32, 13,12,14,13,12,14, 32, 15,13,14,15,13,14, 32, 17,19,18,17,19,18, 32, 17,16,19,17,16,19, 32, 22,23,21,22,23,21, 32, 23,20,21,23,20,21 ]
     }

哎哟!SceneKit很棒,但是,除了它提供的少数原语之外,它不是一个建模者。在一个专门用于三维建模的应用程序中创建模型要简单得多,效果也更好。论坛上很多人都使用Blender,免费和免费的。我使用4D影院,还有很多其他选择。唯一需要的是它们输出DAE(Collada)文件

使用这种应用程序的学习曲线与使用这种低级构造技术时最有可能遇到的挫折相比根本算不上什么

将DAE文件导入Xcode后,可以在编辑器窗口中对其进行检查。您可以移动节点,然后重新排列、重命名和删除节点。关于这方面的更多信息:

我知道这有点太晚了,但如果像我这样的人发现这将是一个很酷的更好的答案,对于那些想了解SceneKit自定义几何体是如何工作的人来说,我看到了几何体的一些问题,但真的不知道必须看起来如何,这段代码远非完美,但只是一个起点

class JSONGeometry: Decodable {
    class Geometry: Decodable {
        var vertices: [CGFloat]
        var normals: [CGFloat]
        var faces: [Int16]

        init(vertices: [CGFloat], normals: [CGFloat], faces: [Int16]) {
            self.vertices = vertices
            self.normals = normals
            self.faces = faces
        }
    }

    static let data: [JSONGeometry] = {
        let json = """
[{
  "id" : "2O2Fr$t4X7Zf8NOew3FNtn",
  "type" : "IFCWALLSTANDARDCASE",
  "geometry" : {
    "metadata" : { "formatVersion" : 3 },
    "materials": [],
    "vertices": [  8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 8.8,0.2085,3.1, 8.383,0.2085,2.52, 8.383,0.2085,0.1, 3.548,0.2085,2.52, 3.548,0.2085,0.1, 8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 3.4479692,-0.2085,0.0, 3.4479692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 2.6349692,-0.2085,0.0, 2.6349692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 0.0,-0.2085,0.0, 0.0,-0.2085,3.1, 8.8,0.2085,3.1, 0.0,0.2085,3.1, 0.0,-0.2085,3.1, 8.8,-0.2085,3.1, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 8.8,0.2085,0.0, 8.8,0.2085,3.1, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 2.6349692,-0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 0.0,-0.2085,3.1, 8.383,-0.2085,0.1, 3.548,-0.2085,0.1, 8.383,-0.2085,2.52, 3.548,-0.2085,2.52   ],
    "normals":  [ 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0    ],
    "colors":   [ ],
    "uvs":    [ ],
    "faces": [  32, 8,7,0,8,7,0, 32, 8,0,9,8,0,9, 32, 7,8,10,7,8,10, 32, 10,2,3,10,2,3, 32, 2,10,11,2,10,11, 32, 11,9,1,11,9,1, 32, 7,10,6,7,10,6, 32, 10,3,6,10,3,6, 32, 3,4,5,3,4,5, 32, 6,3,5,6,3,5, 32, 9,0,1,9,0,1, 32, 11,1,2,11,1,2, 32, 14,12,15,14,12,15, 32, 13,12,14,13,12,14, 32, 18,16,17,18,16,17, 32, 18,17,19,18,17,19, 32, 22,20,21,22,20,21, 32, 22,21,23,22,21,23, 32, 26,24,25,26,24,25, 32, 26,25,27,26,25,27, 32, 29,31,30,29,31,30, 32, 29,28,31,29,28,31, 32, 33,32,34,33,32,34, 32, 35,33,34,35,33,34, 32, 38,39,37,38,39,37, 32, 39,36,37,39,36,37, 32, 41,40,42,41,40,42, 32, 43,41,42,43,41,42, 32, 46,44,45,46,44,45, 32, 46,45,47,46,45,47, 32, 50,48,49,50,48,49, 32, 50,49,51,50,49,51, 32, 55,52,53,55,52,53, 32, 54,52,55,54,52,55, 32, 58,56,57,58,56,57, 32, 58,57,59,58,57,59, 32, 67,60,62,67,60,62, 32, 62,63,71,62,63,71, 32, 67,62,71,67,62,71, 32, 62,60,61,62,60,61, 32, 71,63,69,71,63,69, 32, 67,71,66,67,71,66, 32, 66,71,70,66,71,70, 32, 69,64,68,69,64,68, 32, 70,68,65,70,68,65, 32, 66,70,65,66,70,65, 32, 69,63,64,69,63,64, 32, 68,64,65,68,64,65 ]
     }

} ,{
  "id" : "2O2Fr$t4X7Zf8NOew3FKGS",
  "type" : "IFCWALLSTANDARDCASE",
  "geometry" : {
    "metadata" : { "formatVersion" : 3 },
    "materials": [],
    "vertices": [  3.583,0.062,0.0, 3.583,0.062,2.795, 6.661338E-16,0.062,0.0, 6.661338E-16,0.062,2.795, 6.661338E-16,0.062,0.0, 6.661338E-16,0.062,2.795, 6.661338E-16,-0.062,0.0, 6.661338E-16,-0.062,2.795, 6.661338E-16,-0.062,0.0, 6.661338E-16,-0.062,2.795, 3.583,-0.062,0.0, 3.583,-0.062,2.795, 3.583,-0.062,0.0, 3.583,-0.062,2.795, 3.583,0.062,0.0, 3.583,0.062,2.795, 3.583,0.062,0.0, 6.661338E-16,0.062,0.0, 6.661338E-16,-0.062,0.0, 3.583,-0.062,0.0, 3.583,0.062,2.795, 6.661338E-16,0.062,2.795, 6.661338E-16,-0.062,2.795, 3.583,-0.062,2.795   ],
    "normals":  [ 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0    ],
    "colors":   [ ],
    "uvs":    [ ],
    "faces": [  32, 1,0,2,1,0,2, 32, 3,1,2,3,1,2, 32, 5,4,6,5,4,6, 32, 7,5,6,7,5,6, 32, 9,8,10,9,8,10, 32, 11,9,10,11,9,10, 32, 13,12,14,13,12,14, 32, 15,13,14,15,13,14, 32, 17,19,18,17,19,18, 32, 17,16,19,17,16,19, 32, 22,23,21,22,23,21, 32, 23,20,21,23,20,21 ]
  }
}]
"""
        guard let data = json.data(using: .utf8) else { return [] }
        guard let result = try? JSONDecoder().decode([JSONGeometry].self, from: data) else { return [] }
        return result
    }()

    var id: String
    var type: String
    var geometry: Geometry

    var toSCN: SCNGeometry {
        var sources: [SCNGeometrySource] = []

        let vertices = SCNGeometrySource(
            vertices: geometry.vertices.eachSlice(3).map{ SCNVector3($0[0], $0[1], $0[2]) }
        )
        sources.append(vertices)

        if geometry.normals.count > 0 {
            let normals = SCNGeometrySource(
                normals: geometry.normals.eachSlice(3).map{ SCNVector3($0[0], $0[1], $0[2]) }
            )
            sources.append(normals)
        }

        let indices = Data(
            bytes: geometry.faces.map{ Int16($0) },
            count: MemoryLayout<Int16>.size * geometry.faces.count
        )

        let elements = [
            SCNGeometryElement(
                data: indices,
                primitiveType: .triangles,
                primitiveCount: geometry.faces.count / 3,
                bytesPerIndex: MemoryLayout<Int16>.size
            )
        ]

        return SCNGeometry(sources: sources, elements: elements)
    }

    init(id: String, type: String, geometry: Geometry) {
        self.id = id
        self.type = type
        self.geometry = geometry
    }
}

extension Sequence {
    func eachSlice(_ clump:Int) -> [[Self.Element]] {
        return self.reduce(into:[]) { memo, cur in
            if memo.count == 0 {
                return memo.append([cur])
            }
            if memo.last!.count < clump {
                memo.append(memo.removeLast() + [cur])
            } else {
                memo.append([cur])
            }
        }
    }
}
class JSONG几何:可解码{
类几何:可解码{
变量顶点:[CGFloat]
变量法线:[CGFloat]
变量面:[Int16]
初始(顶点:[CGFloat],法线:[CGFloat],面:[Int16]){
self.vertices=顶点
self.normals=法线
self.faces=面
}
}
静态let数据:[JSONGeometry]={
让json=”“”
[{
“id”:“2O2Fr$t4X7Zf8NOew3FNtn”,
“类型”:“IFCWALLSTANDARDCASE”,
“几何学”:{
“元数据”:{“formatVersion”:3},
“材料”:[],
“顶点”:[  8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 8.8,0.2085,3.1, 8.383,0.2085,2.52, 8.383,0.2085,0.1, 3.548,0.2085,2.52, 3.548,0.2085,0.1, 8.8,0.2085,0.0, 3.4479692,0.2085,0.0, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 3.4479692,-0.2085,0.0, 3.4479692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,0.2085,2.42, 2.6349692,-0.2085,0.0, 2.6349692,0.2085,0.0, 2.6349692,-0.2085,2.42, 2.6349692,0.2085,2.42, 2.6349692,0.2085,0.0, 0.0,0.2085,0.0, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 0.0,0.2085,0.0, 0.0,0.2085,3.1, 0.0,-0.2085,0.0, 0.0,-0.2085,3.1, 8.8,0.2085,3.1, 0.0,0.2085,3.1, 0.0,-0.2085,3.1, 8.8,-0.2085,3.1, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 8.8,0.2085,0.0, 8.8,0.2085,3.1, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 8.383,-0.2085,2.52, 8.383,0.2085,2.52, 8.383,-0.2085,0.1, 8.383,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,0.1, 3.548,0.2085,0.1, 3.548,-0.2085,2.52, 3.548,0.2085,2.52, 0.0,-0.2085,0.0, 2.6349692,-0.2085,0.0, 2.6349692,-0.2085,2.42, 3.4479692,-0.2085,2.42, 3.4479692,-0.2085,0.0, 8.8,-0.2085,0.0, 8.8,-0.2085,3.1, 0.0,-0.2085,3.1, 8.383,-0.2085,0.1, 3.548,-0.2085,0.1, 8.383,-0.2085,2.52, 3.548,-0.2085,2.52   ],
“法线”:[ 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,1.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, -1.0,-0.0,-0.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, -1.0,0.0,0.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,1.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 1.0,0.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0, 0.0,-1.0,0.0    ],
“颜色”:[],
“uvs”:[],
“面孔”:[  32, 8,7,0,8,7,0, 32, 8,0,9,8,0,9, 32, 7,8,10,7,8,10, 32, 10,2,3,10,2,3, 32, 2,10,11,2,10,11, 32, 11,9,1,11,9,1, 32, 7,10,6,7,10,6, 32, 10,3,6,10,3,6, 32, 3,4,5,3,4,5, 32, 6,3,5,6,3,5, 32, 9,0,1,9,0,1, 32, 11,1,2,11,1,2, 32, 14,12,15,14,12,15, 32, 13,12,14,13,12,14, 32, 18,16,17,18,16,17, 32, 18,17,19,18,17,19, 32, 22,20,21,22,20,21, 32, 22,21,23,22,21,23, 32, 26,24,25,26,24,25, 32, 26,25,27,26,25,27, 32, 29,31,30,29,31,30, 32, 29,28,31,29,28,31, 32, 33,32,34,33,32,34, 32, 35,33,34,35,33,34, 32, 38,39,37,38,39,37, 32, 39,36,37,39,36,37, 32, 41,40,42,41,40,42, 32, 43,41,42,43,41,42, 32, 46,44,45,46,44,45, 32, 46,45,47,46,45,47, 32, 50,48,49,50,48,49, 32, 50,49,51,50,49,51, 32, 55,52,53,55,52,53, 32, 54,52,55,54,52,55, 32, 58,56,57,58,56,57, 32, 58,57,59,58,57,59, 32, 67,60,62,67,60,62, 32, 62,63,71,62,63,71, 32, 67,62,71,67,62,71, 32, 62,60,61,62,60,61, 32, 71,63,69,71,63,69, 32, 67,71,66,67,71,66, 32, 66,71,70,66,71,70, 32, 69,64,68,69,64,68, 32, 70,68,65,70,68,65, 32, 66,70,65,66,70,65, 32, 69,63,64,69,63,64, 32, 68,64,65,68,64,65 ]
}
} ,{
“id”:“2O2Fr$t4X7Zf8NOew3FKGS”,
“类型”:“IFCWALLSTANDARDCASE”,
“几何学”:{
“元数据”:{“formatVersion”:3},
“材料”:[],
“顶点”:[3.583,0.062,0.0,3.583,0.062,2.795,6.661338E-16,0.062,0.0,6.661338E-16,0.062,2.795,6.661338E-16,0.062,0.0,6.661338E-16,0.062,2.795,6.661338E-16,-0.062,0.0.0.0,0.0.0,6.661338E-16,-0.062,0.795,6.661338E-16,-0.062,0.062,0.062,0.062,0.0,0.0.0,0,2,2,2,6.661338E-16