模模搭API2.0已全新升级为ThingJS开发平台,免插件,更方便!

立即体验

概述

模模搭API是嵌入在模模搭系统内部的、可动态执行的类Javascript脚本,它提供了对模模搭场景内对象、界面行为和效果的控制,可实现特定第三方行业应用,诸如仓储管理、预案演练、档案管理、智能大厦等。

模模搭API具有数据交互能力。通过数据接口,第三方行业应用驱动特定3D场景各类信息动态变化,满足实时状态可视化展示的要求

概念说明

基本概念:模型和场景

在模搭体系中有2个重要的概念:模型和场景。

1 模型

模型是物体的多边形表示,3D模型表达的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用3D模型表示。

模搭系统中的“模型”和一般3D模型概念完全一致。模模搭系统中的3D模型都可以像积木一样放到一个场景中,组合出一个现实的生活场景。

模搭提供官方的3D模型库,其中公开免费模型库中的模型可供使用者在搭建过程中免费使用;模搭也可(有偿)提供各类行业模型库,方便用户完成各类更专业的行业应用场景搭建;模模搭还提供了一个3DSMax模型上传插件,用户可使用该插件自行上传自己需要增补的3D模型。理论上模搭模型库提供了无限模型扩展可能。

2 场景

场景是模搭的基本概念。使用者在模搭中通过组合、摆放模搭模型库中的模型,可像搭积木一样搭建完成任意现实生活场景,可以是一个园区、一个工厂车间、一个港口码头或其它任意模3D模型组合,上述搭建成的每个场景我们称之为一个“模搭场景”。

每个模搭场景都可保存在模模搭云平台上,并可在模搭平台随时打开编辑、预览或通过API进行二次开发。模搭场景在一定限制条件下(有偿),也可从模模搭云平台下载本地,并可导入到“模搭离线部署版”中预览、使用。

模型库内容:模型、贴图与功能

在搭建系统的右侧列表中,用户可以使用3种常见的物体:模型、贴图与功能。

1 模型

一般常见的物体如建筑、车辆、人物、桌子等;支持用户上传。

2 贴图

覆于普通模型表面的平面材质图;支持用户上传。

3 功能

动态效果如火、雨、闪电;辅助功能如画线、画水管、写文字等;目前不支持用户上传。

场景层级:室外、建筑、楼层、房间

在模模搭体系中有4个层级:室外、建筑、楼层、房间。

1 室外

视野范围最大的层级:

2 建筑

不含外立面的建筑层级:

3 楼层

楼层层级:

4 房间

房间层级:

API脚本调试

模模搭API可以在线调试和保存代码,开发者进入调试页面以后,可发现调试页面分为脚本编辑窗口和可视化场景窗口两部分。在场景区域的左下方输入场景ID后点击“场景预览”按钮载入场景,可开始调试API脚本。开发者也可以在输入场景ID后点击“场景编辑”按钮,对场景进行编辑和保存。

调试页面地址:在线调试

API脚本应用

脚本调试完成后,可在调试环境中点击页面下方的“代码部署”按钮,代码部署成功后预览模式打开场景即可实现脚本应用。

也可将脚本内容粘贴到“我的作品”对应场景的“配置场景”弹出框里来实现。

代码配置:我的作品

调试页面快捷键

调试页面可以支持快捷键操作,目前具有如下快捷键:

Ctrl+Enter:执行脚本

Ctrl+R:重置场景

Ctrl+S:保存场景

Ctrl+/ :代码/注释文本切换

API

模模搭API2.0目前提供如下17个API类 :

camera

用于管理场景内的摄像机对象

object

用于管理场景内的物体对象

gui

用于管理场景内的图形界面对象

ugui

用于管理场景内的高级图形界面对象

BaseObject

用于对场景内已存在物体进行具体操作

ScriptObject

用于对场景内已存在物体添加脚本

util

一般的常用方法

input

用于判定键盘鼠标的输入状态

selector

用于选取场景内对象

fps

用于管理场景内第一人称行走

level

用于管理场景内层级对象

console

用于管理控制台

array

用于管理数组数据类型

string

用于对字符串进行计算处理

table

用于管理表数据类型

server

用于与服务端进行数据交互

临时函数

并非模搭规范化函数,但仍可用于模API开发

查看明细:API说明

 

主要功能

API脚本目前可以提供如下功能:

 

常见Q&A

1、模模搭脚本语法与JavaScript语法是一致的吗?

模模搭脚本是嵌入在模模搭系统内的、类似Javascript语言脚本,并不完全一致,由于是内部脚本,所以没有documentwindow等这样浏览器上才有的对象。

2、模模搭脚本调试界面如何载入已经搭建好的场景?

模模搭脚本可以用在线编辑器开发,在场景区域的左下方输入场景ID后点击“场景预览”按钮载入场景。

3、如何将调试好的脚本加入场景中?

在模模搭【我的作品】中找到对应场景,在【配置场景】中填入调试好的脚本代码。如下:

4、为什么我创建的物体不能执行动画?

物体动画是在建模阶段内置于物体的,建模时如果没有添加动画则该物体无动画。

5、为什么我在使用调试界面时会遇到插件无响应?

模模搭调试界面需要加载3D插件,同时开多个3D页面会影响性能,并容易造成插件崩溃。建议同时开启页面数量不大于3个。

6、为什么我对物体添加的点击事件并不能执行?

在搭建场景的过程中,需要勾选物体属性“预览时可选”,这样在预览状态时物体才可以被选中,进而执行事件对应的代码。

