IfcApi
IfcLoader
IfcViewerApi

IfcLoader.getExpressId

简介:

IfcLoader.getExpressId是ifc.js文件中IfcLoader对象的一个方法,用于返回实体对象的唯一识别符(express id)。

方法原型:

getExpressId(entity, schema)

参数介绍:

entity:表示实体对象,可以是任何IFC文件中的实体。

schema:表示使用的ifc.js中的数据模式。可选值为"IFC2X3"和"IFC4"。默认值为"IFC4"。

示例代码:

以下是一个简单的使用IfcLoader.getExpressId方法的示例代码:

import {IFC4} from 'ifc-entities';
import {IfcLoader} from 'ifc';
const loader = new IfcLoader();
const ifcUrl = 'exampleProject.ifc';
loader.load(ifcUrl, (ifcModel) => {
  const wallEntity = ifcModel.objectsByType('IfcWall')[0];
  const expressId = loader.getExpressId(wallEntity, IFC4);
  console.log(expressId);
});

在上述代码段中,我们通过IfcLoader.load方法,从ifc文件中加载数据并获取一个ifc模型对象。然后,我们使用objectsByType()方法获取类型为IfcWall的实体对象,并将其作为参数传递给getExpressId()方法,以获取其唯一识别符。

注意事项:

  • 如果未指定数据模式,则默认使用IFC4数据模式。
  • 如果传递的实体对象是一个空值,则方法将返回空值。
  • 如果传递的实体对象不是一个IFC文件中的实体,则方法将返回undefined。
  • 如果传递的实体对象所使用的数据模式与参数"scheme"不匹配,则方法将返回undefined。