IfcApi
IfcLoader
IfcViewerApi

IfcLoader.getTypeProperties

简介:

IfcLoader.getTypeProperties是ifc.js库中的一个方法,用于获取指定类型的元素的属性和其类型信息。

方法原型:

IfcLoader.getTypeProperties(type: string): Promise<Object>

参数介绍:

type:string类型,表示要获取信息的元素类型。

示例代码:

import { IfcLoader } from 'ifc.js';

const ifcLoader = new IfcLoader();

ifcLoader.load( '/path/to/ifcFile.ifc' ).then( async ( {scene} ) => {
   // 获取 IfcWall 的类型信息
   const typeProperties = await ifcLoader.getTypeProperties( 'IfcWall' );
   console.log( typeProperties );
} );

示例输出结果:

{
   name: 'IfcWall',
   properties: [
      {
         name: 'Name',
         type: 'string'
      },
      {
         name: 'Description',
         type: 'string'
      },
      {
         name: 'ObjectType',
         type: 'string'
      },
      {
         name: 'Tag',
         type: 'string'
      },
      {
         name: 'GlobalId',
         type: 'string'
      },
      {
         name: 'OwnerHistory',
         type: 'object'
      },
      {
         name: 'IsDecomposedBy',
         type: 'array'
      },
      {
         name: 'Decomposes',
         type: 'object'
      },
      ...
   ]
}

说明:

  • 该示例代码通过IfcLoader.load方法加载了一个IFC文件,并通过getTypeProperties方法获取了所有IfcWall元素的类型信息。
  • getTypeProperties方法的返回结果包含两个属性:name和properties。
  • name属性表示元素类型的名称;
  • properties属性表示该元素类型的所有属性及其类型信息, 返回的是一个包含每个属性信息的对象数组。