CADViewComponent/src/Utils.ts
2020-04-03 10:17:02 +08:00

39 lines
820 B
TypeScript

import { Object3D, Mesh } from "three";
import { createTemplateBoard, DrawDimension, Viewer, selectMaterial } from ".";
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);
//加标注
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;
}