EngineInit(divId,bCube,cubePath)

接口说明:

葛兰岱尔BIM轻量化引擎场景的初始化接口。

传入参数:

divId:展示模型的前台页面div标签的Id值。

bCube为true时显示指南针

cubePath为方块的模型文件路径

返回结果:

0:场景初始化完成 其它:场景初始化失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在前台页面加载时,调用EngineInit(divId,bCube,cubePath)接口;此方法只能调用一次;

调用方式:

1.项目中需要引用葛兰岱尔BIM轻量化引擎js文件包;

2.前台页面引用葛兰岱尔BIM轻量化引擎js文件;

3.前台页面添加葛兰岱尔BIM轻量化引擎展示的div标签,并定义标签的ID值;

4.在前台页面加载时,调用EngineInit(divId,bCube,cubePath)接口;此方法只能调用一次;

5.代码如下:《div id="webglContainer" style="height:100%"》《/div》$(function () { EngineInit("webglContainer",true,'./lib/cube.glb'); }

显示指南需要配合使用指南针.glb下载

接口重要性:

如果页面不调用此接口,葛兰岱尔BIM轻量化引擎中的所有接口将不能被使用。

SetUnit(1)

接口说明:

设置场景的长度单位,默认是毫米传入参数(1)

传入参数:

如果最终的标签特别大,将参数改为(1000)

返回结果:

0:场景初始化完成 其它:场景初始化失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在引擎初始化后,加载模型之前调用此接口

调用方式:

SetUnit(1);长度单位是“毫米”

SetUnit(1000);长度单位是“米”

接口重要性:

此接口是设置场景长度单位的唯一接口

SetBright(value)

接口说明:

设置场景的光照度,默认是1.0

传入参数:

value:值越大 光照效果越强.

兼容性:

是否支持Lod模式: 否

何时调用:

在模型加载后调用此接口

调用方式:

SetBright(2.0)

接口重要性:

此接口是设置场景光照的唯一接口

SetMouseMode(value)

接口说明:

鼠标控制接口

传入参数:

默认为0

设置为1的时候中间拖动,右键拖动无响应

兼容性:

是否支持Lod模式: 否

何时调用:

在引擎场景初始化后调用此接口

调用方式:

SetMouseMode(1)

接口重要性:

此接口是鼠标控制的唯一接口

LatLonToVec(lat,lon,altitude)

接口说明:

将经纬高转化为三维xyz

传入参数:

lat: 纬度

lon: 经度

altitude: 海拔,默认为地表海拔

兼容性:

是否支持Lod模式: 否

何时调用:

在引擎场景初始化后调用此接口

调用方式:

LatLonToVec(lat,lon,altitude);

接口重要性:

此接口是转换坐标系的唯一接口

GetRevitPosByPos(position)

接口说明:

将点击获取的坐标转成revit坐标

传入参数:

传入的格式为坐标字符串

返回结果

返回的格式为[x,y,z]

兼容性:

是否支持Lod模式: 否

何时调用:

在场景加载完成后方可使用

调用方式:

GetRevitPosByPos(position);

接口重要性:

此接口是转换Revit坐标的唯一接口

GetPosByRevitPos(revitPos)

接口说明:

将revit坐标转成引擎场景中的坐标

传入参数:

传入的格式为[x,y,z]

返回结果

返回的格式为坐标字符串

兼容性:

是否支持Lod模式: 否

何时调用:

在场景加载完成后方可使用

调用方式:

GetPosByRevitPos(revitPos);

接口重要性:

此接口是转换引擎场景坐标的唯一接口

UpdateAnchor(anchorName, width, height, picPath)

接口说明:

修改标签图片接口

传入参数:

anchorName: 标签名称

width: 宽度

height: 高度

picPath: 图片路径(base64也可以)

兼容性:

是否支持Lod模式: 否

何时调用:

在模型加载完成后调用此接口

调用方式:

UpdateAnchor(anchorName, width, height, picPath);

接口重要性:

此接口可用来做检测数据展示的唯一接口

SetActorPosition(guid, position)

接口说明:

将构件移动到特定位置

传入参数:

guid:为构件id ;    格式为:'testtag1_14142'

testtag1:为模型的tag值,

14142:为构件ID,(可通过点击模式获取(SetClickMode(2)))

position: 要移动到的位置三维坐标点,(可通过点击模式获取(SetClickMode(1)))

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

一般在模型加载完成之后调用

调用方式:

SetActorPosition('testtag1_14142',' 三维点坐标')

接口重要性:

此接口可用来做构件移动的唯一接口

AddModel(filename, tag, bCamera)

接口说明:

葛兰岱尔BIM轻量化引擎场景中添加模型

传入参数:

filename:葛兰岱尔BIM轻量化引擎模型轻量化后,模型轻量化文件中的***List.json文件的路径,支持相对路径;

tag:标识模型文件的唯一值,用户可自定义数值

bCamera:用于判断在加载过程中是否恢复视角,默认为true

返回:无

兼容性:

是否支持Lod模式: 是

何时调用:

首次加载模型,在葛兰岱尔BIM轻量化引擎场景初始化完成后调用。

如果需要加载多个模型,必须在葛兰岱尔BIM轻量化引擎场景初始化完成,上一个模型加载完成后,再调用下一个模型的加载;

调用方式:

1.单个模型加载调用代码:AddModel('output/hongtujyz/hongtujyzList.json', 'testtag1',true);

2.多模型加载代码:

AddModel('output/hongtujyz/hongtujyzList.json', 'testtag1',true)
function OnLoadModelEnd(guid)
{
//guid:加载完成模型的标识如testtag1
AddModel('output/hongtujyz1/hongtujyz1List.json', 'testtag2',true);
};

接口重要性:

是模型在葛兰岱尔BIM轻量化引擎场景中加载的唯一接口;

RemoveModel(TAG)

接口说明:

从葛兰岱尔BIM轻量化引擎场景中卸载模型,并释放后台模型渲染占用的资源。

传入参数:

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id

返回:0:卸载成功 其它:卸载失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在所有模型加载完成后调用

调用方式:

RemoveModel('testtag1');

接口重要性:

是模型从葛兰岱尔BIM轻量化引擎场景中卸载的唯一接口;

ClearScene()

接口说明:

从葛兰岱尔BIM轻量化引擎当前场景中清空所有模型。

传入参数:

返回:0:清除成功 其它:清除失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成后调用

调用方式:

ClearScene();

接口重要性:

是葛兰岱尔BIM轻量化引擎清空场景的快捷接口

SetModelColor(TAG,RED,GREEN,BLUE)

接口说明:

设置葛兰岱尔BIM轻量化引擎当前场景中加载模型的颜色

传入参数:

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id;

RED:为红色通道颜色,取值范围0-255;

GREEN:为绿色通道颜色,取值范围0-255;

BLUE:为蓝色通道颜色,取值范围0-255;

RED,GREEN,BLUE 设置255,255,255,为模型设计原始颜色;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成后调用

调用方式:

设置模型颜色SetModelColor('testtag1',0,0,255);

恢复模型颜色SetModelColor('testtag1',255,255,255);

接口重要性:

是葛兰岱尔BIM轻量化引擎批量设置模型颜色的接口

SetModelAlpha(TAG,ALPHA)

接口说明:

设置葛兰岱尔BIM轻量化引擎当前场景中加载模型的透明度

传入参数:

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id;

ALPHA:为模型的透明度,取值范围0.0-1.0(0.0:代表隐藏;1.0:代表实体;值越小表示透明度约高);

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成后调用,一般为了查看模型内部结构时,调用此接口

调用方式:

设置模型半透明SetModelAlpha('testtag1', 0.4);

恢复模型半透明SetModelAlpha('testtag1', 1.0);

接口重要性:

是葛兰岱尔BIM轻量化引擎设置模型透明的设置接口

SetModelVisible(TAG,VISIBLE)

接口说明:

设置模型隐藏和显示

传入参数

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id;

VISIBLE:设置模型是否可见,TRUE:为可见,FALSE:为不可见 ;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成后调用,一般为了查看多个模型的部分模型时,调用此接口

调用方式:

设置模型隐藏SetModelVisible('testtag1', false);

恢复模型显示SetModelVisible('testtag1', true);

接口重要性:

是葛兰岱尔BIM轻量化引擎设置模型隐藏和显示的接口

SetModelWireFrame(TAG)

接口说明:

设置模型线框模式展示:只显示模型的边框线

传入参数:

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成并正常模式展示模型时调用此接口,一般为了查看模型构件之间的装配位置

调用方式:

SetModelWireFrame('testtag1');

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型展示边框模式的设置接口,通过调用此接口,可以让用户更清晰的看到模型构件间的组装方式

SetModelNomal(TAG)

接口说明:

模型从边框模式恢复为正常模式

传入参数:

TAG:是葛兰岱尔BIM轻量化引擎场景添加模型时,定义模型的标识id;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成并边框模式展示模型时调用此接口

调用方式:

SetModelNomal('testtag1');

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型边框模式展示模型,恢复正常展示模式的设置接口

SetRotateLimit(value)

接口说明:

上下旋转的角度限制接口

传入参数:

value

默认:180度,如果设置为0上下旋转就禁用了

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成之后,鼠标左键旋转模型时调用

调用方式:

SetRotateLimit(value),value介于0--180之间

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型旋转角度的设置接口

SetRenderMode(0)

接口说明:

渲染模式接口

传入参数:

0或1

默认为0,就是光照模式,如果设置为1的话就是边框渲染模式

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后调用接口

调用方式:

SetRenderMode(0):为光照渲染模式

SetRenderMode(1):为边框渲染模式

SetRenderMode(2):为材质渲染模式<必须是新版本工具和引擎调用才有效>

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型加载模式的设置接口

SetRotateSpeed(value)

接口说明:

旋转模型速度接口

传入参数:

value

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后,调用此接口

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型旋转速度的设置接口

SetPanSpeed(value)

接口说明:

平移模型速度接口

传入参数:

value

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后,调用此接口

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型平移速度的设置接口

SetZoomSpeed(value)

接口说明:

模型视距缩放速度接口:基于距离动态调整的,参数用于整体调整

设了值的话就给动态值再乘以你设置的值

传入参数:

value

value越大越快,相反value越小越慢

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后,调用此接口

接口重要性:

是葛兰岱尔BIM轻量化引擎对模型视距缩放速度的设置接口

SetClickMode(MODE)

接口说明:

模型操作模式设置:查看模式,坐标拾取模式,ID拾取模式,ID拾取+坐标拾取模式,距离测量模式,角度测量模式等

传入参数:

兼容性:

是否支持Lod模式: 是

MODE:为操作的模式值:

0:为查看模型,鼠标点击不响应任何事件;

1:为坐标拾取模式,触发鼠标点击模型构件的碰撞点坐标事件;

2:为ID拾取模式,触发鼠标点击模型构件拾取构件的ID值事件;

3:为ID拾取+坐标拾取模式,触发鼠标点击模型构件拾取构件的ID值和坐标值事件;

4:为距离测量模式,响应鼠标点击模型构件两点测距方法;

5:为角度测量模式,响应鼠标点击模型构件三点测量角度方法;

6:为平面面积测量模式,响应鼠标点击模型构件计算模型平面面积测量方法;

7:为表面积测量模式,响应鼠标点击模型构件计算模型表面积测量方法;

8:为体积测量模式,响应鼠标点击模型构件计算模型体积测量方法;

9:为重量测量模式,响应鼠标点击模型构件计算模型重量测量方法;目前引擎设置密度为固定值,参数可以修改

返回:0:设置成功 其它:设置失败。

何时调用:

0:为查看模型,只是对模型放大缩小,角度旋转操作时,设置0操作状态;

1:为坐标拾取模式,对模型点击点进行特殊标注或设置标签等操作时,需要记录当前点击坐标时,设置1操作状态。

2:为ID拾取模式,对鼠标点击模型构件,对选择模型构件进行相关业务数据关联或根据模型构件进行查询相关业务数据时,设置2操作状态

3:为ID拾取和坐标拾取模式;对鼠标点击模型构件,对选择模型构件进行相关业务数据关联或根据模型构件进行查询相关业务数据、和特殊标注或设置标签等功能时,设置3操作状态

4:为距离测量模式;需要测量模型中构件的长度,宽度,厚度等操作时,设置4操作状态

5:为角度测量模式;需要测量模型中构件之间的角度时,设置5操作状态

6:为平面面积测量模式;需要测量模型构件的平面面积时,设置6操作状态

7:为表面积测量模式;需要测量模型构件的表面面积时,设置7操作状态

8:为体积测量模式;需要测量模型构件的体积时,设置8操作状态

9:为重量测量模式;需要测量模型构件的重量时,设置9操作状态

调用方式:

查看模型:SetClickMode(0);

坐标拾取模式:SetClickMode(1);通过监听接口
function OnClickPosition(position)
{
//clickpos鼠标点击三维坐标点 var clickpos = position;
}

ID拾取模式:SetClickMode(2); 通过监听接口
function OnSelectionChanged(id) {
//guids鼠标点击模型构件的id值,返回结果格式为"模型id_构件id"
var guid=id;
}

ID拾取+坐标拾取模式: SetClickMode(3); 引擎内部处理

距离测量: SetClickMode(4); 引擎内部处理

角度测量: SetClickMode(5); 引擎内部处理

平面面积测量:SetClickMode(6); 引擎内部处理

表面积测量:SetClickMode(7); 引擎内部处理

体积测量:SetClickMode(8); 引擎内部处理

重量测量:SetClickMode(9); 引擎内部处理,目前密度是固定值

接口重要性:

模型操作状态设置不同,葛兰岱尔BIM轻量化引擎对接口的相应事件不同,需根据实际业务需要进行准确设置。

SetAutoCorrection(bol)

接口说明:

设置测量点击点是否校正

传入参数:

bol:是否对点击点进行校正,true代表需要校正,false 代表不校正

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在对模型进行长度,角度测量时,对鼠标点击模型的点进行自动校正,默认是开启自动校正,在葛兰岱尔BIM轻量化引擎初始化完成后,可以随时设置

调用方式:

开启点击点效验:SetAutoCorrection(true);

关闭点击点效验:SetAutoCorrection(false);

接口重要性:

主要应用模型距离,角度测量时,鼠标点击点的校正

OnMeasureResult(result)

接口说明:

监听测量结果数据

传入参数:

无,result:监听返回结果值

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在对模型进行测量时,获取测量结构数据,可以对多次测量结果进行累计

调用方式:

function OnMeasureResult(result) { console.log(result); }

接口重要性:

在对模型进行测量时,获取测量结构数据,可以对多次测量结果进行累计

SetPivot(POS)

接口说明:

设置模型旋转中心点

传入参数:

POS:为设置中心点坐标;只有设置模型操作模式为坐标拾取时,js监听调用 OnClickPosition(position),获取鼠标点击的坐标值position。

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,调用是必须设置模型操作模式为:坐标拾取模式,否则OnClickPosition(position)将不会触发

调用方式:

SetClickMode(1);通过监听接口
function OnClickPosition(position)
{
//clickpos鼠标点击三维坐标点 var clickpos = position;
}
SetPivot(clickpos);

接口重要性:

主要应用于距离比较长的模型,设置模型的角度旋转中心点。

OnClickPosition(position)

接口说明:

监听鼠标点击模型的坐标

传入参数:

无; position为输出参数

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后,设置模型操作模式为:坐标拾取模式后,监控此事件,此事件不需要任何事件触发,引擎自调用返回鼠标点击坐标

调用方式:

function OnClickPosition(position)
{
//clickpos鼠标点击三维坐标点 var clickpos = position;
}

接口重要性:

主要与其它接口配合使用,如模型添加标签,设置模型中心点等,来获取模型位置坐标的监测接口

OnSelectionChanged(id)

接口说明:

鼠标选中模型返回构件id监听事件

传入参数:

无;id为输出参数

返回:无

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后,设置模型操作模式为:ID拾取模式后,监控此事件获取鼠标选择模型构件的id。此事件不需要任何事件触发,引擎自调用返回鼠标点击构件的id

调用方式:

function OnSelectionChanged(id)
{
//id鼠标点击构件的id值 var guid = id;
//后续业务与构件的关联等业务处理 }

接口重要性:

此接口是与其它平台业务数据互通的唯一接口,通过监听鼠标选择模型构件的id,可以查询相关业务数据,
同时可以根据选择的模型构件构件id值,对模型构件进行相关设置

ShowMeasureWord(mode)

接口说明:

控制测量结果的文字显示

传入参数:

mode:true 或者 false

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后,测量之前

调用方式:

EngineInit("viewer",true,'./lib/cube.glb');
ShowMeasureWord(false);隐藏测量文字
ShowMeasureWord(true); 显示测量文字
AddModel('./model/YXQ/YXQList.json', 'testtag1');
SetClickMode(4);

接口重要性:

此接口是控制显示或隐藏测量文字的唯一接口。

SetViewPort(TYPE)

接口说明:

设置模型展示视角

传入参数:

TYPE:为视角的类型:
top:为顶视角
bottom:为底视角
front:为前视角
back:为后视角
left:为左视角
right:为右视角

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成调用

调用方式:

顶视角:SetViewPort('top');

底视角:SetViewPort('bottom');

前视角:SetViewPort('front');

后视角SetViewPort('back');

左视角SetViewPort('left');

右视角:SetViewPort('right');

接口重要性:

设置在不同视角下查看模型

ZoomFitAll()

接口说明:

模型恢复到初始状态

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成调用,一般在用户将模型拖动,移除场景区域找不到模型时,调用此接口恢复到初始状态

调用方式:

ZoomFitAll();

接口重要性:

一般在用户操作模型拖出模型展示区域,找不到模型时,通过此接口可以将模型恢复到模型初始加载的位置。

GetCenterPosById(guid)

接口说明:

通过构件id来获取构件的中心坐标

传入参数:

guid:为构件id ;    格式为:'testtag1_14142'

testtag1:为模型的tag值,

14142:为构件ID,(可通过点击模式获取(SetClickMode(2)))

返回:字符串形式:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

一般在模型加载完成之后调用

调用方式:

GetCenterPosById('testtag1_14142');

接口重要性:

可以通过构件id来获取到构件的中心点坐标

GetVolumeById(guid)

接口说明:

通过构件id来获取构件的中心坐标

传入参数:

guid:构件id ;    格式为:'testtag1_14142'

testtag1:为模型的tag值,

14142:为构件ID,(可通过点击模式获取(SetClickMode(2)))

返回:数值:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

一般在模型加载完成之后调用

调用方式:

GetVolumeById('testtag1_14142');

接口重要性:

可以通过构件id来获取到构件的体积,单位是m³

GetAreaById(guid)

接口说明:

通过构件id来获取构件的中心坐标

传入参数:

guid:构件id ;    格式为:'testtag1_14142'

testtag1:为模型的tag值,

14142:为构件ID,(可通过点击模式获取(SetClickMode(2)))

返回:数值:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

一般在模型加载完成之后调用

调用方式:

GetAreaById('testtag1_14142');

接口重要性:

可以通过构件id来获取到构件的各个面的面积之和

PopOut(VALUE)

接口说明:

设置当前场景下所有模型爆炸效果

传入参数:

VALUE:为爆炸程度,0为不爆炸。每+1值爆炸距离离中心点越远

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,所有模型加载完成后调用,一般用户为了查看模型构件间的装配方式,可选择设置模型爆炸查看模型

调用方式:

模型爆炸:PopOut(3);开发者可以通过刻度尺拖动,动态设置爆炸距离,可以看到模型爆炸的动态效果

模型爆炸恢复:PopOut(0)开发者可以通过刻度尺拖动,动态设置爆炸距离,可以看到模型由爆炸到恢复的动态效果,爆炸最小值为0

接口重要性:

一般用户为了查看模型构件间的装配方式,选择设置模型爆炸

ShowActors(GUIDARRAY)

接口说明:

设置模型中部分构件显示

传入参数:

GUIDARRAY:为显示模型构件id的集合,id集合可以通过调用OnSelectionChanged(id)得到,调用OnSelectionChanged接口时模型操作模式必须是ID拾取模式

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成调用,一般用户为了查看模型部分构件时可以调用此接口

调用方式:

显示部分构件: var actArray = [];
actArray.push('testtag1_2327');
actArray.push('testtag1_77396');
actArray.push('testtag1_33951');
ShowActors(actArray);

显示全部构件,调用模型初始化方法:ZoomFitAll();

接口重要性:

一般用户为了查看模型构件某个构件或某层楼等可以调用此接口

SetActorColor(GUIDS,RED,GREEN,BLUE)

接口说明:

批量设置模型构件颜色

传入参数:

GUIDS:为模型构件的id集合,多个模型构件的集合用'#'分隔 ,GUID的格式为'TAG_GUID';构件id可以通过调用OnSelectionChanged(id)得到

RED:为红色通道颜色,取值范围0-255;

GREEN:为绿色通道颜色,取值范围0-255;

BLUE:为蓝色通道颜色,取值范围0-255;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般通过批量设置模型构件颜色,来表示模型的不同状态

调用方式:

设置构件颜色:SetActorColor('testtag1_2327#testtag1_41736', 0, 0, 255);

恢复构件颜色,SetActorColor('testtag1_2327#testtag1_41736', 255, 255, 255);

接口重要性:

一般通过批量设置模型构件颜色,来表示模型的不同状态

SetActorVisible(GUIDS,VISIBLE)

接口说明:

批量设置构件的显示和隐藏

传入参数:

GUIDS:为模型构件的id集合,多个构件用'#'分隔,GUID的格式为'TAG_GUID';构件id可以通过调用OnSelectionChanged(id)得到,id为当前选中的构件值

VISIBLE:设置构件是否可见,true为可见,false为不可见 ;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般通过批量设置模型构件的显示和隐藏,来查看模型的局部结构

调用方式:

设置构件隐藏:SetActorVisible('testtag1_10993#testtag1_2327', false);

恢复构件显示:SetActorVisible('testtag1_10993#testtag1_2327', true);

接口重要性:

一般通过批量设置模型构件的隐藏,来查看模型的局部结构

SetActorAlpha(GUIDS,ALPHA)

接口说明:

批量设置模型构件透明

传入参数:

GUIDS:为模型构件的id集合,多个模型构件用'#'分隔 ,GUID的格式为'TAG_GUID';构件id可以通过调用OnSelectionChanged(id)得到,id为当前选中的构件值

ALPHA:为模型构件的透明度,取值范围0.0-1.0;(0.0:代表隐藏;1.0:代表实体;值越小表示透明度约高);

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般通过批量设置模型构件的透明,来表示模型中不同构件的状态

调用方式:

SetActorAlpha('testtag1_10993#testtag1_2327', 0.3);

恢复构件透明:SetActorAlpha('testtag1_10993#testtag1_2327', 1.0);

接口重要性:

一般通过批量设置模型构件的透明,来表示模型中不同构件的状态

SetPrimitiveColor(GUIDS,RED,GREEN,BLUE,ALPHA)

接口说明:

修改模型构件初始颜色

传入参数:

GUIDS:为模型构件id集合,多个模型构件用'#'分隔 ,GUID的格式为'TAG_GUID';构件id可以通过调用OnSelectionChanged(id)得到,id为当前选中的构件值;
同时也可以分析葛兰岱尔BIM轻量化引擎对模型轻量化后的db文件,来获取构件id值,db文件中id在externalId列。

RED:为红色通道颜色,取值范围0-255;

GREEN:为绿色通道颜色,取值范围0-255;

BLUE:为蓝色通道颜色,取值范围0-255;

ALPHA:默认255

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般是为了让模型展示的效果更好,或者为了表示模型的业务状态时会用到此方法

调用方式:

设置构件透明:SetPrimitiveColor('testtag1_10993#testtag1_2327',255,0,0,225);

接口重要性:

此设置会直接修改模型的加载初始颜色,在引擎正在使用当中将不可恢复,一般为了展示模型的施工进度直接批量设置模型的物理文件,来表示模型的当前进度状态,可以进行定时跑批来设置模型文件

ZoomTo(guids,value)

接口说明:

鼠标点击漫游

传入参数:

guids:为选择构件的id,格式为'TAG_GUID'。构件id可以通过调用OnSelectionChanged(id)得到,id为当前选中的构件值;

value: 来控制远近,不传的时候默认为1.0,单位是浮点型

值越大镜头越远,相反,值越小镜头越近

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般模型比较大时,可以通过此接口进行漫游定位到想要看的位置

调用方式:

漫游到指定的模型构件:ZoomTo('testtag1_10993',value);

接口重要性:

此接口一般用于模型展示和定位

ResetActor(guids)

接口说明:

恢复模型构件颜色,隐藏和透明度。一般用于对构件做了颜色,透明,隐藏等设置后,调用此接口可以恢复到模型原始状态

传入参数:

GUID:为模型构件的id,格式为'TAG_GUID'。构件id可以通过调用OnSelectionChanged(id)得到,id为当前选中的构件值;

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于对构件做了颜色,透明,隐藏等设置后,调用此接口可以恢复到模型原始状态

调用方式:

构件恢复初始状态:ResetActor('testtag1_10993');

接口重要性:

一般在对构件状态进行修改后,可以通过调用此接口恢复到初始状态

StartRectCheck(mode)

接口说明:

调用这个函数后就可以进行框选了,框选后结果会通过监听函数function OnSelectionChanged(id)返回,多个构件的时候会以#隔开,返回结果后会自动恢复为正常模式

传入参数:

mode为0时是非透过模式,1时为透过模式,一般情况下用1

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用

调用方式:

StartRectCheck(1)

接口重要性:

引擎进行框选构件的唯一接口。

CloseRectCheck()

接口说明:

调用这个函数后就可以关闭框选功能了,恢复为正常模式

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用

调用方式:

CloseRectCheck()

接口重要性:

引擎关闭框选构件功能的唯一接口。

GetPosById(guids)

接口说明:

返回构件的包围盒顶点集合,用逗号分开,分别为八个顶点和中心点。

传入参数:

guids:构件ID

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用

调用方式:

GetPosById(guids)

接口重要性:

获取构件包围盒顶点及中心点的唯一接口。

HighLightActor(guids, red, green, blue)

接口说明:

将构件标为高亮,高亮的构件永远处于渲染的最前端,别的构件挡不住,用法和SetActorColor类似。

传入参数:

guids:构件ID

red:取值 0--255

green:取值 0--255

blue:取值 0--255

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用

调用方式:

HighLightActor('testtag1_35959',255,0,0);

接口重要性:

设置构件高亮标注的唯一接口。

ClearHighLightActors()

接口说明:

清理高亮效果

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用

调用方式:

ClearHighLightActors();

接口重要性:

清理高亮标注构件的唯一接口。

AddAnchor(POS,PATH,WIDTH,HEIGHT,TAG,bFront)

接口说明:

模型添加标签

传入参数:

POS:为标签添加的坐标位置,一般设置坐标拾取模式,通过监听接口OnClickPosition(position)的position字符串,来获取模型坐标位置。

PATH:为标签图片的路径;用户预先设置标签图标

WIDTH:为图片宽度;

HEIGHT:为图片高度;

TAG:为图片标签的唯一值

bFront:如果为true则标签别的模型挡不住,默认为false
添加参数bFront,如果为true则标签别的模型挡不住,默认为false(其他的面可以挡住它)

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于在模型中标记指定位置的相关业务时调用

调用方式:

此接口只能在模式操作下使用,方式为:坐标拾取模式下使用,一般先设置模型操作模式为坐标拾取模式:SetClickMode(1);

通过监听坐标拾取接口 function OnClickPosition(position)
{
//clickpos鼠标点击三维坐标点,如:'2284.2802047232017,-7710.343872497085,2869.5842327985724,0.13675213675213688,0,0.7599067599067602'
var clickpos = position;
}获取模型当前位置坐标

调用接口AddAnchor(clickpos, 'texture/anquan.png', 1.0, 2.0, 'test_anchor2',bFront);给指定坐标位置添加标签。

接口重要性:

给指定坐标位置添加标签

RemoveAnchor(TAG)

接口说明:

移除模型标签

传入参数:

TAG:为模型标签的唯一值

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于移除模型中标签

调用方式:

移除标签:RemoveAnchor('test_anchor2');

接口重要性:

移除模型中添加的标签

SetAnchorSize(tag,width,height)

接口说明:

修改标签尺寸

传入参数:

TAG:为模型标签的唯一值

width:宽比例 默认1.0

height:高比例 默认1.0

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于改变所添加标签的大小

调用方式:

SetAnchorSize('testtag1',1.0,1.0);

接口重要性:

改变标签大小

ShowAnchor(TAG,VISIBLE)

接口说明:

设置模型标签显示和隐藏

传入参数:

TAG:为添加标签的唯一值;

VISIBLE:是否显示;TRUE为可见,FALSE为不可见

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于控制模型中标签的显示和隐藏

调用方式:

设置标签隐藏ShowAnchor('test_anchor2', false);

设置标签显示ShowAnchor('test_anchor2', true);

接口重要性:

控制模型标签的显示和隐藏

OnAnchorClick(TAG)

接口说明:

标签点击事件的回调函数

传入参数:

无,tag为输出参数

返回:0:设置成功 其它:设置失败。

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后,在添加标签鼠标点击后通过该接口将监听到的标签ID返回给前台

调用方式:

function OnAnchorClick(tag) {
console.log(tag);
};

接口重要性:

此接口是监控模型点击标签事件的唯一方法

GetCamera()

接口说明:

获取场景模型当前视点

传入参数:

返回:模型当前位置的视点坐标。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于自定义模型的展示视点,主要用于模型演示或演讲时使用

调用方式:

var cameraPos = GetCamera();

接口重要性:

主要用于设置模型视点值的获取方法,和设置模型视点一起使用SetCamera(cameraPos);

SetCamera(POS)

接口说明:

设置模型视点

传入参数:

POS:为设置的模型视点的值;一般通过GetCamera()获取

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于自定义模型的展示视点,主要用于模型演示或演讲时使用

调用方式:

var cameraPos = GetCamera();

接口重要性:

主要用于设置模型视点,和获取模型视点一起使用GetCamera(cameraPos);

GetCameraDistance()

接口说明:

获取相机与场景中心距离

传入参数:

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于获取相机视点与场景中心距离

接口重要性:

主要用于设置获取相机与场景中心距离;

FlyAnimation(POSARRAY,TIME)

接口说明:

模型自动漫游

传入参数:

POSARRAY:为视点字符串的数组,通过GetCamera()获取;

TIME:为漫游总时间,单位毫秒

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,通过获取模型视点,设置好漫游轨迹点后,进行调用此接口

调用方式:

var aniArray = [];
aniArray.push('2284.2802047232017,-7710.343872497085,2869.5842327985724,0.13675213675213688,0,0.7599067599067602');
aniArray.push('2193.9764338684995,-16078.252494977327,2055.2232001358866,0.13675213675213688,0,0.7599067599067602');
FlyAnimation(aniArray, 2000);

接口重要性:

此接口主要用于展示模型,根据预先设置的轨迹模型自动漫游

PlateClip(TYPE, VALUE)

接口说明:

裁剪

传入参数:

TYPE:为裁剪的类型,类型分为'X-MIN','X-MAX','Y-MIN','Y-MAX','Z-MIN','Z-MAX';

VALUE:为裁剪的程度,值为0.0-1.0

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,通过裁剪来查看模型切面的组成

调用方式:

X轴裁剪:PlateClip('x-min', clippercent);从小到大,PlateClip('x-max', clippercent);从大到小

Y轴裁剪:PlateClip('y-min', clippercent);从小到大,PlateClip('y-max', clippercent);从大到小

Z轴裁剪:PlateClip('z-min', clippercent);从小到大,PlateClip('z-max', clippercent);从大到小

接口重要性:

此接口主要用于展示模型内部结构使用

ResetClip()

接口说明:

取消裁剪

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式:否

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,取消模型裁剪后需要调用此接口。

调用方式:

ResetClip()

接口重要性:

此接口主要用于裁剪状态进行恢复,如果要对模型进行其它操作,一定要将裁剪状态进行恢复,否则模型其它操作会受到影响

ShowAxis()

接口说明:

隐藏显示坐标系

传入参数:

true 或 false

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,隐藏坐标系。

调用方式:

默认是显示坐标轴

ShowAxis(true);显示坐标轴;

ShowAxis(false);不显示坐标轴;

接口重要性:

此接口是GlendaleEngine隐藏坐标轴的唯一调用接口

SetBackGroundColor(RED,GREEN,BLUE,VALUE)

接口说明:

设置背景颜色

传入参数:

RED:为红色通道颜色,取值范围0-255;

GREEN:为绿色通道颜色,取值范围0-255;

BLUE:为蓝色通道颜色,取值范围0-255

VALUE:背景图片透明值(png格式),取值范围0-1

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后调用

调用方式:

SetBackGroundColor(255, 255, 255,0);

接口重要性:

此接口主要用于设置葛兰岱尔BIM轻量化引擎场景的背景颜色

SetBackGroundImg(PATH)

接口说明:

设置背景图片

传入参数:

PATH:为背景图片的路径,用户自定义图片

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成后调用

调用方式:

SetBackGroundImg('texture/sky.jpg');

接口重要性:

此接口主要用于设置葛兰岱尔BIM轻量化引擎场景的背景图片

RemoveBackGroundImg()

接口说明:

移除背景图片

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,用户设置场景背景图后调用,此接口与设置背景图片配套使用SetBackGroundImg(PATH)

调用方式:

RemoveBackGroundImg();

接口重要性:

此接口主要用于移除设置葛兰岱尔BIM轻量化引擎场景的背景图片

SaveImage()

接口说明:

将场景模型保存为图片

传入参数:

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,根据场景中模型当前视点进行保存图片

调用方式:

SaveImage();

接口重要性:

此接口主要用于编写相关资料提供BIM模型素材。

GetImage()

接口说明:

将场景保存为缩略图

传入参数:

返回:图片的BASE64字符串

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载完成后调用,一般用于展示模型的封面或配合模型视点一起使用

调用方式:

GetImage()

接口重要性:

此接口主要BIM模型封面展示,或视点说明时使用。

OnLoadModelProcess(value)

接口说明:

监听到当前的加载进度

传入参数:

无,value为输出参数

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载中返回value值给前台显示进度。

value取值范围:0.0~1.0

调用方式:

function OnLoadModelProcess(value) {
//console.log(value);
}

接口重要性:

此接口是监听当前加载进度的唯一方法

OnLoadModelEnd(tag)

接口说明:

模型加载完成监控回调函数

传入参数:

无,tag为输出参数

返回:0:设置成功 其它:设置失败。

兼容性:

是否支持Lod模式: 是

何时调用:

在葛兰岱尔BIM轻量化引擎初始化完成,模型加载后监控模型是否加载完成。
如果是多模型加载,一个模型调用Addmodel后第二个模型必须在第一个模型加载完成后在OnLoadModelEnd事件中加载第二个模型,否则模型不会加载第二个模型。

调用方式:

function OnLoadModelEnd(tag) {
//tag为加载完成模型的标识
//后续模型的加载,或其他业务接口的设置,模型透明,构件设置颜色等。
}

接口重要性:

此接口是监控模型加载完成的唯一方法,所有模型的操作必须在模型加载完成后才生效

OnClickBlank()

接口说明:

点击空白处的回调函数

传入参数:

兼容性:

是否支持Lod模式: 是

何时调用:

一般在鼠标事件完成后,需要释放时,调用此接口,比如选择模型中构件,想取消构件选择状态,可以直接在此接口中进行设置。

调用方式:

function OnClickBlank(){
//相关业务的处理
}

接口重要性:

此接口是监控鼠标点击空白处的事件,一般更具开发业务需要进行调用