更新日志

  • 2018-06-28:新增函数

    1、增加【API类参考-临时函数-系统类】时间轴函数;
    2、增加【API类参考-临时函数-系统类】室内灯光函数;

  • 2018-01-02:新增API使用专题

    1、新增【API说明-API使用专题-API中特殊对象】内容;

  • 2017-12-06:新增API使用专题

    1、示例代码支持按钮复制;
    2、新增【API说明-API使用专题-鼠标框选物体】内容;

  • 2017-11-28:更新/新增API使用专题

    1、更新【API说明-API使用专题-API代码使用方法】内容;
    2、新增【API说明-API使用专题-监控摄像头使用】内容;

  • 2017-11-09:新增函数/API使用专题

    1、增加【API类参考-临时函数】1个;
    2、增加【API说明-API使用专题-模模搭鹰眼图使用】内容;
    3、增加【API说明-API使用专题-模模搭云图使用】内容;
    4、函数扩充至212个;

  • 2017-10-25:新增函数/API使用专题

    1、增加【API类参考-userInfo属性函数】2个;
    2、增加【API说明-API使用专题-数据源识别码使用】内容;
    3、函数扩充至211个;

  • 2017-10-18:新增函数

    1、增加【BaseObject属性函数】2个
    2、增加【临时函数-系统类】函数2个;
    3、函数扩充至209个;

  • 2017-9-27:新增函数

    1、增加【API说明-API使用专题-数据推送工具】内容;
    2、增加【临时函数-对象操作类】函数1个;
    3、函数扩充至205个;

  • 2017-9-21:修订文档

    1、修订API数据接口文档,增加在线调试内容;

  • 2017-9-15:新增API使用专题

    1、增加【API说明-API使用专题-自定义图片路径】内容;

  • 2017-9-13:新增函数

    1、增加BaseObject方法函数2个;
    2、函数扩充至204个;

  • 2017-9-1:新增函数

    1、增加BaseObject属性函数1个;
    2、增加临时函数3个;
    3、函数扩充至202个;
    4、API说明页面增加API使用专题内容;
    5、专题内容包括API代码使用方法、模模搭面板介绍

  • 2017-8-25:新增函数

    1、增加util方法函数1个;函数扩充至198个;
    2、更新API说明页面,改进导航栏

  • 2017-8-10:新增函数

    1、增加ugui方法函数1个;
    2、更新util方法函数1个;
    3、函数扩充至197个

  • 2017-8-8:页面样式改进

    1、“API说明”页面代码浏览样式变更;

  • 2017-8-4:新增函数

    1、增加camera方法函数1个;
    2、增加ugui方法函数2个;
    3、增加util方法函数1个;
    4、函数扩充至196个

  • 2017-8-1:新增函数

    1、增加camera属性函数2个;
    2、函数扩充至192个

  • 2017-7-31:新增函数

    1、增加selector方法函数2个;
    2、增加selector属性函数1个;
    3、函数扩充至190个

  • 2017-7-28:新增函数

    1、更新object.findByProperty函数;
    2、更新ugui.destroy示例;
    3、新增BaseObject属性函数1个;
    4、新增临时函数2个;
    5、函数扩充至187个

  • 2017-7-26:新增函数

    1、增加array类;
    2、增加array方法函数12个;
    3、函数扩充至184个

  • 2017-7-25:新增函数

    1、更新临时函数分类
    2、增加临时函数8个;
    3、更新ugui方法函数示例1个;
    4、增加table类;
    5、增加table方法函数6个;
    6、函数扩充至172个

  • 2017-7-24:新增函数

    1、增加BaseObject方法函数3个;
    2、增加BaseObject属性函数2个;
    3、增加selector类;
    4、增加selector方法函数2个、属性函数1个;
    5、增加函数分类索引表;
    6、函数扩充至158个

  • 2017-7-21:新增函数

    1、增加临时方法函数13个;
    2、util方法函数1个;
    3、BaseObject方法函数1个;
    4、BaseObject属性函数1个;
    5、函数扩充至150个;

  • 2017-7-20:新增函数

    1、增加gui方法函数3个;
    2、camera属性函数1个;
    3、增加server类;
    4、增加server方法函数3个;
    5、函数扩充至134个;

  • 2017-7-19:新增函数

    1、增加string类;
    2、增加string方法函数14个;
    3、函数扩充至127个

  • 2017-7-17:新增函数

    1、增加camera属性函数7个;
    2、增加ugui方法函数12个;
    3、增加BaseObject属性函数4个;
    4、增加fps方法函数3个、事件函数2个;
    5、增加level方法函数3个;
    6、函数扩充至113个

  • 2017-6-23:新增函数

    1、增加object.findByProperty等函数7个;函数扩充至82个;
    2、函数对应参数增加至111个;

  • 2017-5-19:新增函数

    1、增加BaseObject.getProperty等函数3个;函数扩充至75个;
    2、函数对应参数增加至102个;

  • 2017-4-28:模模搭API2.0英文文档发布

    1、海外用户可以通过本页右上角的链接访问英文API文档

  • 2017-4-1:API2.0开放平台正式发布

    1、共发布API2.0函数72个;
    2、函数对应参数99个;
    3、离线部署版支持初始化数据接口、实时监控数据接口;
    4、数据接口支持内部API脚本调用,开发者可保存自定义的场景配置;
    5、修复了一个API脚本调用数据接口的BUG。

  • 过去