import { Object3D, Vector3 } from "three"; import { DrawDimension, Viewer, createTemplateBoard } from "."; export const XAxis = new Vector3(1, 0, 0); export const XAxisN = new Vector3(-1, 0, 0); export const YAxis = new Vector3(0, 1, 0); export const YAxisN = new Vector3(0, -1, 0); export const ZAxis = new Vector3(0, 0, 1); export const ZAxisN = new Vector3(0, 0, -1); function dispose(m: Object3D) { //@ts-ignore if (m.geometry) //@ts-ignore m.geometry.dispose(); m.children.forEach(o => dispose(o)); } export function LoadBoard(view: Viewer, data: any[], clear: boolean = true) { if (clear) { dispose(view.m_Scene); view.m_Scene.children.length = 0; } if (data.length === 0) return; //加板 let { meshs, edgesa, relations } = createTemplateBoard(data, view._Settings.boardMaterial); //加标注 let dims = DrawDimension(meshs); view.m_Scene.add(...meshs); view.m_Scene.add(...edgesa); view.m_Scene.add(...dims); view.ViewToSwiso(); view.ZoomAll(); view.Zoom(1.1); return relations; }