CADViewComponent/src/Utils.ts

46 lines
1.1 KiB
TypeScript
Raw Normal View History

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);
2018-07-02 12:07:16 +08:00
function dispose(m: Object3D)
{
2018-07-02 12:07:16 +08:00
//@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)
{
2018-07-02 12:07:16 +08:00
dispose(view.m_Scene);
view.m_Scene.children.length = 0;
}
2018-07-02 12:07:16 +08:00
if (data.length === 0) return;
//加板
2021-03-03 15:07:59 +08:00
let { meshs, edgesa, relations } = createTemplateBoard(data, view._Settings.boardMaterial);
2020-04-01 14:15:29 +08:00
//加标注
2018-05-25 11:09:15 +08:00
let dims = DrawDimension(meshs);
2018-05-25 11:09:15 +08:00
view.m_Scene.add(...meshs);
view.m_Scene.add(...edgesa);
view.m_Scene.add(...dims);
view.ViewToSwiso();
view.ZoomAll();
view.Zoom(1.1);
2020-04-02 17:24:43 +08:00
return relations;
}