# 项目说明
基本BIMFACE的功能封装工具库，主要为了解决BIMFACE执行流程的代码赘余，集成常见的基础功能，包含构件绘色、构件定位、模型缩放等等，最大化提高BIMFACE的开发效率
# 基于BIMFACE的底层API封装

Author: 曾维立
Date: 2022-03-19

## 起步

Rollup: https://www.rollupjs.com/
Rollup Vue.js工具库生成架构: https://github.com/team-innovation/vue-sfc-rollup
Echarts: https://github.com/apache/echarts
# 一、基本开发环境搭建

## 1.1. 安装 nodejs 最新稳定版本

https://nodejs.org

## 1.2. 设置 npm 镜像为淘宝仓库以加速。执行命令：

	npm config set registry https://registry.npm.taobao.org
	npm config set disturl https://npm.taobao.org/dist

## 1.3. 安装 环境主要依赖插件

进入项目的根目录，执行命令：

cnpm install 或 npm i

# 二、本地开发

代码封装参照Echarts源码设计，主体类采用单例模式，方法设计符合接口隔离、单一原则等规范，主类只提供躯干，
以API封装方法为枝叶组合而成，其中包含种子函数、种子功能等等，具体详情请查看代码.

安装完依赖后，npm run serve 启动项目

# 三、构建打包

在根目录执行打包命令：
 
  npm run build

打包配置在rollup.config.js里面，如需要其它打包规则，可自行修改

打包文件输出在dist文件夹，如需手动引用只需要把dist目录的静态文件发给前端同事即可

# 四、主要目录结构及解析



## 目录结构

```sh

├── dev                                    Vue环境测试目录
├── dist                                   打包输出目录
├── jssdk                                  BIMFACE离线包
├── src                                    项目主目录
│   ├── artifacts                          构件基础功能
│   │   ├── artifacts.ts
│   │   └── index.ts
│   ├── core                               主体代码
│   │   ├── bim.ts                         工具主类
│   │   ├── index.ts                       导出入口
│   │   ├── local.ts                       能力检测
│   │   ├── type_checking.ts               辅助函数
│   │   └── type.ts                        辅助类型定义
│   ├── model                              模型操作功能
│   │   ├── model.ts
│   │   └── index.ts
│   ├── typings                            BIMFACE API声明
│   │   └── Glodon                         全局主对象
│   │       ├── Bimface                    主API方法
│   │       ├── Web                        Web3D
│   │       ├── Bim.d.ts                   BIMFACE主类声明
│   │       └── BimfaceSDKLoader.d.ts      BIMFACE加载参数声明
├── index.ts                               主入口
├── rollup.config.js                       rollup环境配置

```
