stl3d

3.11.919 • Public • Published

1 npm 包使用说明

注意:1.stl 模型正中心位于原点 2.导出以 m 为单位,坐标系 前进方向需调整为型材 L 方向

1.1 页面需要 div,如下

1.2 安装 npm 包

npm i stl3d

1.3 使用包 初始化 3d 场景

import * as tool from 'stl3d';

tool.stlTool.StlScene.SetGlobalParameter({enableUI:true}) //true-启用内置 ui false-关闭内置 ui 当 web 已经做好交互后,设置成 false 即可

let threeScene = new tool.stlTool.StlScene();

threeScene.Init();

threeScene.DoLoadSTL(); //加载测试模型

1.4 stl 数据结构

class StlModel { name?: string; //名字
width?: number; //宽度 单位 m height?: number; //高度 单位 m depth?: number; //深度 单位 m url?: string; //文件路径 center?:{x:float, y:float, z:float}; //中心点坐标 holes: Array; //空位信息 }

1.5 监听事件

tool.stlTool.EventBus.Event.on('click_face', value => { console.log('click_face receive', value); });

1.点击面事件 click_face 参数 { face: string } face:a/b/c/d/l/r

2.点击锁定按钮事件 lock_face 参数 { status: boolean }

3.锁定面情况下,每个 1s 发送坐标/最大/最小值 参数 { pos: {x:number,y:number}, min: {x:number,y:number}, max: {x:number,y:number} } pos:坐标 min:最小 xy 值 max:最大 xy 值 单位 m

4.吸附状态 事件名 attach 参数{ x: boolean, y: boolean };

1.6 其他 api

1.ChangeCameraMode(value:number) 切换相机模式
参数: value 0-透视 1-直视

2.ChangeCameraPos(value:string) 切换相机位置,左手坐标系 前-z 后+z 左-x 右+x 上+y 下-y 参数: 组合方式 (Left/Center/Right) + (Top/Center/Bottom) + (Front/Center/Back)   如左上前:'LeftTopFront' LRABCD 面参数分布如下: L:'CenterCenterFront' R:'CenterCenterBack' A:'CenterBottomCenter' B:'LeftCenterCenter' C:'CenterTopCenter' D:'RightCenterCenter'

3.ChangeCameraDraw(type?: number) 切换模型显示模式 参数:0-颜色+线框  1-颜色  2-线框

4.ChangeColor() 切换模型颜色(黑色和白色互切)

5.DoSetAxis(value:boolean) 控制全局坐标系是否显示

6.SetGlobalParameter(option?: {  enableMark: false,enableEdgesRendering?: boolean; enableUI?: boolean,enableAxis: boolean }) StlScene 的静态方法,设置全局参数,在 new 对象前面设置 enableMark:设置是否默认显示标注 默认值 false enableEdgesRendering:是否显示描边 默认值 false enableUI:是否显示内置 ui 默认值 false enableAxis:是否现在轴 默认 flase

7.DoMark(face: string, value: boolean) 控制 abcdlr 面标注显示 face: 面,取值 a b c d l r 大小写不敏感 vale:是否显示 补充说明:1.切换面时候会自动关闭之前打开的面标注,最多只允许一个面显示在界面中 2.设置 d 面显示,是切换相机,然后加载 d 面的标尺数据 此时在 d 面隐藏,只是关闭 d 面标尺数据,不会重置当前视角

8.DoLoading() 显示加载状态

9.DoSetBomInfo(value:boolean) 显示隐藏 bom 信息提示

10.threeScene.DoLoadSTL(StlModel); 加载 stl 数据

11.threeScene.DoCleanSTL(); 清除 stl 数据

12.threeScene.DoSetParam(info?: { stepAccuracy?: number }) ; 设置参数 stepAccuracy 是步长参数 0.1 0.01 0.005 0.001

13.threeScene.DoSetCenterPosition(x = 0, y = 0); 设置中心点坐标

14.threeScene.DoLoadSTLString(json?: string) 加载 stl json

15.threeScene.threeDMgr.ResetCamera(stl:StlModel) 调整相机到 L 视角,第一次传入 stl 调用此方法,如果 stl 模型类型或者长度发生改变需要再次调用,单纯打孔操作则不需要调用

16.tool.stlTool.StlScene.SetGlobalParameter(option?: { debugShowInfo?: boolean; enableMark?: boolean; enableAxis?: boolean; LRSize?: number; SideSize?: number; isIos?: boolean }) 设置全局参数

debugShowInfo:debug 模式 默认 false enableAxis:是否开启坐标系 默认 false LRSize: lr 大小 默认 4 SideSize:边大小 默认 1.15 isIos:是否是苹果设备 默认 false

17.threeScene.DoCleanLock() 清楚锁定场景 ui

18.threeScene.DoClean() 清楚所有,DoCleanLock + DoCleanSTL

19.threeScene.DoSetLWF(l, w, f) 设置 lwf 的值

6.SetClearColor(r?: number, g?: number, b?: number) StlScene 的静态方法,设置全局参数,在 new 对象前面设置 下面范围 0-1,不传默认为现有颜色 r 默认值: 26 / 255 g 默认值: 30 / 255 b 默认值: 34 / 255

Readme

Keywords

none

Package Sidebar

Install

npm i stl3d

Weekly Downloads

4

Version

3.11.919

License

ISC

Unpacked Size

4.18 MB

Total Files

3

Last publish

Collaborators

  • venture713